Developer portal
PolicyNumbers API
Read-only JSON endpoints for datasets and series data. API access is rate-limited. Paid plans increase quotas and throughput.
The web interface is free to use. API access is licensed separately.
Read-only v1
Public datasets
Simple pagination
API products
Start with public metadata and time-series. Paid plans will add higher limits and richer coverage.
- Public metadata access
- Dataset series snapshots
- Freshness indicators
Access model
Keys are optional today. Provide
Authorization: Bearer pk_live_xxx to unlock higher limits later.Contact us for B2B licensing and bulk data delivery.
Stability
Versioned endpoints under
/api/v1. Future versions will be additive.Endpoints
All responses are JSON.
List datasets
GET /api/v1/datasetsParams:
q, category, source, cadence, limit, offsetDataset detail
GET /api/v1/datasets/<slug>Includes links, metadata, and freshness.
Dataset series
GET /api/v1/datasets/<slug>/seriesParams:
limit, directionPreview JSON
GET /data/<slug>/previewUsed by the UI for sparkline previews.
Quick start
curl "http://www.policynumbers.com/api/v1/datasets?q=inflation&limit=5"
Below is a lightweight OpenAPI stub for easy tooling setup.
OpenAPI stub
openapi: 3.0.3
info:
title: PolicyNumbers Public API
version: 1.0.0
servers:
- url: http://www.policynumbers.com
paths:
/api/v1/datasets:
get:
summary: List datasets
parameters:
- in: query
name: q
schema: { type: string }
- in: query
name: category
schema: { type: string }
- in: query
name: source
schema: { type: string }
- in: query
name: cadence
schema: { type: string }
- in: query
name: limit
schema: { type: integer, default: 50 }
- in: query
name: offset
schema: { type: integer, default: 0 }
responses:
'200':
description: Dataset list
/api/v1/datasets/{slug}:
get:
summary: Dataset detail
parameters:
- in: path
name: slug
required: true
schema: { type: string }
responses:
'200':
description: Dataset detail
/api/v1/datasets/{slug}/series:
get:
summary: Dataset series
parameters:
- in: path
name: slug
required: true
schema: { type: string }
- in: query
name: limit
schema: { type: integer, default: 100 }
- in: query
name: direction
schema: { type: string, enum: [latest, earliest] }
responses:
'200':
description: Dataset series
This stub is intentionally minimal and designed for client generation. Auth is optional for now.