{
  "openapi": "3.0.1",
  "info": {
    "title": "Product Recall Checker for Brands, UPCs & Products",
    "description": "Check your brands, products, UPCs and model numbers against official U.S. recalls from CPSC, FDA, NHTSA and USDA FSIS. For retailers, marketplace sellers and compliance teams. Returns each matching recall with date, hazard or reason, class, firm, source link and match confidence.",
    "version": "0.1",
    "x-build-id": "4WKNYAJIeCVLhhhXx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ultimatemc~product-recall-matcher/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ultimatemc-product-recall-matcher",
        "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/ultimatemc~product-recall-matcher/runs": {
      "post": {
        "operationId": "runs-sync-ultimatemc-product-recall-matcher",
        "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/ultimatemc~product-recall-matcher/run-sync": {
      "post": {
        "operationId": "run-sync-ultimatemc-product-recall-matcher",
        "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": {
          "watchlist": {
            "title": "Watchlist (brands, products, UPCs, model numbers)",
            "type": "array",
            "description": "One item per line: a brand or company (\"Trader Joe's\"), a UPC (\"0 12345 67890 5\") or a model number (\"TL1302Z\"). The type is detected automatically. The prefill has five brands; replace them with your own.",
            "items": {
              "type": "string"
            }
          },
          "watchItems": {
            "title": "Watch items with options (optional)",
            "type": "array",
            "description": "Objects for more control: {\"term\": \"peanut butter\", \"type\": \"brand\" | \"product\" | \"keyword\" | \"retailer\" | \"upc\" | \"model\", \"exclude\": [\"peanut butter cups\"], \"label\": \"SKU 123\"}. 'product' and 'keyword' also match plurals; 'retailer' looks at where the product was sold."
          },
          "lookbackDays": {
            "title": "Look back (days)",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "How many days of recalls to check, counted back from today (or from Until date). Use 7 on a weekly schedule.",
            "default": 365
          },
          "sinceDate": {
            "title": "Since date (optional)",
            "type": "string",
            "description": "Start of the window as YYYY-MM-DD. Overrides Look back."
          },
          "untilDate": {
            "title": "Until date (optional)",
            "type": "string",
            "description": "End of the window as YYYY-MM-DD. Default: today."
          },
          "sources": {
            "title": "Recall sources",
            "type": "array",
            "description": "Official feeds to check. USDA FSIS (meat, poultry, eggs) is off by default because its firewall currently refuses automated requests; you can turn it on, and if it is refused the run continues and the SUMMARY record says so.",
            "items": {
              "type": "string",
              "enum": [
                "cpsc",
                "fda_food",
                "fda_drug",
                "fda_device",
                "nhtsa",
                "fsis"
              ],
              "enumTitles": [
                "CPSC consumer products",
                "FDA food",
                "FDA drugs",
                "FDA medical devices",
                "NHTSA vehicles & equipment",
                "USDA FSIS meat, poultry & eggs (experimental: usually blocked)"
              ]
            },
            "default": [
              "cpsc",
              "fda_food",
              "fda_drug",
              "fda_device",
              "nhtsa"
            ]
          },
          "minConfidence": {
            "title": "Minimum match confidence",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "description": "0-1. 0.95 = the brand is the recalling firm; 0.85 = in the recall title or product name; 0.55-0.65 = only mentioned in the description. Raise to 0.8 for fewer, stronger matches.",
            "default": 0.5
          },
          "maxResults": {
            "title": "Max matched recalls",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many matched recalls (newest first). 0 = no limit.",
            "default": 0
          },
          "datasetId": {
            "title": "Product catalog dataset (optional)",
            "type": "string",
            "description": "Apify dataset with your products, for example a store or marketplace scraper's output. Brands (brand, manufacturer, vendor) and UPC/GTIN/EAN fields are added to the watchlist automatically."
          },
          "brandField": {
            "title": "Brand field (optional)",
            "type": "string",
            "description": "Field in the dataset that holds the brand, if not brand/manufacturer/vendor."
          },
          "maxDatasetItems": {
            "title": "Max dataset items",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of catalog items to read from the dataset.",
            "default": 5000
          },
          "openFdaApiKey": {
            "title": "openFDA API key (optional)",
            "type": "string",
            "description": "Your free openFDA key raises FDA rate limits for very frequent runs. Not needed normally."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}