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
bbox32.5,-80.5,33.5,-79.5Bounding box: minLat,minLng,maxLat,maxLng
near + radius33.015,-80.236 / 25Center + miles radius (max 50)
programAAProgram code
day060=Sunday … 6=Saturday
typeO,DComma-separated type codes (all must match)
region_id8Region + all descendants
source_id1Meetings from one source
limit500Page size (default 500, max 2000)
cursorFrom meta.next_cursor

At least one filter is required. An unfiltered request returns 400 invalid_filters with the full list.

Programs

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