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.

GET /census/api/denominations/

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
GET /census/api/denominations/families/

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"] }
GET /census/api/denominations/by_family/

Returns 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.

GET /census/api/religious-bodies/

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 transcription
  • schedule_id - Census schedule identifier
  • location_details - Nested object with lat, lon, city_name, county_name, state_name, place_id, address, urban_rural_code
  • denomination_details - Nested object with denomination info and family classifications
  • membership_details - Full membership breakdown: sex/age demographics, Sunday school, VBS, weekday school, and parochial school data
  • finances - Financial data: expenditures, benevolences, total_expenditures, edifice_value, edifice_debt, residence_value, residence_debt
  • pastors - Pastor info including education
  • urls - Links to schedule detail and filtered data table views
  • denominations (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.

GET /census/api/religious-bodies/denomination_families/

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 } ] }

Usage Tips

Best Practices

  • Always use filters to limit results and improve response times
  • Add ?limit=10 to test queries before running full requests
  • Use bounds filter for geographic queries
  • Use transcription_status=approved for verified data only
  • Use exclude_families to 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.