A documentação para desenvolvedores está em inglês.
Data
Using the API
Free, public, read-only access to the research data on every people group. No account or key. Use it to build maps, prayer tools, research applications and more.
- Base URL
https://pgorg.donbarger.com/api/v1- Also served at
https://pgorg.donbarger.com/wp-json/pg/v1, the current site's address, so existing integrations keep working unchanged.- Data
- Refreshed daily from IMB Global Research. CORS is open (
Access-Control-Allow-Origin: *).
Endpoints
| Endpoint | Returns |
|---|---|
GET /people-groups | A page of people group records. Takes every filter below. |
GET /people-groups/{pgid} | One record, e.g. PG006400 (case-insensitive). |
GET /people-groups/export | The filtered set as CSV (23 columns). Pages only if page or per_page is given. |
GET /stats | Totals for the filtered set, plus facet counts by country, religion, language, indigenous and affinity group. |
GET /breakdown/{dimension} | Counts and population grouped by one dimension, largest first. |
GET /countries, /languages, /religions | Each code with totals by gospel status. |
GET /affinity-groups | The eight IMB affinity groups with totals. |
GET /people-groups/{pgid}/geometry | The group's boundary polygon (GeoJSON) and point. New. |
Filters
Every filter takes one or more values, comma-separated (country=IND,PAK) or repeated (country[]=IND&country[]=PAK). Values are case-insensitive. Different filters combine with AND; values within one filter combine with OR.
| Parameter | Matches |
|---|---|
engagement | Strategic Progress Index: 0 Unengaged and Unreached, 1 Engaged yet Unreached, 2 No Longer Unreached |
gsec | GSEC code, 0–6 |
lostness | Lostness priority code, 0 (Frontier) – 6 |
region, subregion | UN M49 code (142) or name (Asia) |
country | ISO 3166 alpha-3 code (PAK) or name (Pakistan) |
religion | Religion code (MSN) or name |
language | ISO 639-3 code (snd) or name |
language_family | Language family name |
indigenous | Indigenous or Diaspora |
affinity_group | Affinity code (AG500), name or short name |
rop1, rop2, rop25, rop3 | Registry of Peoples codes |
pgid | One or more PGIDs |
q | Words that start with the search text, across names, alternate names, the ROP hierarchy, language and country. Every word must match. |
min_lat, max_lat, min_lng, max_lng | Bounding box |
Paging and sorting
page(from 1) andper_page(default 100, maximum 250;limitis an alias). Larger values are reduced to 250 and the response carriesX-PG-Per-Page-Clamped.X-WP-TotalandX-WP-TotalPagesheaders give the size of the result.orderby:display_name,population,country,engagement,pgid,gsec,lostness,indigenous,affinity_group,region,subregion,rop1,rop2,rop25,rop3,religion,language,language_family,relevance(defaultpgid);order:ascordesc.
Examples
One people group
GET https://pgorg.donbarger.com/api/v1/people-groups/PG006400{
"OBJECTID": 1166,
"PEID": 6400,
"PGID": "PG006400",
"Name": "Sindhi",
"DisplayName": "Sindhi",
"AlternateNames": null,
"PejorativeAltNames": null,
"ISOAlpha3": "PAK",
"CountryCode": "PAK",
"CountryName": "Pakistan",
"CountryDisplayName": "Pakistan",
"CountryNameWithArticle": "Pakistan",
"UNm49RegionName": "Asia",
"UNm49RegionCode": "142",
"UNm49Region": "142",
"UNm49SubRegionName": "Southern Asia",
"UNm49SubRegionCode": "034",
"UNm49SubRegion": "34",
"imbAffinityCode": "AG500",
"imbAffinityName": "South Asian Peoples",
"imbAffinityShortName": "ASAP",
"Description": "an Indo-Aryan ethnolinguistic group who speak the Sindhi language and are native to the Sindh province of Pakistan",
"LocationDescription": "Balochistan province: Khuzdar and Lasbela districts; Sindh province: widespread, Indus river lower reaches; Hyderabad, Karachi",
"Population": 28290000,
"EvangelicalLevel": "Less than 2%",
"CongregationsExist": "Yes",
"ChurchPlantingWithinLast2Years": "No Churches Planted",
"EngagementStatus": "Engaged",
"GSEC": 1,
"GSECDescription": "Less than 2% Evangelical, No Recent CP Activity",
"GSECLongDescription": "this people group is less than 2% evangelical, some evangelical resources are available, but there has been no active church planting among them within the past two years",
"EngagementProgress": 1,
"Status": 1,
"StatusName": "Active",
"EngagementProgressDesc": "Engaged yet Unreached",
"LostnessPriority": 0,
"LostnessPriorityName": "Frontier Unreached People Group",
"LostnessPriorityDescription": "< 0.1% Evangelical",
"LanguageCode": "snd",
"ROLROLV": "snd",
"LanguageName": "Sindhi",
"LanguageFamily": "Indo-European",
"LanguageSpeakers": 100,
"ROR": "MSN",
"ReligionCode": "MSN",
"ReligionName": "Islam - Sunni",
"ReligionAdherents": 95,
"ReligionDescription": "Sunni Islam, the largest branch of Islam. Sunni Muslims follow the teachings of the Qur'an and consider the first four caliphs to be the rightful successors of Muhammad.",
"RlgnBs": "Islam",
"ROR4": "MSN",
"ROR3": "M",
"ReligionDisplayName": "Sunni Islam",
"ROP3Code": "109027",
"ROP3Name": "Sindhi",
"ROP25": "307539",
"ROP25Code": "307539",
"ROP25Name": "Sindhi",
"ROP2Code": "C0192",
"ROP2Name": "Sindhi",
"ROP1Code": "A012",
"ROP1Name": "South Asian Peoples",
"BibleAvailability": "Available",
"JesusFilmAvailability": "Available",
"RadioProgramAvailability": "Available",
"GospelResourceAvailability": "Available",
"AudioResourceAvailability": "Available",
"BibleStoriesAvailability": "Not Available",
"ResourceTotal": 5,
"BiblePortionsAvailability": "Bible",
"BibleYearPublished": "1954",
"PhotoCredit": "Photo by Google. (2026). Image generated by Gemini 3.1 Flash: Sindhi",
"PhotoURL": "https://images.peoplegroups.org/imbpeople-featured-images/PG006400.jpg",
"HasPhoto": "Y",
"Indigenous": "Indigenous",
"Lat": 25.39,
"Long": 68.39,
"PeopleSearch": "Sindhi of Pakistan (PG006400)",
"UpdatedDate": "1790348661000",
"CreatedDate": "978307200000",
"DeletedDate": null,
"CaptureDate": "2026-10-03"
}Unengaged groups in Pakistan, largest first
GET https://pgorg.donbarger.com/api/v1/people-groups?country=PAK&engagement=0&orderby=population&order=desc&per_page=2X-WP-Total: 28
X-WP-TotalPages: 14
[
{
"PGID": "PG046998",
"DisplayName": "Deaf Pakistanis",
"CountryName": "Pakistan",
"Population": 10260000,
"EngagementProgressDesc": "Unengaged and Unreached",
"…": "(all fields, as above)"
},
{
"PGID": "PG006346",
"DisplayName": "Eastern Baloch",
"CountryName": "Pakistan",
"Population": 2995000,
"EngagementProgressDesc": "Unengaged and Unreached",
"…": "(all fields, as above)"
}
]Totals and facets
GET https://pgorg.donbarger.com/api/v1/stats?country=PAK{
"totals": {
"total_pgs": 86,
"total_pg_population": 258483325,
"total_uupgs": 28,
"total_uupg_population": 16199025,
"total_eupgs": 51,
"total_eupg_population": 239651800,
"total_upgs": 79,
"total_upg_population": 255850825,
"total_nupg": 7,
"total_nupg_population": 2632500,
"distinct_countries": 1,
"distinct_religions": 8,
"distinct_languages": 69,
"distinct_rop1": 8,
"distinct_rop2": 33,
"distinct_rop25": 72,
"distinct_rop3": 86
},
"facets": {
"countries": [
{
"code": "ABW",
"total_pgs": 5,
"total_pg_population": 108500
},
{
"code": "AFG",
"total_pgs": 45,
"total_pg_population": 45040000
},
"…"
],
"religions": [
{
"code": "BLA",
"total_pgs": 2,
"total_pg_population": 22300
},
{
"code": "CPR",
"total_pgs": 2,
"total_pg_population": 771000
},
"…"
],
"languages": [
{
"code": "arb",
"total_pgs": 1,
"total_pg_population": 248000
},
{
"code": "bcc",
"total_pgs": 1,
"total_pg_population": 4590000
},
"…"
],
"indigenous": [
{
"code": "Diaspora",
"total_pgs": 13,
"total_pg_population": 4208500
},
{
"code": "Indigenous",
"total_pgs": 73,
"total_pg_population": 254274825
},
"…"
],
"affinity_groups": [
{
"code": "AG100",
"total_pgs": 2,
"total_pg_population": 43500
},
{
"code": "AG200",
"total_pgs": 1,
"total_pg_population": 248000
},
"…"
]
}
}Each facet ignores its own filter: filtering to Pakistan still lists every country in facets.countries, so you can show the alternatives. Facet order is not significant.
Breakdown by region
GET https://pgorg.donbarger.com/api/v1/breakdown/region[
{
"code": "142",
"name": "Asia",
"total_pgs": 5073,
"total_pg_population": 4905691085
},
{
"code": "002",
"name": "Africa",
"total_pgs": 3076,
"total_pg_population": 1550709325
},
{
"code": "019",
"name": "Americas",
"total_pgs": 2118,
"total_pg_population": 1063488010
},
{
"code": "009",
"name": "Oceania",
"total_pgs": 1325,
"total_pg_population": 47610895
},
{
"code": "150",
"name": "Europe",
"total_pgs": 790,
"total_pg_population": 742508780
}
]Dimensions: engagement, gsec, lostness, region, subregion, rop1, rop2, rop25, rop3, country, religion, language, language_family.
Code
JavaScript: page through every group
const all = [];
for (let page = 1, pages = 1; page <= pages; page++) {
const res = await fetch(`https://pgorg.donbarger.com/api/v1/people-groups?per_page=250&page=${page}`);
pages = Number(res.headers.get('X-WP-TotalPages'));
all.push(...(await res.json()));
}
console.log(all.length, 'people groups');Python: unreached groups in a country
import requests
r = requests.get("https://pgorg.donbarger.com/api/v1/people-groups",
params={"country": "PAK", "engagement": "0,1", "per_page": 250})
r.raise_for_status()
for g in r.json():
print(g["PGID"], g["DisplayName"], g["Population"], g["EngagementProgressDesc"])curl: download a filtered CSV
curl -o unengaged.csv "https://pgorg.donbarger.com/api/v1/people-groups/export?engagement=0"Errors
Errors use the same shape everywhere, with a matching HTTP status:
{
"code": "pg_not_found",
"message": "No people group found for PGID: PG999999",
"data": {
"status": 404
}
}Differences from the current peoplegroups.org API
PejorativeAltNamesis present for compatibility but alwaysnull. Derogatory names are not served.- An empty
LocationDescriptionis alwaysnull(the current API returns""for some records). /countries,/languagesand/religionslist only codes that have at least one people group. The current API also lists reference entries with zero groups.- New:
/people-groups/{pgid}/geometry, and the/api/v1base URL.
Field definitions: People Group Field Descriptions (PDF). Filter names: engagement, gsec, lostness, region, subregion, rop1, rop2, rop25, rop3, country, religion, language, language_family, indigenous, affinity_group, pgid.