RHTP Tracker

API documentation

Build on RHTP Tracker data.

Public read endpoints power the app and are open. A free API key unlocks the programmatic `/api/v1` endpoints for exports and integrations.

Authentication & rate limits

  • Programmatic `/api/v1/*` endpoints require a free API key.
  • Send the key as `Authorization: Bearer <key>` or the `x-api-key` header.
  • Requests are rate limited per key in a fixed 60-second window based on your tier (free, pro, team, featured).
  • Each response includes `x-ratelimit-remaining` and `x-ratelimit-reset`; exceeding the limit returns HTTP 429.

Public reads

None — open, read-only JSON used by the app itself.

MethodEndpointDescription
GET/api/statsHeadline program statistics.
GET/api/states50 states plus the US federal row.
GET/api/opportunitiesPaginated, filterable opportunity list (sortBy, status, type, state, vendor).
GET/api/opportunities/facetsFacet counts by status, type, and state.
GET/api/opportunities/:slugIdA single opportunity with linked documents and state.
GET/api/documentsDocument library (state, category, year filters; default AI-quality sort).
GET/api/documents/:id/fileProxy stream of a cached document file.
GET/api/eventsEvents (state, status, type, date range, keyword).
GET/api/activityChange-event log (state, type, since).
GET/api/activity/summariesAI activity briefs grouped by state.
GET/api/vendorsApproved vendor directory (featured first).
GET/api/vendor-matchmakerRanked vendor matches for an opportunity.
GET/api/opportunity-intelligenceOpportunity stats plus AI analysis.
GET/api/intelligence/trendsActivity trend rollups plus AI analysis.

Programmatic API (free key)

Free API key via `Authorization: Bearer <key>` or `x-api-key: <key>`.

MethodEndpointDescription
GET/api/v1/statesExportable state records.
GET/api/v1/states/:codeState detail with award history and recent documents.
GET/api/v1/documentsDocuments with full AI fields (supports upcoming=true).
GET/api/v1/documents/:idFull extracted document record.
POST/api/v1/searchExtracted-field search with an AI-generated answer.
GET/api/v1/eventsEvents with extended filters.
GET/api/v1/activityChange events (supports since= for polling).

Authenticated & admin

Signed-in session (Google); admin routes require the admin role and are server-enforced.

MethodEndpointDescription
POST/api/vendorsSubmit a vendor for review (stored pending until approved).
GET/api/admin/vendorsAdmin: pending vendor queue and crawl-health snapshot.
POST/api/admin/vendorsAdmin: approve or reject a pending vendor.