Programmatic access to our database of consumer safety findings. Use it to power health apps, browser extensions, retailer product pages, or your own safety dashboards.
1,000 requests per day. No credit card required. One key per email address.
Upgrade the API key tied to your email. Billed monthly, cancel anytime.
Growth — £49/mo
20,000 requests/day
Scale — £199/mo
200,000 requests/day
/api/v1/findingsReturns a paginated list of published safety findings.
Authentication
Authorization: Bearer ps_your_api_key
Query parameters
| Parameter | Type | Description |
|---|---|---|
| category | string | Filter by category: FOOD, CHEMICALS, RECALLS, PERSONAL_CARE, CHILDREN, ENVIRONMENTAL, DENTAL, OTHER |
| severity | string | Filter by severity: LOW, MEDIUM, HIGH |
| q | string | Search in title and product name |
| limit | number | Results per page (default 20, max 100) |
| offset | number | Pagination offset (default 0) |
Example request
curl https://www.productsafer.com/api/v1/findings?category=FOOD&severity=HIGH&limit=5 \ -H "Authorization: Bearer ps_your_api_key"
Example response
{
"total": 142,
"limit": 5,
"offset": 0,
"data": [
{
"id": "clx...",
"slug": "red-40-dye-hyperactivity",
"title": "Red 40 Dye Linked to Hyperactivity in Children",
"summary": "Multiple studies confirm artificial food dye Red 40...",
"productName": "Red 40 Food Dye",
"brandName": "Kraft",
"category": "FOOD",
"severity": "HIGH",
"sourceName": "Journal of Paediatrics",
"sourceUrl": "https://...",
"publishedAt": "2026-06-12T10:00:00.000Z",
"url": "https://www.productsafer.com/findings/red-40-dye-hyperactivity"
}
]
}/api/v1/findings/:idReturns a single finding by ID or slug, including the full article body (not just the summary).
Example request
curl https://www.productsafer.com/api/v1/findings/red-40-dye-hyperactivity \ -H "Authorization: Bearer ps_your_api_key"
/api/v1/productsProducts grouped from published findings, with finding counts and severity breakdown per product. Sorted by finding count, descending.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| category | string | Filter by category (see /api/v1/categories for valid values) |
| limit | number | Results per page (default 20, max 100) |
| offset | number | Pagination offset (default 0) |
/api/v1/product-safety?q=A single safety grade (A–F) for a product name — matches against published findings and cross-checks the ingredient database. This is the endpoint to use if you just want “is this product safe” rather than paginating findings yourself. CORS-enabled for browser extensions.
Example request
curl "https://www.productsafer.com/api/v1/product-safety?q=Red%2040%20Food%20Dye" \ -H "Authorization: Bearer ps_your_api_key"
/api/v1/categoriesEvery valid category value with a live count of published findings, so you don't have to hardcode the category enum.