{
  "openapi": "3.0.1",
  "info": {
    "title": "EU RASFF Food & Feed Safety Alerts Scraper",
    "description": "Scrape EU RASFF food, feed and product safety alert notifications. Extract reference, date, notifying country, subject, hazard, product category, risk decision, action taken, distribution and origin countries. Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "uBKG44kv0fEdNjC76"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~eu-rasff-food-alerts-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-eu-rasff-food-alerts-scraper",
        "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/scrapers_lat~eu-rasff-food-alerts-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-eu-rasff-food-alerts-scraper",
        "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/scrapers_lat~eu-rasff-food-alerts-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-eu-rasff-food-alerts-scraper",
        "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": {
          "keyword": {
            "title": "Subject / Keyword",
            "type": "string",
            "description": "Free-text search over the alert subject (e.g. 'salmonella', 'aflatoxin', 'listeria')."
          },
          "hazardCategories": {
            "title": "Hazard Categories",
            "type": "array",
            "description": "Filter by hazard / reason category, e.g. 'pathogenic micro-organisms', 'mycotoxins', 'allergens', 'foreign bodies', 'residues'. Names are matched case-insensitively; numeric ids also accepted.",
            "items": {
              "type": "string"
            }
          },
          "notifyingCountries": {
            "title": "Notifying Countries",
            "type": "array",
            "description": "Filter by the country that raised the alert. Accepts ISO alpha-2 codes (e.g. DE, FR, IT) or country names.",
            "items": {
              "type": "string"
            }
          },
          "originCountries": {
            "title": "Origin Countries",
            "type": "array",
            "description": "Filter by product country of origin. Accepts ISO alpha-2 codes or country names.",
            "items": {
              "type": "string"
            }
          },
          "distributionCountries": {
            "title": "Distribution / Countries Concerned",
            "type": "array",
            "description": "Filter by countries where the product was distributed. Accepts ISO alpha-2 codes or country names.",
            "items": {
              "type": "string"
            }
          },
          "productCategories": {
            "title": "Product Categories",
            "type": "array",
            "description": "Filter by product category, e.g. 'nuts, nut products and seeds', 'meat and meat products', 'dietetic foods, food supplements and fortified foods'.",
            "items": {
              "type": "string"
            }
          },
          "riskDecisions": {
            "title": "Risk Decisions",
            "type": "array",
            "description": "Filter by risk decision, e.g. 'serious', 'potentially serious', 'not serious', 'undecided', 'no risk'.",
            "items": {
              "type": "string"
            }
          },
          "notificationClassifications": {
            "title": "Notification Classifications",
            "type": "array",
            "description": "Filter by classification, e.g. 'alert notification', 'border rejection notification', 'information notification for follow-up'.",
            "items": {
              "type": "string"
            }
          },
          "dateFrom": {
            "title": "Date From (YYYY-MM-DD)",
            "type": "string",
            "description": "Only alerts validated on or after this date."
          },
          "dateTo": {
            "title": "Date To (YYYY-MM-DD)",
            "type": "string",
            "description": "Only alerts validated on or before this date."
          },
          "year": {
            "title": "Year",
            "type": "string",
            "description": "Convenience shortcut: restrict to a single calendar year (e.g. 2026). Ignored if Date From/To are set."
          },
          "sortMode": {
            "title": "Sort Order",
            "enum": [
              "Newest first",
              "Oldest first"
            ],
            "type": "string",
            "description": "Order alerts by validation date.",
            "default": "Newest first"
          },
          "withHazardDetails": {
            "title": "Include Hazard & Action Details",
            "type": "boolean",
            "description": "Enrich each alert with hazard description, action taken, distribution/countries concerned and contact details. Leave on for the complete record.",
            "default": true
          },
          "maxAlerts": {
            "title": "Max Alerts To Scrape",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of alert notifications to return."
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}