Public funding data · Developer workflow
Keep funding data in your own workflow.
Save nine verified USD funding inputs with their dates, units and sources. On your next run, fetch the changes and keep the last successful packet if a request fails.
Public access needs no account, payment or meeting. Inspect dates and source terms before using or redistributing the data.
Run once. Reuse it tomorrow.
Save the Python job, then run it with Python 3.10 or newer on macOS or Linux. It uses the standard library.
python3 daily_job.py --state ./funding-state
The output says updated or unchanged. Verified JSON, CSV and their manifest stay in funding-state/packets/. Captured changes stay in funding-state/changes/. A failure exits with code 2 and preserves the previous cursor.
Run it once for each research update you need. A daily task is enough for a daily report. Keep the state directory between runs.
# Example cron entry: daily at 08:00 in the machine's timezone.
0 8 * * * /usr/bin/python3 /absolute/path/daily_job.py --state /absolute/path/funding-state
Notebook template · Request and error examples · Attribution and source terms
Know what changed—and what is still unknown.
SOFR and IORB use a common review date. Weekly inputs keep their own observation dates. Archive time means the first time this service verified a packet. The archive contains observed packets and visible gaps; it does not reconstruct complete historical publisher vintages.
The change feed describes differences between captured packets. A same-date change is not independently confirmed as a publisher revision. HTTP 503 means the latest evidence failed availability or freshness checks; a cached response cannot override those checks.
Observed reliability and gaps · Forward archive coverage
Optional identity for your application.
Anonymous reads work immediately. If you choose an application key, you consent to the service recording a random installation identity, UTC day and packet for successful data responses. This helps measure returning integrations. It does not identify your employer or prove independent ownership.
The key is returned once. Keep it in a private file and pass --token-file /private/path/key to the job. Keyed access has the same public limits; it does not promise a higher quota or an SLA. Never put a key in a URL, notebook output, public repository or agent prompt.
Enrollment and deletion instructions · Retention and privacy
Application completions expire after 90 UTC dates. Keys expire after 180 days without accepted use. Deleting a key removes its identity and linked events. Our own applications and synthetic checks are excluded from external-use counts; self-issued keys remain unverified until independent ownership is established.