Overview
The Joshua Project API offers a structured interface to a database focused on unreached people groups globally. Established in 1995, Joshua Project collects and categorizes information pertinent to populations with limited access to Christian resources, defining an "unreached people group" as a people group among whom there is no indigenous community of believing Christians with adequate numbers and resources to evangelize this people group without outside assistance. The API enables developers to retrieve detailed profiles for over 17,000 distinct people groups, along with associated country, language, and geographic data.
This API is primarily utilized by missionary organizations for strategic planning, resource allocation, and field operations. It provides data points such as population estimates, primary languages, religious affiliations, and geographic locations, which can inform targeted outreach efforts. Academic researchers also leverage the API for demographic analysis and studies related to global religious trends and population dynamics. Humanitarian aid organizations may use the data to understand the cultural and linguistic landscape of specific regions, aiding in the planning and delivery of services to vulnerable populations.
Developer experience notes indicate that while the API provides access to extensive data, its documentation is directed more toward data access and less toward advanced developer tooling or complex integration patterns. Users seeking to integrate this data into custom dashboards, mapping applications, or analytical platforms can utilize the API to fetch specific datasets. For instance, developers can query for all unreached people groups within a particular country or retrieve detailed information for a specific people group ID. The API is designed for straightforward data retrieval, supporting applications that require current and granular information on global demographics relevant to its core mission.
The data provided by the Joshua Project API can be integrated into various applications, from internal mission management systems to public-facing educational tools. For example, a mapping application could overlay unreached people group locations with existing infrastructure or socioeconomic indicators to identify areas of need. The API's utility extends to organizations that require detailed, religion-specific demographic data for strategic decision-making, ensuring that efforts are directed towards populations identified as unreached according to the Joshua Project criteria. Access to the API is generally free for non-commercial use, with commercial licensing available upon request, allowing a range of organizations to benefit from its specialized datasets.
Key features
- Unreached People Group Data: Access detailed profiles for over 17,000 unreached people groups, including population estimates, religious affiliations, and status regarding Christian presence.
- Country Profiles: Retrieve demographic and religious data for specific countries, providing context for the people groups residing within them.
- Language Data: Obtain information on primary languages spoken by various people groups, including ISO codes and speaker counts, crucial for communication planning.
- Geographic Data: Access geographic coordinates and region assignments for people groups, enabling mapping and location-based analysis.
- Data Updates: The API provides access to frequently updated data, reflecting changes in population statistics and research findings.
- Free Non-Commercial Access: Offers a free tier with rate limits for non-commercial use, supporting academic and missionary endeavors without direct cost.
Pricing
As of 2026-05-28, the Joshua Project API offers the following pricing structure:
| Tier | Description | Cost | Usage Limits |
|---|---|---|---|
| Non-Commercial Use | Access for individuals and organizations engaged in non-profit, missionary, or academic research. | Free | Subject to rate limits (specifics available upon API key request). |
| Commercial Licensing | For businesses and organizations using the data for commercial purposes. | Contact for Quote | Custom terms and usage limits. |
For detailed terms and to apply for an API key, refer to the Joshua Project API help page.
Common integrations
The Joshua Project API is primarily integrated into custom applications and analytical tools designed for specific organizational needs. While there are no direct, pre-built integrations with commercial platforms, developers commonly integrate the data into:
- Geographic Information Systems (GIS): To visualize unreached people group locations and demographic data on maps, often using platforms like ArcGIS or open-source alternatives. For instance, developers can use the ArcGIS REST API to create custom mapping solutions that incorporate Joshua Project data.
- Custom Database Applications: For internal management of missionary activities, tracking progress, and managing field resources.
- Data Visualization Dashboards: To create custom reports and dashboards using tools like Tableau or Power BI, displaying trends and statistics related to unreached people groups.
- Educational Platforms: Integrating data into websites or applications designed to educate about global demographics and missionary work.
- Humanitarian Aid Planning Tools: To inform strategic decisions for aid delivery based on population demographics and needs.
Alternatives
- World Bank Data API: Provides access to a wide range of global development data, including demographic, economic, and social indicators, though not specifically focused on religious or unreached people groups.
- United Nations Data API: Offers extensive statistical data on global populations, economics, health, and more, serving as a broad demographic data source.
- CIA World Factbook API: Delivers country-specific information covering geography, people and society, government, economy, and more, with some demographic details.
- Google Public Data Explorer: Aggregates public data from various sources, allowing exploration of trends in population, economy, and other social indicators.
Getting started
To begin using the Joshua Project API, you first need to obtain an API key from their website. The API primarily uses a RESTful interface, and requests are typically made using standard HTTP methods. Below is an example of how to fetch data for a specific people group using Python and the requests library, assuming you have obtained an API key.
import requests
import json
# Replace with your actual API key
API_KEY = "YOUR_JOSHUA_PROJECT_API_KEY"
BASE_URL = "https://joshuaproject.net/api"
# Example: Get data for a specific people group (e.g., ID 10000 for 'Han Chinese in China')
people_group_id = 10000
endpoint = f"/v2/people_groups/{people_group_id}"
headers = {
"Authorization": f"Bearer {API_KEY}"
}
try:
response = requests.get(f"{BASE_URL}{endpoint}", headers=headers)
response.raise_for_status() # Raise an HTTPError for bad responses (4xx or 5xx)
data = response.json()
print(f"Data for People Group ID {people_group_id}:")
print(json.dumps(data, indent=2))
except requests.exceptions.HTTPError as http_err:
print(f"HTTP error occurred: {http_err}")
except requests.exceptions.ConnectionError as conn_err:
print(f"Connection error occurred: {conn_err}")
except requests.exceptions.Timeout as timeout_err:
print(f"Timeout error occurred: {timeout_err}")
except requests.exceptions.RequestException as req_err:
print(f"An unexpected error occurred: {req_err}")
except json.JSONDecodeError:
print("Failed to decode JSON from response.")
print(f"Response content: {response.text}")
This Python code snippet demonstrates how to make a GET request to the Joshua Project API to retrieve information about a specific people group. You would replace "YOUR_JOSHUA_PROJECT_API_KEY" with the actual key provided to you. The response will be in JSON format, containing various attributes about the requested people group. The API documentation on the Joshua Project website provides further details on available endpoints and query parameters for accessing country data, language data, and lists of people groups.