Skip to main content

Get Your API Key

DeepRecall is currently invite-only. Request early access to join our program.
Once you receive your API key:
1

Receive Your Key

Your API key will be sent via email - it starts with dr_live_ and you’ll need it for all requests
2

Save Securely

Store your API key in a secure location (environment variables, secrets manager, etc.)
Never commit API keys to version control or expose them in client-side code!

Make Your First Request

Let’s retrieve the latest product recalls:
curl -X GET "https://api.deeprecall.io/v1/recalls/feed?limit=5" \
  -H "X-API-Key: dr_live_your_api_key_here"
Success! You just retrieved real-time recall data.

Understanding the Response

{
  "success": true,
  "data": [
    {
      "id": 109226,
      "data_source": "us_cpsc",
      "alert_title": "Infant Walkers Recalled...",
      "product_name": "Uuoeebb Infant Walkers",
      "product_brand": "BaoD",
      "risk_severity": "high",
      "risk_types": ["injury", "death"],
      "published_at": "2025-12-11T00:00:00",
      "source_url": "https://www.cpsc.gov/..."
    }
  ],
  "pagination": {
    "total_count": 1250,
    "returned_count": 5,
    "limit": 5,
    "has_more": true,
    "next_cursor": "eyJpZCI6MTA5MjI2fQ=="
  },
  "rate_limit": {
    "limits": {
      "per_minute": 60,
      "per_hour": 1000,
      "per_day": 10000
    },
    "remaining_credits": 49500,
    "monthly_quota": 50000,
    "monthly_usage": 500
  }
}

Key Fields

  • data - Array of recall objects
  • pagination - Pagination metadata and cursor for next page
  • rate_limit - Your current rate limit status and usage

Filter by Data Source

You can filter recalls by specific regulatory sources (up to 2 or more sources):
curl -X GET "https://api.deeprecall.io/v1/recalls/feed?data_sources=us_cpsc&limit=10" \
  -H "X-API-Key: dr_live_your_api_key_here"
To see all available data sources for your account:
curl -X GET "https://api.deeprecall.io/v1/recalls/sources" \
  -H "X-API-Key: dr_live_your_api_key_here"

Pagination

For large result sets, use cursor-based pagination:
import requests

url = "https://api.deeprecall.io/v1/recalls/feed"
headers = {"X-API-Key": "dr_live_your_api_key_here"}
params = {"limit": 50}

all_recalls = []
while True:
    response = requests.get(url, headers=headers, params=params)
    data = response.json()
    
    all_recalls.extend(data['data'])
    
    if not data['pagination']['has_more']:
        break
    
    params['cursor'] = data['pagination']['next_cursor']

print(f"Total recalls retrieved: {len(all_recalls)}")

Time Range Filtering

This is a FEED endpoint - it only provides the past 24 hours of recalls (not historical data):
Past 24 Hours (Default)
curl -X GET "https://api.deeprecall.io/v1/recalls/feed" \
  -H "X-API-Key: dr_live_your_api_key_here"
Custom Timeframe (Max 24 Hours)
curl -X GET "https://api.deeprecall.io/v1/recalls/feed?hours_ago=12" \
  -H "X-API-Key: dr_live_your_api_key_here"
Maximum hours_ago is 24 hours. This endpoint is designed as a feed, not for historical data access.
Contact us for bulk exports or historical data:

Next Steps

Need Help?

For questions and support: