{
  "openapi": "3.0.1",
  "info": {
    "title": "FDA Orange Book Scraper: Patents and Exclusivity",
    "description": "Scrape the FDA Orange Book for approved drugs with their patents, exclusivities and generic competition. See when protection ends, which brands have no generic yet, patent kinds, use codes and equivalence codes, plus a calendar of patent and exclusivity expiries. Export to CSV or Excel.",
    "version": "1.0",
    "x-build-id": "Itqf72AdrVcApSE5B"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parselab~fda-orange-book-patents-exclusivity-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parselab-fda-orange-book-patents-exclusivity-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/parselab~fda-orange-book-patents-exclusivity-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parselab-fda-orange-book-patents-exclusivity-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/parselab~fda-orange-book-patents-exclusivity-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parselab-fda-orange-book-patents-exclusivity-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": {
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000."
          },
          "mode": {
            "title": "What to collect",
            "enum": [
              "products",
              "patents",
              "expirations"
            ],
            "type": "string",
            "description": "Products returns one row per approved drug product with all its patents, exclusivities and generic competition. Patents returns one row per patent. Expiry calendar returns one row per patent or exclusivity that ends, in date order.",
            "default": "products"
          },
          "ingredients": {
            "title": "Active ingredients",
            "type": "array",
            "description": "Part of an ingredient name, for example semaglutide, apixaban or metformin.",
            "items": {
              "type": "string"
            }
          },
          "tradeNames": {
            "title": "Brand names",
            "type": "array",
            "description": "Part of a brand name, for example Eliquis or Ozempic.",
            "items": {
              "type": "string"
            }
          },
          "applicants": {
            "title": "Companies",
            "type": "array",
            "description": "Part of the name of the application holder, for example Pfizer, Novo or Teva.",
            "items": {
              "type": "string"
            }
          },
          "applicationNumbers": {
            "title": "Application numbers",
            "type": "array",
            "description": "FDA application numbers, for example 021436 or N021436.",
            "items": {
              "type": "string"
            }
          },
          "applicationTypes": {
            "title": "Application types",
            "type": "array",
            "description": "NDA for brand drugs or ANDA for generic drugs.",
            "items": {
              "type": "string",
              "enum": [
                "NDA",
                "ANDA"
              ]
            }
          },
          "productTypes": {
            "title": "Marketing types",
            "type": "array",
            "description": "RX for prescription, OTC for over the counter, DISCN for discontinued products.",
            "items": {
              "type": "string",
              "enum": [
                "RX",
                "OTC",
                "DISCN"
              ]
            }
          },
          "teCodes": {
            "title": "Therapeutic equivalence codes",
            "type": "array",
            "description": "For example AB, AB1, AP or BX. Codes starting with A mean that a generic can replace the brand.",
            "items": {
              "type": "string"
            }
          },
          "routes": {
            "title": "Routes",
            "type": "array",
            "description": "Part of the route of administration, for example oral, injectable or topical.",
            "items": {
              "type": "string"
            }
          },
          "dosageForms": {
            "title": "Dosage forms",
            "type": "array",
            "description": "Part of the dosage form, for example tablet, capsule or solution.",
            "items": {
              "type": "string"
            }
          },
          "onlyReferenceListed": {
            "title": "Only reference listed drugs",
            "type": "boolean",
            "description": "Keep the brand products that generics must match.",
            "default": false
          },
          "approvedFrom": {
            "title": "Approved from",
            "type": "string",
            "description": "First approval date, in the form 2020-01-31."
          },
          "approvedTo": {
            "title": "Approved until",
            "type": "string",
            "description": "Last approval date."
          },
          "onlyWithPatents": {
            "title": "Only products with a listed patent",
            "type": "boolean",
            "description": "Keep products that still have at least one patent in the list.",
            "default": false
          },
          "onlyWithExclusivity": {
            "title": "Only products with exclusivity",
            "type": "boolean",
            "description": "Keep products with a period of market exclusivity.",
            "default": false
          },
          "genericAvailability": {
            "title": "Generic competition",
            "enum": [
              "any",
              "noGeneric",
              "hasGeneric"
            ],
            "type": "string",
            "description": "Brand products with no approved generic are the ones where a first generic may still come. A generic counts when an approved generic has the same ingredient, dosage form and route.",
            "default": "any"
          },
          "expiresFrom": {
            "title": "Expires from",
            "type": "string",
            "description": "Patents and expiry calendar modes. First expiry date, in the form 2027-01-01. Without dates the calendar shows all upcoming expiries."
          },
          "expiresTo": {
            "title": "Expires until",
            "type": "string",
            "description": "Patents and expiry calendar modes. Last expiry date."
          },
          "expirationKinds": {
            "title": "Kinds of expiry",
            "type": "array",
            "description": "Expiry calendar mode. Patents, exclusivities or both.",
            "items": {
              "type": "string",
              "enum": [
                "patent",
                "exclusivity"
              ]
            }
          },
          "patentFlags": {
            "title": "Patent kinds",
            "type": "array",
            "description": "Patents and expiry calendar modes. Substance patents protect the active ingredient, product patents the formulation, use patents a method of use.",
            "items": {
              "type": "string",
              "enum": [
                "substance",
                "product",
                "use"
              ]
            }
          },
          "includeDelisted": {
            "title": "Include delisted patents",
            "type": "boolean",
            "description": "Patents and expiry calendar modes. Adds patents that the application holder asked to remove from the list.",
            "default": false
          },
          "sortBy": {
            "title": "Sort products by",
            "enum": [
              "name",
              "approval",
              "protectionEnds"
            ],
            "type": "string",
            "description": "Products mode.",
            "default": "name"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}