Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Joshua Project API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fjoshuaproject.net%2Fjoshuaproject" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fjoshuaproject.net%2Fjoshuaproject" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Joshua Project API.
List the world's continents with their associated people group totals
Query countries with filters by region, religion, or population range
Look up languages spoken globally and their associated people groups
Retrieve people groups within a specific country or across countries
Fetch the day's featured unreached people group for prayer or research
GET STARTED
Pull global totals across people groups, populations, and progress indicators
Patterns agents use Joshua Project API for, with concrete tasks.
★ Daily prayer or focus app
Apps that surface a single people group each day for prayer or research can call the daily-unreached endpoint and render the response. GET /people_groups/daily_unreached.json returns a curated entry with population, language, religion, and progress data - enough to power a card UI without further calls. This replaces hand-curated daily content with a reliable feed maintained by Joshua Project.
Call GET /people_groups/daily_unreached.json each morning, render the response into a daily prayer card, and email or push it to subscribers
Missions research and country pages
Educational and missions agency websites need consistent country and people-group profiles. The API provides GET /countries.json with rich filters (region, population, religion) and GET /people_groups.json scoped to a country. A small static site generator can build a country index and per-people-group pages from these two endpoints in a single nightly job.
Call GET /countries.json filtered by ROG3='IN', then GET /people_groups.json for each, and render per-country pages in the static site
Cross-country language analysis
Researchers studying language families and migration patterns can use GET /people_groups_across_countries.json to find the same ethnolinguistic group across borders. Combined with GET /languages.json, this supports queries like 'where is the Tamil-speaking population concentrated outside India'. The aggregated view avoids stitching country-level data manually.
Call GET /people_groups_across_countries.json with peo3 code for Tamil to retrieve every country containing the group, then aggregate populations
Agent-driven research via Jentic
A research assistant agent can call Joshua Project through Jentic to answer demographic questions inline. The user asks 'how many unreached people groups are in Indonesia?', Jentic resolves to GET /people_groups.json with country=ID and an unreached filter, injects the api_key parameter, and returns the count. The api_key never enters the agent's prompt.
Use Jentic to search 'list Joshua Project people groups in Indonesia', load GET /people_groups.json, and execute with country=ID
8 endpoints — joshua project is a research initiative tracking ethnic people groups around the world, with a particular focus on those least reached by christian missions.
METHOD
PATH
DESCRIPTION
/continents.json
List continents
/countries.json
List countries
/languages.json
List languages
/people_groups.json
List people groups in countries
/people_groups_across_countries.json
List people groups across countries
/people_groups/daily_unreached.json
Daily unreached people group
/regions.json
List regions
/totals.json
Global totals
/continents.json
List continents
/countries.json
List countries
/languages.json
List languages
/people_groups.json
List people groups in countries
/people_groups_across_countries.json
List people groups across countries
/people_groups/daily_unreached.json
Daily unreached people group
/regions.json
List regions
/totals.json
Global totals
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Joshua Project API by hand means learning its api_key query parameter, choosing the right demographic resource among people groups, countries, languages, and regions, and parsing each JSON response yourself. Through Jentic you install once, import the Joshua Project API from the API Directory, store the key once, and your agent calls it.
Permission scoping
This API is read-only and addresses each dataset by resource path rather than a caller-supplied id, so you limit the agent to the operations it needs, such as querying people groups or listing countries. There is no write surface, so the agent can read demographic data and nothing more.
Credential isolation
Your Joshua Project api_key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'find unreached people groups' or 'list countries', and Jentic returns the matching Joshua Project operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Joshua Project API through Jentic.
What authentication does the Joshua Project API use?
The Joshua Project API uses an API key passed as the api_key query parameter on every request. Jentic stores the key encrypted in the vault and appends it at execution time, so the credential never enters the agent's prompt or chat transcript.
Can I get a single 'people group of the day' from this API?
Yes. GET /people_groups/daily_unreached.json returns the day's featured unreached people group with population, language, religion, and progress fields - enough to power a prayer card or daily research email without follow-up calls.
What are the rate limits for the Joshua Project API?
The spec does not publish numeric rate limits. The API is intended for non-commercial research and missions use; treat it as low-volume and cache responses where possible. Contact Joshua Project directly for higher-throughput agreements.
How do I query Joshua Project through Jentic?
Search Jentic for 'list Joshua Project people groups', load GET /people_groups.json, and execute with country or language filters. Jentic injects the api_key and returns the JSON list. Get started with Jentic One, the self-hosted execution layer.
Is the Joshua Project data free to use?
API access is free for non-commercial missions and research use after registering for an API key on joshuaproject.net. Commercial republishing requires permission from Joshua Project.
How do I find a people group across multiple countries?
Use GET /people_groups_across_countries.json with the people group's identifier (peo3 code) - the response groups country-level entries for the same ethnolinguistic group, which is the right shape for diaspora analysis.
Can I limit what my agent is allowed to do with the Joshua Project API?
Yes. Because you run Jentic One yourself, your own rules decide which Joshua Project operations and credentials the agent may use, so you can allow just the ones it needs, such as GET /people_groups.json or GET /countries.json, and withhold the rest. The API is entirely read-only and addresses each dataset by resource path rather than a caller-supplied id, so a scoped agent can read demographic data and nothing more. There is no write surface to expose.
For Agents
Query Joshua Project's catalogue of people groups, countries, languages, regions, and continents, including a daily unreached people group feed and global totals, for missions research and demographic analysis.
Use for: I need to fetch the unreached people group of the day, List all countries in the South Asia region from the Joshua Project dataset, Get the people groups for the country code 'IN', Retrieve global totals for unreached people groups
Not supported: Does not handle prayer-app subscriptions, donation processing, or church directory lookups - use for people group, country, language, and region demographic queries only.
Joshua Project is a research initiative tracking ethnic people groups around the world, with a particular focus on those least reached by Christian missions. The API surfaces structured data on continents, countries, languages, regions, and people groups - including a daily-unreached people group feed and global totals. It is the right tool for missions agencies, research apps, and educational projects that need clean, queryable demographic data on global people groups.