Global Product Recall API

Product safety recalls and hazard alerts from major regulatory authorities worldwide. Track recalls for food, drugs, medical devices, consumer products, vehicles, and cosmetics from FDA, CPSC, RASFF, and NRCS.

Live

Base URL

https://api.crimate.net/v1/recalls

Authentication

Include your Product Recall API key in the Authorization header.

curl -H "Authorization: Bearer db_product_recall_live_YOUR_KEY" \
     https://api.crimate.net/v1/recalls/stats

Endpoints

GET/v1/recalls/recalls

List product recalls with optional category, country, severity, and date filters

Parameters: category, country, severity, from (YYYY-MM-DD), to (YYYY-MM-DD), page, per_page

Example

GET /v1/recalls/recalls?category=food&severity=high
GET/v1/recalls/recalls/{recallNumber}

Get recall details including affected products

Parameters: recallNumber (path)

Example

GET /v1/recalls/recalls/FDA-2026-1234
GET/v1/recalls/recalls/search

Search recalls by keyword

Parameters: q (required)

Example

GET /v1/recalls/recalls/search?q=salmonella
GET/v1/recalls/recalls/recent

Most recent recalls across all categories

Parameters: limit (default 20)

Example

GET /v1/recalls/recalls/recent?limit=10
GET/v1/recalls/categories

List recall categories

Parameters: None

Example

GET /v1/recalls/categories
GET/v1/recalls/authorities

List issuing authorities by country

Parameters: None

Example

GET /v1/recalls/authorities
GET/v1/recalls/stats

Dataset statistics (total recalls, categories, authorities)

Parameters: None

Example

GET /v1/recalls/stats

Response Examples

Recent recalls response:

{
  "recalls": [
    {
      "recall_number": "FDA-2026-1234",
      "title": "Voluntary Recall of XYZ Brand Peanut Butter",
      "product_name": "XYZ Creamy Peanut Butter",
      "brand": "XYZ Foods",
      "category": "food",
      "hazard": "Potential Salmonella contamination",
      "remedy": "Consumers should return product for full refund",
      "country_id": "US",
      "issuing_authority": "fda",
      "recall_date": "2026-03-01",
      "status": "active",
      "severity": "high",
      "affected_products": [
        {
          "product_name": "XYZ Creamy Peanut Butter 16oz",
          "model": "16oz jar",
          "lot_numbers": "LOT 2026A-001 through 2026A-050",
          "units_affected": 50000
        }
      ]
    }
  ]
}

Try It

Enter your Product Recall API key to make a live request. Generate a key in the dashboard.

Try It

Make a live API call from your browser

GET
curl -H "Authorization: Bearer db_product_recall_live_YOUR_KEY" \
     "https://crimate.net/v1/recalls/stats"

Data Sources

FDA (US)

US Food and Drug Administration. Recalls of food, drugs, medical devices, and cosmetics.

CPSC (US)

Consumer Product Safety Commission. Recalls of consumer products and hazard alerts.

RASFF (EU)

Rapid Alert System for Food and Feed. European food safety notifications and recalls.

NRCS (South Africa)

National Regulator for Compulsory Specifications. South African product safety recalls.

Rate Limits

TierPriceRate LimitDaily QuotaMonthly Quota
FreeR0/mo10 req/min1001,000
StarterR499/mo60 req/min5,00050,000
ProR1,999/mo300 req/minUnlimited500,000

Error Codes

All error responses follow a consistent JSON format:

{
  "error": "error_code",
  "message": "Human-readable description."
}
StatusError CodeDescription
400invalid_requestThe request body or query parameters are malformed.
401unauthorizedMissing or invalid API key.
403no_subscriptionNo active subscription for this API product.
403quota_exceededDaily or monthly quota exceeded.
404not_foundThe requested resource does not exist.
429rate_limit_exceededToo many requests. Check X-RateLimit-Remaining header.
500internal_errorAn unexpected server error occurred.