C4R Aggregator
Unified Meeting Guide API-compatible JSON feed of AA meetings aggregated from public 12-Step Meeting List sources. 98,473 active meetings across 350 sources.
Quick start
Find meetings near a point
Radius is miles. Default 25, max 50. Returns a cursor-paginated page of up to 500 meetings.
curl "https://aggregator.pjbuilds.dev/api/v1/meetings?near=33.015,-80.236&radius=10"
Meetings in a bounding box
curl "https://aggregator.pjbuilds.dev/api/v1/meetings?bbox=32.5,-80.5,33.5,-79.5&day=0"
Open meetings today
type=O,D requires a meeting to have every listed type code. Use repeated queries for OR-style filtering.
curl "https://aggregator.pjbuilds.dev/api/v1/meetings?program=AA&type=O&day=3"
Full feed for a single source (drop-in TSML replacement)
Returns a bare JSON array in exact TSML shape — no pagination envelope. Safe to point existing TSML widgets at.
curl "https://aggregator.pjbuilds.dev/api/v1/sources/1/feed"
Filter reference
| Param | Example | Meaning |
|---|---|---|
bbox | 32.5,-80.5,33.5,-79.5 | Bounding box: minLat,minLng,maxLat,maxLng |
near + radius | 33.015,-80.236 / 25 | Center + miles radius (max 50) |
program | AA | Program code |
day | 0–6 | 0=Sunday … 6=Saturday |
type | O,D | Comma-separated type codes (all must match) |
region_id | 8 | Region + all descendants |
source_id | 1 | Meetings from one source |
limit | 500 | Page size (default 500, max 2000) |
cursor | … | From meta.next_cursor |
At least one filter is required. An unfiltered request returns 400 invalid_filters with the full list.
Programs
AA— Alcoholics AnonymousNA— Narcotics Anonymous
Response shape
Matches the Meeting Guide API spec exactly — existing TSML clients work unchanged. One non-spec addition: every row carries data_freshness_days (days since the meeting was last seen from an active-state source; null if never).
More
- Swagger UI — interactive API explorer
- OpenAPI 3.0 spec (JSON)
- /api/v1/stats — aggregator-wide counts
- /api/v1/programs — supported programs
- /api/v1/types?program=AA — meeting-type dictionary
- /api/v1/sources — registered feeds