{
  "openapi": "3.0.1",
  "info": {
    "title": "OpenPayments Scraper",
    "description": "Automate healthcare payment data collection from the CMS Open Payments database. Extract detailed financial relationships between providers and medical companies including research payments, general payments, and ownership interests. Ideal for researchers, compliance teams, and transparency work.",
    "version": "1.0",
    "x-build-id": "pqkZRd2meXm913qXY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~openpayments-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-openpayments-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/parseforge~openpayments-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-openpayments-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/parseforge~openpayments-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-openpayments-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": {
          "startUrl": {
            "title": "Start URL (Alternative)",
            "type": "string",
            "description": "Direct API URL to scrape. Cannot be used together with filter parameters. Leave empty to use filters instead."
          },
          "searchType": {
            "title": "Search Type",
            "enum": [
              "individualProvider",
              "teachingHospital",
              "company"
            ],
            "type": "string",
            "description": "Select the type of search to perform. Only one search type can be selected at a time. The corresponding filter section will be used."
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: Limited to 100. Paid users: Optional, max 1,000,000"
          },
          "individualProviderCountry": {
            "title": "Country",
            "enum": [
              "",
              "UNITED STATES",
              "AUSTRALIA",
              "BAHRAIN",
              "BERMUDA",
              "BRAZIL",
              "CAMEROON",
              "CANADA",
              "CHINA",
              "EGYPT",
              "FRANCE",
              "GABON",
              "GERMANY",
              "GREAT BRITAIN (UK)",
              "GUATEMALA",
              "INDIA",
              "IRELAND",
              "ISRAEL",
              "ITALY",
              "JAPAN",
              "KOREA (REPUBLIC OF)",
              "LEBANON",
              "MADAGASCAR",
              "MEXICO",
              "NETHERLANDS ANTILLES",
              "NEW ZEALAND",
              "PAKISTAN",
              "PAPUA NEW GUINEA",
              "PHILIPPINES",
              "SAUDI ARABIA",
              "SPAIN",
              "SWITZERLAND",
              "TRINIDAD AND TOBAGO",
              "TURKEY",
              "UGANDA",
              "UNITED ARAB EMIRATES",
              "UNITED STATES MINOR OUTLYING ISLANDS"
            ],
            "type": "string",
            "description": "Filter by country name. Only used when searchType is 'individualProvider'."
          },
          "individualProviderFirstName": {
            "title": "First Name",
            "type": "string",
            "description": "Filter by provider first name. Only used when searchType is 'individualProvider'."
          },
          "individualProviderLastName": {
            "title": "Last Name",
            "type": "string",
            "description": "Filter by provider last name. Only used when searchType is 'individualProvider'."
          },
          "individualProviderCity": {
            "title": "City",
            "type": "string",
            "description": "Filter by city name. Only used when searchType is 'individualProvider'."
          },
          "individualProviderZip": {
            "title": "Zip/Postal code",
            "type": "string",
            "description": "Filter by zip/postal code. Only used when searchType is 'individualProvider'."
          },
          "individualProviderType": {
            "title": "Provider Type",
            "enum": [
              "",
              "Covered Recipient Physician",
              "Covered Recipient Non-Physician Practitioner"
            ],
            "type": "string",
            "description": "Matches the Open Payments Type filter (e.g., 'Covered Recipient Physician'). Only used when searchType is 'individualProvider'."
          },
          "individualProviderNpi": {
            "title": "NPI",
            "type": "string",
            "description": "Filter by National Provider Identifier. Only used when searchType is 'individualProvider'."
          },
          "teachingHospitalName": {
            "title": "Hospital Name",
            "type": "string",
            "description": "Filter by hospital name. Only used when searchType is 'teachingHospital'."
          },
          "teachingHospitalCity": {
            "title": "City",
            "type": "string",
            "description": "Filter by hospital city. Only used when searchType is 'teachingHospital'."
          },
          "teachingHospitalZip": {
            "title": "Zip code",
            "type": "string",
            "description": "Filter by hospital zip/postal code. Only used when searchType is 'teachingHospital'."
          },
          "companyName": {
            "title": "Company Name",
            "type": "string",
            "description": "Filter by company name. Only used when searchType is 'company'."
          },
          "companyCountry": {
            "title": "Country",
            "enum": [
              "",
              "United States",
              "Australia",
              "Bahrain",
              "Bermuda",
              "Brazil",
              "Cameroon",
              "Canada",
              "China",
              "Egypt",
              "France",
              "Gabon",
              "Germany",
              "Great Britain (UK)",
              "Guatemala",
              "India",
              "Ireland",
              "Israel",
              "Italy",
              "Japan",
              "Korea (Republic of)",
              "Lebanon",
              "Madagascar",
              "Mexico",
              "Netherlands Antilles",
              "New Zealand",
              "Pakistan",
              "Papua New Guinea",
              "Philippines",
              "Saudi Arabia",
              "Spain",
              "Switzerland",
              "Trinidad and Tobago",
              "Turkey",
              "Uganda",
              "United Arab Emirates",
              "United States Minor Outlying Islands"
            ],
            "type": "string",
            "description": "Filter by country name. Only used when searchType is 'company'."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}