Discover/CPSC API
live

CPSC APIcpsc.gov

Search U.S. CPSC product recalls by keyword and date range. Returns recall title, hazard, products, remedies, and more via a single REST endpoint.

This API takes change requests — .
Endpoint health
verified 2h ago
search_recalls
1/1 passing latest checkself-healing
Endpoints
1
Updated
3h ago

What is the CPSC API?

The CPSC Recalls API provides access to U.S. Consumer Product Safety Commission recall records through 1 endpoint — search_recalls — returning up to 13 structured fields per record including recall title, date, hazard descriptions, affected products, remedies, and the official recall URL. Date range filtering and keyword search let you pull targeted subsets of the recall database, which is sorted newest-first by default.

Try it
Number of results to skip for pagination. Use with limit to page through results.
Maximum number of results to return per request (1-100).
Filter recalls by title keyword. Only recalls whose title contains this string are returned.
End date for recall date range filter in YYYY-MM-DD format. Defaults to today when omitted.
Start date for recall date range filter in YYYY-MM-DD format. Defaults to 30 days before today when omitted.
api.parse.bot/scraper/54c983c7-9600-488b-b8dc-065c75a24c3b/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/54c983c7-9600-488b-b8dc-065c75a24c3b/search_recalls?skip=0&limit=10&date_to=2026-07-13&date_from=2026-06-13' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace cpsc-gov-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.


"""Walkthrough: CPSC Recalls SDK — search recalls with date range and pagination."""
from parse_apis.cpsc_gov_api import CPSC, NotFoundError

client = CPSC()

# Search recent recalls within a date range, capped to 5 results.
for recall in client.recalls.search(date_from="2026-06-01", date_to="2026-07-13", limit=5):
    print(recall.title, recall.recall_date)

# Filter recalls by keyword in title.
result = client.recalls.search(query="Child", date_from="2026-01-01", date_to="2026-07-13", limit=1).first()
if result:
    print(result.title, result.products, result.hazards)

# Handle typed error for an unlikely date range.
try:
    for r in client.recalls.search(date_from="1900-01-01", date_to="1900-01-02", limit=3):
        print(r.recall_id, r.title)
except NotFoundError as exc:
    print(f"No recalls found: {exc}")

print("exercised: recalls.search (date range, keyword filter, error handling)")
All endpoints · 1 totalmissing one? ·

Search CPSC product recalls within a date range. Results are sorted newest-first. The upstream API returns all matching recalls for the date window; skip and limit control which slice of results is returned. When query is provided, results are filtered to recalls whose title contains the query string.

Input
ParamTypeDescription
skipintegerNumber of results to skip for pagination. Use with limit to page through results.
limitintegerMaximum number of results to return per request (1-100).
querystringFilter recalls by title keyword. Only recalls whose title contains this string are returned.
date_tostringEnd date for recall date range filter in YYYY-MM-DD format. Defaults to today when omitted.
date_fromstringStart date for recall date range filter in YYYY-MM-DD format. Defaults to 30 days before today when omitted.
Response
{
  "type": "object",
  "fields": {
    "skip": "integer — number of results skipped",
    "limit": "integer — maximum results returned",
    "total": "integer — total number of recalls matching the date range and query",
    "results": "array of recall objects with recall_id, recall_number, recall_date, title, description, url, hazards, products, remedies, manufacturer_countries, images, last_publish_date"
  },
  "sample": {
    "data": {
      "skip": 0,
      "limit": 3,
      "total": 63,
      "results": [
        {
          "url": "https://www.cpsc.gov/Recalls/2026/Best-Buy-Recalls-Insignia-Gas-Ranges-Due-to-Risk-of-Serious-Injury-from-a-Fire-Hazard",
          "title": "Best Buy Recalls Insignia Gas Ranges Due to Risk of Serious Injury from a Fire Hazard",
          "images": [
            "https://www.cpsc.gov/s3fs-public/insig-1.png"
          ],
          "hazards": [
            "The recalled ranges' front-mounted knobs can be activated accidentally by humans or pets, posing a risk of serious injury from a fire hazard."
          ],
          "products": [
            "Insignia Front Control Gas Ranges"
          ],
          "remedies": [
            "Consumers should stop using the recalled oven immediately..."
          ],
          "recall_id": 10854,
          "description": "This recall involves Insignia gas ranges with model numbers NS-RGFGSS1 and NS-RGFCGS2.",
          "recall_date": "2026-07-09T00:00:00",
          "recall_number": "26606",
          "last_publish_date": "2026-07-10T00:00:00",
          "manufacturer_countries": [
            "China"
          ]
        }
      ]
    },
    "status": "success"
  }
}

About the CPSC API

What the API Returns

The search_recalls endpoint queries the CPSC recall database and returns an array of recall objects. Each object includes recall_id, recall_number, recall_date, title, description, url, hazards, products, remedies, and manufacturer information. The response envelope also surfaces total (the count of all matching records for the given filters), skip, and limit so you can page through large result sets.

Filtering and Pagination

Two date parameters — date_from and date_to — accept ISO 8601 strings (YYYY-MM-DD) and default to a 30-day window ending today when omitted. The optional query parameter filters results to recalls whose title contains the supplied keyword string; this is useful for narrowing to a product category or brand. Pagination is controlled by skip and limit (1–100 per request). To iterate through all recalls in a window, increment skip by limit until skip exceeds total.

Data Coverage

Records reflect official CPSC recall announcements as published at cpsc.gov/Recalls. Each recall can reference multiple products and multiple hazards, so products and hazards are arrays. The url field points directly to the CPSC recall detail page for that record, making it straightforward to link users to authoritative source material.

Sorting and Freshness

Results are always returned newest-first based on recall_date. There is no parameter to change sort order. The data covers recalls within whatever date window you specify; the CPSC publishes recalls on an ongoing basis, so querying with a narrow recent date_from/date_to window is the reliable way to detect newly issued recalls.

Reliability & maintenanceVerified

The CPSC API is a managed, monitored endpoint for cpsc.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cpsc.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official cpsc.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor newly issued CPSC recalls daily by querying search_recalls with a rolling date_from window
  • Build a product safety alert service that emails subscribers when a keyword matching their product category appears in recall title fields
  • Enrich e-commerce product listings with a recall status check using the query parameter against product names
  • Aggregate recall hazards descriptions to identify which hazard types appear most frequently in a given time period
  • Generate compliance reports linking recall_number and recall_date for internal product safety teams
  • Power a public-facing recall lookup tool using products and remedies fields to give consumers actionable guidance
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does CPSC provide an official developer API?+
Yes. CPSC publishes a public recall data API documented at https://www.cpsc.gov/Recalls/CPSC-Recalls-Application-Program-Interface-API-Information. The Parse API surfaces the same recall data in a normalized, paginated format without requiring you to manage the official API's query conventions directly.
What does the `search_recalls` endpoint return for each recall?+
Each recall object includes recall_id, recall_number, recall_date, title, description, url, hazards (array), products (array), remedies (array), and manufacturer information. The response envelope adds total, skip, and limit for pagination tracking.
Does the `query` parameter search fields other than the recall title?+
Currently query filters only on the recall title field. Fields like description, hazards, and products are not searched. You can fork this API on Parse and revise it to add full-text filtering across additional fields.
Are recall images or embedded media returned by the API?+
Not currently. The API covers textual recall metadata including title, description, hazards, products, and remedies, but does not return image URLs or attachments from the recall detail pages. You can fork this API on Parse and revise it to add image URL extraction.
How large can a single date range query get, and how should I handle it?+
The total field in the response tells you how many records match your date_from/date_to window. Since limit caps at 100 per request, wide date ranges may require multiple paginated calls incrementing skip by limit until skip exceeds total. Narrowing the date window reduces the number of round trips needed.
Page content last updated . Spec covers 1 endpoint from cpsc.gov.
Related APIs in Government PublicSee all →
bd.com API
Access current recall notices and safety alerts from BD (Becton, Dickinson and Company), including affected product names, campaign identifiers, dates, status, and detailed clinical impact summaries with recommended actions.
open.fda.gov API
Search FDA food recall and enforcement actions to find safety information about specific products or manufacturers, and look up adverse events reported to the CFSAN Adverse Event Reporting System (CAERS). Filter, sort, and aggregate data by various fields to analyze food safety trends and monitor enforcement activity.
philips.com API
Access recall notices, affected device lists, news articles, and support information from the official Philips recall portal. Search for specific device models, retrieve detailed recall updates, and get contact and remediation details.
cybex-online.com API
Search and browse CYBEX's strollers, car seats, and accessories with detailed product information including pricing, variants, and images. Find exactly what you need by searching specific products or exploring category listings from their online shop.
corsair.com API
Search and filter Corsair's gaming peripherals and PC components catalog by keywords, category, and product attributes like price and specs. Browse detailed product information, compare options, and easily navigate through results with sorting and pagination to find exactly what you need.
fishersci.com API
Search and discover laboratory products from Fisher Scientific's catalog with real-time results and typeahead suggestions. Find exactly what you need with paginated product listings to browse their full inventory of lab supplies and equipment.
car-part.com API
Search for recycled auto parts across thousands of vehicles and get detailed information on pricing, availability, and specifications from car-part.com. Find the exact parts you need with comprehensive search metadata and individual part details to compare options and locate the best deals.
justice.gov API
Search and retrieve official U.S. Department of Justice press releases. Find information on DOJ announcements, enforcement actions, settlements, and legal proceedings across all topic areas. Access full press release details including case summaries, entities involved, and filing dates.