Docs / Data freshness
Data freshness
How fresh each data source is. No key needed.
GET/v1/health · no key needed
Returns each source and when it last refreshed successfully. A source marked stale has not refreshed within its window; treat its absence-of-recalls answers with care.
Request
curl https://recalldb.app/v1/healthconst res = await fetch('https://recalldb.app/v1/health', {
})
const { data, source } = await res.json()
console.log(data, source.official_url)import os, requests
r = requests.get("https://recalldb.app/v1/health")
r.raise_for_status()
body = r.json()
print(body["data"], body["source"]["official_url"])Try it
Runs a real request with no signup (20 a day per network, read-only). VINs you try are used only for this call and never stored.
Request
Response
curl (with your own key)
JavaScript
Python
Get your own key Free: 1,000 requests a month.
Response
200 OK
{
"ok": true,
"sources": [
{
"id": "nhtsa",
"stale": false,
"lastSuccessAt": "2026-11-13T10:00:12.000Z"
},
{
"id": "cpsc",
"stale": false,
"lastSuccessAt": "2026-11-13T09:31:02.000Z"
},
{
"id": "fda",
"stale": false,
"lastSuccessAt": "2026-11-13T09:31:30.000Z"
}
],
"attribution": {
"text": "Data from RecallDB",
"url": "https://recalldb.app"
}
}Every response includes source (agency, official ID, official URL, last updated) and attribution. Attribution rules.
Errors: error codes. Limits: rate limits.