API Documentation
Getting Started
The API is read-only and does not require authentication. All endpoints are accessible via HTTP GET requests. The base URL for all API endpoints is:
http://dev.database.religiousecologies.org/census/api/
Responses are returned in JSON format. For large datasets, always use filters to limit results.
API Root
Visit the API root to see a summary of all available endpoints with links:
http://dev.database.religiousecologies.org/census/api/Denominations
Access denomination taxonomy and family classifications from the 1926 Census.
Returns a paginated list of all denominations with their family classifications.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| family_census | string | Filter by census family (e.g., "Baptist bodies") |
| family_relec | string | Filter by Religious Ecologies family classification |
| search | string | Search denomination names |
Returns unique denomination families with counts. Only includes families that have location data available.
Example Response
{
"census_families": [
{"name": "Baptist bodies", "count": 24},
{"name": "Methodist bodies", "count": 18}
],
"relec_families": ["Baptist", "Methodist", "Catholic"]
}
Examples
All familiesReturns denominations grouped by family. Only includes denominations with location data.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| family_census | string | Filter to specific census family |
Religious Bodies (Congregations)
Access individual congregation records from the 1926 Census.
Returns detailed congregation records including location, denomination, membership, finances, pastors, transcription status, and schedule IDs. Use filters to limit results.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| denomination | integer | Filter by denomination ID |
| family_census | string | Filter by census family (e.g., "Adventist bodies") |
| family_relec | string | Filter by Religious Ecologies family |
| transcription_status | string | Filter by transcription status (e.g., "approved") |
| exclude_families | string | Comma-separated census families to exclude |
| urban_rural | string | Filter by "urban" or "rural" |
| bounds | string | Geographic bounding box as "south,west,north,east" |
| search | string | Search name, address, or census code |
| limit | integer | Limit number of results per page |
Response Structure
The response envelope includes count, next, previous (pagination), denominations (array of denomination names matched by your query), and results (array of records).
transcription_status- Status of the census record transcriptionschedule_id- Census schedule identifierlocation_details- Nested object withlat,lon,city_name,county_name,state_name,place_id,address,urban_rural_codedenomination_details- Nested object with denomination info and family classificationsmembership_details- Full membership breakdown: sex/age demographics, Sunday school, VBS, weekday school, and parochial school datafinances- Financial data:expenditures,benevolences,total_expenditures,edifice_value,edifice_debt,residence_value,residence_debtpastors- Pastor info including educationurls- Links to schedule detail and filtered data table viewsdenominations(pagination envelope) - Array of distinct denomination names in the filtered results
Example Response (single record)
{
"id": 42,
"name": "Seventh-day Adventist Church",
"census_code": "003",
"division": null,
"transcription_status": "approved",
"schedule_id": 1234,
"location_details": {
"lat": 38.9072, "lon": -77.0369,
"city_name": "Washington", "county_name": "District of Columbia",
"state_name": "DC", "place_id": 567,
"address": "123 Main St",
"urban_rural_code": "U"
},
"denomination_details": {
"id": 5, "name": "Seventh-day Adventists",
"family_census": "Adventist bodies", "family_relec": "Adventist"
},
"membership_details": {
"male_members": 45, "female_members": 62, "total_members": 107,
"members_under_13": 18, "members_13_and_older": 89, "total_by_age": 107,
"sunday_school_num_officers_teachers": 5,
"sunday_school_num_scholars": 35,
"vbs_num_officers_teachers": null, "vbs_num_scholars": null,
"weekday_num_officers_teachers": null, "weekday_num_scholars": null,
"parochial_num_administrators": null,
"parochial_num_elementary_teachers": null,
"parochial_num_secondary_teachers": null,
"parochial_num_elementary_scholars": null,
"parochial_num_secondary_scholars": null
},
"finances": {
"expenditures": 1200.00, "benevolences": 350.00,
"total_expenditures": 1550.00, "edifice_value": 25000.00,
"edifice_debt": null, "residence_value": 5000.00,
"residence_debt": null
},
"urls": {
"self": "https://religiousecologies.org/census/record/1234/",
"family_census": "https://religiousecologies.org/census/browser/?family=Adventist+bodies",
"family_relec": "https://religiousecologies.org/census/browser/?family=Adventist&denomination=2"
},
"pastors": {
"name": "Elder James White", "is_assistant": false,
"college": "Battle Creek College", "theological_seminary": null
}
}
Aggregation Endpoints
Pre-aggregated data for analysis and visualization.
Returns comprehensive list of denomination families with counts of denominations and congregations in each family. Includes both census families and Religious Ecologies families.
Example Response
{
"census_families": [
{
"name": "Baptist bodies",
"denominations": 24,
"congregations": 1500,
"total_congregations": 2000,
"has_location_data": true
}
],
"relec_families": [
{
"name": "Baptist",
"denominations": 24,
"congregations": 1500,
"has_location_data": true
}
]
}
Examples
All families with countsUsage Tips
Best Practices
- Always use filters to limit results and improve response times
- Add
?limit=10to test queries before running full requests - Use
boundsfilter for geographic queries - Use
transcription_status=approvedfor verified data only - Use
exclude_familiesto remove large denomination families from results
CORS
The API supports CORS (Cross-Origin Resource Sharing) for client-side JavaScript applications. You can make requests directly from browser-based applications.
Caching
API responses are cached for one hour. Since the underlying census data changes infrequently, most requests will be served from cache for faster response times.
Rate Limiting
There are currently no rate limits on the API, but please be considerate with your requests.