{
  "openapi": "3.0.1",
  "info": {
    "title": "Product Recalls Feed — FDA, CPSC & NHTSA Recall Alerts",
    "description": "Get US product recalls from FDA (food, drugs, medical devices), CPSC (consumer products) and NHTSA (vehicles) in one clean schema. Filter by keyword, brand, category, date and FDA class; new-only mode for recall alerts. $0.003 per recall.",
    "version": "0.1",
    "x-build-id": "LBxBYNXzaQ06JCmjs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/signalloom~product-recalls-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-signalloom-product-recalls-feed",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/signalloom~product-recalls-feed/runs": {
      "post": {
        "operationId": "runs-sync-signalloom-product-recalls-feed",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/signalloom~product-recalls-feed/run-sync": {
      "post": {
        "operationId": "run-sync-signalloom-product-recalls-feed",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "sources": {
            "title": "Sources",
            "type": "array",
            "description": "Which recall databases to search. FDA = US Food and Drug Administration enforcement reports; CPSC = US Consumer Product Safety Commission; NHTSA = US vehicle recalls (needs the Vehicles field). API values: \"fda-food\", \"fda-drug\", \"fda-device\", \"cpsc\", \"nhtsa\".",
            "items": {
              "type": "string",
              "enum": [
                "fda-food",
                "fda-drug",
                "fda-device",
                "cpsc",
                "nhtsa"
              ],
              "enumTitles": [
                "FDA food",
                "FDA drugs",
                "FDA medical devices",
                "CPSC consumer products",
                "NHTSA vehicles"
              ]
            },
            "default": [
              "fda-food",
              "fda-drug",
              "fda-device",
              "cpsc"
            ]
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Optional. Keep recalls that mention any of these words in the title, product, reason or hazard, e.g. \"listeria\", \"peanut\", \"lithium battery\". Matching is case-insensitive at the start of a word (\"peanut\" also finds \"peanuts\"). Leave empty for all recalls. Example: [\"listeria\", \"lithium battery\"].",
            "items": {
              "type": "string"
            }
          },
          "brands": {
            "title": "Brands or companies",
            "type": "array",
            "description": "Optional. Keep recalls whose brand, recalling firm, manufacturer, importer or vehicle make mentions any of these names, e.g. \"Ford\", \"Trader Joe\". Leave empty for all. Example: [\"Ford\"].",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Product categories",
            "type": "array",
            "description": "Optional. Keep recalls whose product type or description mentions any of these, e.g. \"toys\", \"strollers\", \"supplement\", \"air bags\". CPSC has product types, NHTSA has the affected component, FDA has the product description.",
            "items": {
              "type": "string"
            }
          },
          "vehicles": {
            "title": "Vehicles (for NHTSA)",
            "type": "array",
            "description": "Model year plus make, optionally a model: \"2025 Ford\" (all Ford models of 2025 with recalls) or \"2024 Honda Accord\". Only used when the NHTSA source is selected. Up to 60 make/model/year combinations are checked per run. Example: [\"2024 Honda Accord\"].",
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Posted within the last N days",
            "minimum": 0,
            "maximum": 36500,
            "type": "integer",
            "description": "Only recalls published in the last N days (FDA enforcement report date, CPSC recall date, NHTSA report date). 0 = no date limit. Ignored if a date range is set below. Example: 7.",
            "default": 30
          },
          "dateFrom": {
            "title": "From date",
            "type": "string",
            "description": "Optional start date, YYYY-MM-DD. Overrides \"Posted within the last N days\". Example: \"2026-10-01\"."
          },
          "dateTo": {
            "title": "To date",
            "type": "string",
            "description": "Optional end date, YYYY-MM-DD. Overrides \"Posted within the last N days\"."
          },
          "classifications": {
            "title": "FDA classification",
            "type": "array",
            "description": "Optional. Only FDA recalls of these classes: Class I (serious health risk), Class II, Class III (unlikely to cause harm). CPSC and NHTSA recalls have no classes and are not affected.",
            "items": {
              "type": "string",
              "enum": [
                "Class I",
                "Class II",
                "Class III"
              ],
              "enumTitles": [
                "Class I (most serious)",
                "Class II",
                "Class III"
              ]
            }
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum recalls to return in total, newest first. When the cap is hit, every selected source gets a fair share. Example: 20.",
            "default": 100
          },
          "onlyNew": {
            "title": "Only new recalls (alerts)",
            "type": "boolean",
            "description": "Return only recalls that are new since the last run with the same sources and filters. Use it with a schedule for recall alerts. The first run returns the newest matches and remembers all current matches as the starting point.",
            "default": false
          },
          "openFdaApiKey": {
            "title": "openFDA API key (optional)",
            "type": "string",
            "description": "Optional free key from open.fda.gov for higher FDA rate limits. Not needed for normal use."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}