JSON API — every feed, every classification, every match.
Server-rendered HTML is the default surface, but everything is also JSON. Use the API to pipe matches into your own dashboard, Slack bot, or compliance workflow.
Base URL: https://regflow.us ·
Auth: none on Free tier, API key in Authorization: Bearer on Pro and Team (coming Q3).
/api/stats
Live counts of documents, classifications, matches in last 24h, and active watchlists.
curl https://regflow.us/api/stats
{
"totalDocs": 197,
"totalClassified": 164,
"docsLast24h": 197,
"matchesLast24h": 14,
"watchlists": 7
}
/api/docs?limit=50&offset=0&minMateriality=3
Paginated classified documents ordered by publication date (newest first). Use minMateriality to filter out noise.
curl "https://regflow.us/api/docs?limit=10&minMateriality=4"
{
"count": 10,
"items": [
{
"id": "uuid",
"source": "federal-register",
"sourceId": "2026-11001",
"url": "https://www.federalregister.gov/documents/...",
"title": "...",
"publishedAt": "2026-06-02T00:00:00.000Z",
"materiality": 4,
"summary": "...",
"topics": ["countervailing-duty-investigation", "china-imports"],
"entities": [{"kind":"agency","name":"International Trade Administration"}],
"rationale": "Why this matters: ..."
}
]
}
/api/docs/:id
Single document with full body and full classification.
curl https://regflow.us/api/docs/2c8de0c4-...
(full document object including raw body)
/api/watchlists
List active watchlists.
curl https://regflow.us/api/watchlists
{
"count": 7,
"items": [
{ "slug": "trade-remedies", "name": "...", "rssUrl": ".../rss/trade-remedies", ... }
]
}
/api/watchlists/:slug
Watchlist details + most recent 50 matches with full document + classification context.
curl https://regflow.us/api/watchlists/trade-remedies
(watchlist meta + 50 matches with embedded doc + classification)
/api/watchlists
Create a watchlist. Requires at least one keyword OR topic. Free tier limited to 1; Pro to 5; Team unlimited.
curl -X POST https://regflow.us/api/watchlists \
-H "Content-Type: application/json" \
-d '{
"name":"My HTS 4011 watch",
"topics":["antidumping-duty-sunset-reviews"],
"keywords":["4011","tire"],
"minMateriality":3,
"threshold":0.3
}'
{ "id":"...", "slug":"my-hts-4011-watch-abc123", "name":"...", "rssUrl":"..." }
/api/waitlist
Add an email to the founding-customer waitlist. Optionally captures company + what they want to watch. Fires a Discord/Slack/generic webhook if WAITLIST_WEBHOOK_URL is configured.
curl -X POST https://regflow.us/api/waitlist \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","company":"Acme","watching":"4011.10 tires"}'
{ "ok": true }
/rss/:slug
RSS 2.0 feed for a watchlist. Plain XML, cache-control max-age=300. Works in any RSS reader.
curl https://regflow.us/rss/trade-remedies
(application/rss+xml — RSS 2.0 with up to 50 latest matches)
/api/health
Health check. Returns ok:true with a server timestamp. Used by Fly.io and Kubernetes liveness probes.
curl https://regflow.us/api/health
{ "ok": true, "ts": "2026-06-02T08:35:24.000Z" }
Need a feature that's not here?
Per-match webhook delivery, embedding search, and full-text doc fetch are on the Q3 roadmap. Email the spec.
Contact