Skip to main content
GET
https://api.deeprecall.io
/
v1
/
recalls
/
sources
Get Data Sources
curl --request GET \
  --url https://api.deeprecall.io/v1/recalls/sources \
  --header 'X-API-Key: <x-api-key>'
{
  "success": true,
  "data_sources": [
    {
      "id": "<string>",
      "name": "<string>",
      "description": "<string>",
      "official_url": "<string>"
    }
  ],
  "total_available": 123
}

Overview

The /recalls/sources endpoint returns all data sources you’re authorized to access. Use this to discover which regulatory agencies are available in your plan.

Authentication

X-API-Key
string
required
Your DeepRecall API key (starts with dr_live_)

Response

success
boolean
required
Whether the request was successful
data_sources
array
required
Array of available data source objects
total_available
integer
Total number of sources available to you

Example Request

curl -X GET "https://api.deeprecall.io/v1/recalls/sources" \
  -H "X-API-Key: dr_live_your_api_key_here"

Example Response

{
  "success": true,
  "data_sources": [
    {
      "id": "us_cpsc",
      "name": "US CPSC",
      "description": "US Consumer Product Safety Commission - Consumer products",
      "official_url": "https://www.cpsc.gov"
    },
    {
      "id": "uk_opss",
      "name": "UK OPSS",
      "description": "UK Office for Product Safety & Standards",
      "official_url": "https://www.gov.uk/opss"
    },
    {
      "id": "eu_safety_gate",
      "name": "EU Safety Gate",
      "description": "European Commission Safety Gate rapid alert system (RAPEX)",
      "official_url": "https://ec.europa.eu/safety-gate"
    }
  ],
  "total_available": 3
}

Available Data Sources

✅ Current Coverage

  • us_cpsc - US Consumer Product Safety Commission
  • safety_gate - EU Safety Gate (RAPEX)
  • uk_opss - UK Office for Product Safety & Standards
  • rappel_conso - France RappelConso (General Products)
  • rappel_conso_food - France RappelConso (Food Products)

🚀 Coming Soon

  • au_accc - Australian Competition & Consumer Commission
  • canada_recalls - Health Canada Product Recalls

🗺️ Roadmap

  • Japan, South Korea, Peru, Mexico, US FDA, Spain, Italy
Contact us to add more data sources:

Use Case Examples

Filter Recalls by Source

Once you know your available sources, use them to filter recalls:
# Get available sources
sources_response = requests.get(
    "https://api.deeprecall.io/v1/recalls/sources",
    headers={"X-API-Key": api_key}
)
sources = [s['id'] for s in sources_response.json()['data_sources']]

# Get recalls from specific sources
recalls_response = requests.get(
    "https://api.deeprecall.io/v1/recalls/feed",
    headers={"X-API-Key": api_key},
    params={"data_sources": ",".join(sources[:2])}  # First 2 sources
)

Validate Source Access

Check if you have access to a specific source:
def has_source_access(api_key, source_id):
    response = requests.get(
        "https://api.deeprecall.io/v1/recalls/sources",
        headers={"X-API-Key": api_key}
    )
    
    available_ids = [s['id'] for s in response.json()['data_sources']]
    return source_id in available_ids

if has_source_access(api_key, "us_fda"):
    print("✓ FDA access available")
else:
    print("✗ FDA access not available - upgrade needed")

Error Responses

{
  "detail": {
    "error": "invalid_api_key",
    "message": "Invalid or missing API key",
    "help": "Provide a valid API key using the X-API-Key header..."
  }
}
{
  "detail": {
    "error": "rate_limit_exceeded",
    "message": "Rate limit exceeded: 60 requests per minute",
    "details": {
      "limit_type": "minute",
      "limit": 60
    }
  }
}