Api Endpoint

RecallRadar

Search consumer-product safety notices by authority, jurisdiction, recall status, category, risk, hazard, manufacturer, date, or free text.

Open interactive test console

Offering

Provider
api.recallradar.dev
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Legal And Compliance
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://api.recallradar.dev/v1/recalls
MIME type
application/json
First seen
2026-10-16T01:50:10.647Z
Last seen
Tags
recalls, product-safety, compliance, consumer-products, provenance

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.1 USDC
Atomic price: 100000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "100000",
    "payTo": "0x1Ee42717b1c370dACE197a8850Bf41a932F3b5A8"
  }
]

Observed health

Status
Healthy
Latest latency
97 ms
Average latency
391 ms
HTTP status
402
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "q": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "authority": {
          "type": "string",
          "enum": [
            "cpsc",
            "eu-safety-gate",
            "health-canada",
            "gov-uk-opss",
            "accc",
            "fr-rappelconso",
            "tw-bsmi",
            "fi-tukes-historical"
          ]
        },
        "jurisdiction": {
          "type": "string",
          "minLength": 2,
          "maxLength": 3
        },
        "category_code": {
          "type": "string",
          "enum": [
            "toys",
            "cosmetics",
            "appliances",
            "clothing",
            "chemicals",
            "jewellery",
            "childcare",
            "ppe",
            "lighting",
            "machinery",
            "sports",
            "household",
            "furniture",
            "kitchen",
            "electronics",
            "tools",
            "gas",
            "stationery",
            "food_imitating",
            "garden",
            "vehicles",
            "other"
          ]
        },
        "risk_level": {
          "type": "string",
          "enum": [
            "high",
            "medium",
            "low",
            "unknown"
          ]
        },
        "hazard": {
          "type": "string",
          "minLength": 1,
          "maxLength": 60
        },
        "manufacturer": {
          "type": "string",
          "minLength": 1,
          "maxLength": 120
        },
        "published_from": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "published_to": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
        },
        "is_recall": {
          "type": "string",
          "enum": [
            "true",
            "false"
          ]
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 20
        },
        "cursor": {
          "type": "string",
          "description": "Opaque keyset cursor from a previous response."
        },
        "count": {
          "type": "boolean",
          "description": "Include the total matching-record count."
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "additionalProperties": false,
          "properties": {
            "authority": {
              "enum": [
                "cpsc",
                "eu-safety-gate",
                "health-canada",
                "gov-uk-opss",
                "accc",
                "fr-rappelconso",
                "tw-bsmi",
                "fi-tukes-historical"
              ],
              "type": "string"
            },
            "category_code": {
              "enum": [
                "toys",
                "cosmetics",
                "appliances",
                "clothing",
                "chemicals",
                "jewellery",
                "childcare",
                "ppe",
                "lighting",
                "machinery",
                "sports",
                "household",
                "furniture",
                "kitchen",
                "electronics",
                "tools",
                "gas",
                "stationery",
                "food_imitating",
                "garden",
                "vehicles",
                "other"
              ],
              "type": "string"
            },
            "count": {
              "description": "Include the total matching-record count.",
              "type": "boolean"
            },
            "cursor": {
              "description": "Opaque keyset cursor from a previous response.",
              "type": "string"
            },
            "hazard": {
              "maxLength": 60,
              "minLength": 1,
              "type": "string"
            },
            "is_recall": {
              "enum": [
                "true",
                "false"
              ],
              "type": "string"
            },
            "jurisdiction": {
              "maxLength": 3,
              "minLength": 2,
              "type": "string"
            },
            "limit": {
              "default": 20,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            },
            "manufacturer": {
              "maxLength": 120,
              "minLength": 1,
              "type": "string"
            },
            "published_from": {
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            },
            "published_to": {
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            },
            "q": {
              "maxLength": 160,
              "minLength": 1,
              "type": "string"
            },
            "risk_level": {
              "enum": [
                "high",
                "medium",
                "low",
                "unknown"
              ],
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "additionalProperties": false,
          "properties": {
            "data": {
              "items": {
                "additionalProperties": true,
                "properties": {
                  "_provenance": {
                    "additionalProperties": true,
                    "type": "object"
                  },
                  "id": {
                    "minimum": 1,
                    "type": "integer"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "has_more": {
              "type": "boolean"
            },
            "next_cursor": {
              "type": [
                "string",
                "null"
              ]
            },
            "total": {
              "minimum": 0,
              "type": "integer"
            }
          },
          "required": [
            "data",
            "has_more",
            "next_cursor"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}