{
  "openapi": "3.0.1",
  "info": {
    "title": "Prozorro Scraper",
    "description": "Scrape Ukrainian public tenders from Prozorro (ProZorro): buyers, EDRPOU, CPV, expected value, bids, winners, contracts. Search by keyword or filters.",
    "version": "0.0",
    "x-build-id": "yssvvXt5b7fwGFDf8"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/donjuan_mime~prozorro-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-donjuan_mime-prozorro-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/donjuan_mime~prozorro-scraper/runs": {
      "post": {
        "operationId": "runs-sync-donjuan_mime-prozorro-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/donjuan_mime~prozorro-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-donjuan_mime-prozorro-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": {
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "Keywords to search tenders for, in Ukrainian as they appear in tender titles (for example \"ноутбук\" or \"ремонт дороги\"). Each query runs as its own search with all the filters below.",
            "items": {
              "type": "string"
            }
          },
          "buyerEdrpou": {
            "title": "Buyer EDRPOU codes",
            "type": "array",
            "description": "Only tenders announced by these buyers, by their 8-digit EDRPOU code.",
            "items": {
              "type": "string"
            }
          },
          "cpvCodes": {
            "title": "CPV codes",
            "type": "array",
            "description": "Only tenders for these CPV (DK 021:2015) codes, for example \"30210000-4\" for computers.",
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "title": "Regions",
            "type": "array",
            "description": "Only tenders whose buyer is in these regions. Each region runs as its own search.",
            "items": {
              "type": "string",
              "enum": [
                "kyiv",
                "kyivska",
                "vinnytska",
                "volynska",
                "dnipropetrovska",
                "donetska",
                "zhytomyrska",
                "zakarpatska",
                "zaporizka",
                "ivanofrankivska",
                "kirovohradska",
                "luhanska",
                "lvivska",
                "mykolaivska",
                "odeska",
                "poltavska",
                "rivnenska",
                "sumska",
                "ternopilska",
                "kharkivska",
                "khersonska",
                "khmelnytska",
                "cherkaska",
                "chernivetska",
                "chernihivska"
              ],
              "enumTitles": [
                "Kyiv city",
                "Kyiv oblast",
                "Vinnytsia oblast",
                "Volyn oblast",
                "Dnipropetrovsk oblast",
                "Donetsk oblast",
                "Zhytomyr oblast",
                "Zakarpattia oblast",
                "Zaporizhzhia oblast",
                "Ivano-Frankivsk oblast",
                "Kirovohrad oblast",
                "Luhansk oblast",
                "Lviv oblast",
                "Mykolaiv oblast",
                "Odesa oblast",
                "Poltava oblast",
                "Rivne oblast",
                "Sumy oblast",
                "Ternopil oblast",
                "Kharkiv oblast",
                "Kherson oblast",
                "Khmelnytskyi oblast",
                "Cherkasy oblast",
                "Chernivtsi oblast",
                "Chernihiv oblast"
              ]
            }
          },
          "statuses": {
            "title": "Statuses",
            "type": "array",
            "description": "Only tenders in these statuses.",
            "items": {
              "type": "string",
              "enum": [
                "active.enquiries",
                "active.tendering",
                "active.pre-qualification",
                "active.auction",
                "active.qualification",
                "active.awarded",
                "complete",
                "cancelled",
                "unsuccessful"
              ],
              "enumTitles": [
                "Clarifications period",
                "Accepting bids",
                "Pre-qualification",
                "Auction",
                "Qualification of the winner",
                "Proposals reviewed",
                "Complete",
                "Cancelled",
                "Unsuccessful"
              ]
            }
          },
          "procurementMethodTypes": {
            "title": "Procurement types",
            "type": "array",
            "description": "Only tenders run under these procedures.",
            "items": {
              "type": "string",
              "enum": [
                "belowThreshold",
                "aboveThreshold",
                "aboveThresholdUA",
                "aboveThresholdEU",
                "competitiveOrdering",
                "priceQuotation",
                "negotiation",
                "negotiation.quick",
                "reporting",
                "competitiveDialogueUA",
                "competitiveDialogueEU",
                "closeFrameworkAgreementUA",
                "requestForProposal",
                "simple.defense",
                "esco"
              ],
              "enumTitles": [
                "Below-threshold procurement",
                "Open bidding (with features)",
                "Open bidding",
                "Open bidding with English publication",
                "Competitive ordering",
                "Price quotation request",
                "Negotiated procedure",
                "Negotiated procedure for urgent need",
                "Direct purchase report",
                "Competitive dialogue",
                "Competitive dialogue with English publication",
                "Framework agreement selection",
                "Request for proposal",
                "Simplified defense procurement",
                "ESCO"
              ]
            }
          },
          "minAmount": {
            "title": "Minimum expected value (UAH)",
            "minimum": 0,
            "type": "integer",
            "description": "Only tenders whose expected value is at least this many hryvnias."
          },
          "maxAmount": {
            "title": "Maximum expected value (UAH)",
            "minimum": 0,
            "type": "integer",
            "description": "Only tenders whose expected value is at most this many hryvnias."
          },
          "dateFrom": {
            "title": "Bidding starts from",
            "type": "string",
            "description": "Only tenders whose bidding period starts on or after this date (YYYY-MM-DD). Direct purchases have no bidding period and drop out of a date-filtered search."
          },
          "dateTo": {
            "title": "Bidding starts until",
            "type": "string",
            "description": "Only tenders whose bidding period starts on or before this date (YYYY-MM-DD)."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "newest",
              "oldest",
              "valueHighest",
              "valueLowest"
            ],
            "type": "string",
            "description": "Order of search results.",
            "default": "relevance"
          },
          "tenderIds": {
            "title": "Tender IDs",
            "type": "array",
            "description": "Specific tenders to fetch, by their UA-... ID (for example UA-2026-10-16-013225-a).",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Tender URLs",
            "type": "array",
            "description": "Links to tender pages on prozorro.gov.ua, for example https://prozorro.gov.ua/tender/UA-2026-10-16-013225-a.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max tenders per search",
            "minimum": 1,
            "type": "integer",
            "description": "The maximum number of tenders to scrape from each search query and region. Prozorro serves up to 10,000 results per search.",
            "default": 100
          },
          "includeDetails": {
            "title": "Include details",
            "type": "boolean",
            "description": "Add the full lists of items, lots, bids, awards, contracts, and documents to each tender. Without it you still get the buyer, CPV, value, periods, number of bids, and the winner.",
            "default": false
          },
          "proxyCountryCode": {
            "title": "Proxy country",
            "type": "string",
            "description": "Two-letter country code (UA, PL, ...) to use Apify residential proxy in that country. \"None\" uses Apify datacenter proxy.",
            "default": "None"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}