ProductSafer API

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.

Get a free API key

1,000 requests per day. No credit card required. One key per email address.

Need more than 1,000 requests/day?

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 Reference

GET/api/v1/findings

Returns a paginated list of published safety findings.

Authentication

Authorization: Bearer ps_your_api_key

Query parameters

ParameterTypeDescription
categorystringFilter by category: FOOD, CHEMICALS, RECALLS, PERSONAL_CARE, CHILDREN, ENVIRONMENTAL, DENTAL, OTHER
severitystringFilter by severity: LOW, MEDIUM, HIGH
qstringSearch in title and product name
limitnumberResults per page (default 20, max 100)
offsetnumberPagination 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"
    }
  ]
}
GET/api/v1/findings/:id

Returns 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"
GET/api/v1/products

Products grouped from published findings, with finding counts and severity breakdown per product. Sorted by finding count, descending.

Query parameters

ParameterTypeDescription
categorystringFilter by category (see /api/v1/categories for valid values)
limitnumberResults per page (default 20, max 100)
offsetnumberPagination offset (default 0)
GET/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"
GET/api/v1/categories

Every valid category value with a live count of published findings, so you don't have to hardcode the category enum.

Rate limits & fair use

  • • Free tier: 1,000 requests per day
  • • Growth tier: 20,000 requests per day (£49/mo)
  • • Scale tier: 200,000 requests per day (£199/mo)
  • • Limit applies per key, across all v1 endpoints combined
  • • A separate 300 requests/minute cap applies per IP address, regardless of key, as an anti-abuse safeguard
  • • Data is for informational purposes only. Do not use for medical decisions.