{
  "openapi": "3.0.1",
  "info": {
    "title": "FDA Drug Establishments (DECRS) - Daily Changes & Removals",
    "description": "Every drug establishment registered with the US FDA (about 10,500 firms: API makers, manufacturers, labs, packagers) with country, operations and expiry, plus what the FDA does not keep: daily new registrations, renewals, changes and removals.",
    "version": "0.1",
    "x-build-id": "NOXVf5NXtfYwNbWfF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rastriq~fda-drug-establishments-delta/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rastriq-fda-drug-establishments-delta",
        "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/rastriq~fda-drug-establishments-delta/runs": {
      "post": {
        "operationId": "runs-sync-rastriq-fda-drug-establishments-delta",
        "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/rastriq~fda-drug-establishments-delta/run-sync": {
      "post": {
        "operationId": "run-sync-rastriq-fda-drug-establishments-delta",
        "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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "snapshot",
              "delta",
              "preloaded"
            ],
            "type": "string",
            "description": "<b>Delta</b> (default when empty): only new, changed, renewed and removed establishments since your last run; the first run returns everything as <code>baseline</code>.<br><b>Snapshot</b>: the full list in scope on every run, each row tagged with its change type.<br><b>Preloaded</b>: a pre-built copy of the full list at a lower price per row (no change tracking)."
          },
          "countries": {
            "title": "Countries (ISO3)",
            "type": "array",
            "description": "Keep only establishments located in these countries, 3-letter ISO codes read from the address (e.g. <code>ESP</code>, <code>IND</code>, <code>CHN</code>). Empty = all countries. You can type any other code and press Enter.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "ESP",
                "USA",
                "IND",
                "CHN",
                "DEU",
                "CAN",
                "FRA",
                "ITA",
                "KOR",
                "JPN",
                "GBR",
                "CHE",
                "IRL",
                "ISR",
                "TWN",
                "BRA",
                "MEX",
                "AUS",
                "NLD",
                "BEL",
                "PRT",
                "POL",
                "SGP",
                "THA",
                "ARG"
              ],
              "enumTitles": [
                "Spain (ESP)",
                "United States (USA)",
                "India (IND)",
                "China (CHN)",
                "Germany (DEU)",
                "Canada (CAN)",
                "France (FRA)",
                "Italy (ITA)",
                "South Korea (KOR)",
                "Japan (JPN)",
                "United Kingdom (GBR)",
                "Switzerland (CHE)",
                "Ireland (IRL)",
                "Israel (ISR)",
                "Taiwan (TWN)",
                "Brazil (BRA)",
                "Mexico (MEX)",
                "Australia (AUS)",
                "Netherlands (NLD)",
                "Belgium (BEL)",
                "Portugal (PRT)",
                "Poland (POL)",
                "Singapore (SGP)",
                "Thailand (THA)",
                "Argentina (ARG)"
              ]
            }
          },
          "operations": {
            "title": "Operations",
            "type": "array",
            "description": "Keep establishments that perform at least one of these operations (exact match on the normalised operation name). Empty = all. Example: <code>API MANUFACTURE</code> for active-ingredient makers.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "API MANUFACTURE",
                "MANUFACTURE",
                "ANALYSIS",
                "PACK",
                "REPACK",
                "LABEL",
                "RELABEL",
                "STERILIZE",
                "MEDICATED ANIMAL FEED MANUFACTURE",
                "POSITRON EMISSION TOMOGRAPHY DRUG PRODUCTION",
                "TRANSFILL",
                "PARTICLE SIZE REDUCTION",
                "DISTRIBUTE",
                "SALVAGE",
                "SIP FOREIGN SELLER"
              ]
            }
          },
          "includeExcluded": {
            "title": "Include excluded establishments",
            "type": "boolean",
            "description": "Also load the FDA list of establishments <b>excluded</b> from the registry (23 firms, flag <code>E</code>). They have no operations or expiry date.",
            "default": false
          },
          "includeRenewals": {
            "title": "Include renewals",
            "type": "boolean",
            "description": "<b>Delta mode only.</b> A renewal is an establishment whose only change is a later expiry date (the yearly registration renewal). Most registrations expire on 31 December, so between October and December <b>thousands of renewals</b> are billed at the change price. Untick to skip them: they are not returned or billed, but your stored state still moves forward, so they will not reappear.",
            "default": true
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many rows (0 or empty = no limit). Rows not delivered stay pending and are delivered in your next delta run. Also a handy cost cap."
          },
          "stateKey": {
            "title": "State key (advanced)",
            "type": "string",
            "description": "Name of your delta stream. Runs with the same key (or the same filters, if empty) compare against each other. Use a different key to keep separate change histories."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}