{
  "openapi": "3.0.1",
  "info": {
    "title": "OLX Scraper: olx.pl/ua/ro/pt/bg/kz/uz (search, filters, alerts)",
    "description": "OLX scraper for olx.pl, olx.ua, olx.ro, olx.pt, olx.bg, olx.kz and olx.uz: search by keyword, category, city, region and price. Rows carry price, currency, condition, location, coordinates, seller type, photos and every OLX parameter. Monitor mode alerts on new listings and price cuts. No login.",
    "version": "0.1",
    "x-build-id": "kBIA3MA9vp4Z9UJAm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datahamster~olx-europe-listings/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datahamster-olx-europe-listings",
        "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/datahamster~olx-europe-listings/runs": {
      "post": {
        "operationId": "runs-sync-datahamster-olx-europe-listings",
        "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/datahamster~olx-europe-listings/run-sync": {
      "post": {
        "operationId": "run-sync-datahamster-olx-europe-listings",
        "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": {
          "country": {
            "title": "Country",
            "enum": [
              "pl",
              "ua",
              "ro",
              "pt",
              "bg",
              "kz",
              "uz"
            ],
            "type": "string",
            "description": "Which OLX site to search. Accepted codes: pl (olx.pl, Poland), ua (olx.ua, Ukraine), ro (olx.ro, Romania), pt (olx.pt, Portugal), bg (olx.bg, Bulgaria), kz (olx.kz, Kazakhstan), uz (olx.uz, Uzbekistan). Example: \"pl\".",
            "default": "pl"
          },
          "queries": {
            "title": "Search queries",
            "type": "array",
            "description": "Free-text searches, one string per search phrase, each paginated separately. Example: [\"rower\", \"rower gorski\"]. Leave empty only if you pass categoryId or offerIds.",
            "default": [
              "rower"
            ],
            "items": {
              "type": "string"
            }
          },
          "categoryId": {
            "title": "Category id",
            "minimum": 1,
            "type": "integer",
            "description": "OLX numeric category id to restrict the search; read it from the category_id parameter in OLX's own filter URL. Example: 1607. Optional."
          },
          "cityId": {
            "title": "City id",
            "minimum": 1,
            "type": "integer",
            "description": "OLX numeric city id; read it from the city_id parameter in an OLX filter URL. Example: 17871. Optional."
          },
          "regionId": {
            "title": "Region id",
            "minimum": 1,
            "type": "integer",
            "description": "OLX numeric region id; read it from the region_id parameter in an OLX filter URL. Example: 4. Optional."
          },
          "priceFrom": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price, a whole number in the site's own currency (PLN for olx.pl, UAH for olx.ua, RON, EUR, BGN, KZT, UZS). Example: 500. Optional."
          },
          "priceTo": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price, a whole number in the site's own currency. Example: 2000. Optional."
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "created_at:desc",
              "relevance:desc",
              "filter_float_price:asc",
              "filter_float_price:desc"
            ],
            "type": "string",
            "description": "Result order: created_at:desc (newest first), relevance:desc, filter_float_price:asc (cheapest first), filter_float_price:desc. Example: \"created_at:desc\".",
            "default": "created_at:desc"
          },
          "maxPages": {
            "title": "Pages per query",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "How many result pages to fetch per query, 40 listings per page. OLX caps any single query at 1,000 listings, so narrow by category or price to go deeper. Example: 5.",
            "default": 5
          },
          "offerIds": {
            "title": "Offer ids",
            "type": "array",
            "description": "Numeric OLX offer ids to fetch as full detail rows (long description and every parameter), instead of or in addition to a search. Example: [\"928010872\"].",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "type": "integer",
            "description": "Stop the run after this many listings; you are charged only for listings actually pushed. Example: 20.",
            "default": 20
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "scrape",
              "monitor"
            ],
            "type": "string",
            "description": "scrape = return all matching listings; monitor = return only listings that are new or changed price/status since the previous run of this saved Task. Example: \"scrape\".",
            "default": "scrape"
          },
          "monitorStateId": {
            "title": "Monitor state id",
            "type": "string",
            "description": "Optional state id when not running as a saved task (monitor mode)"
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "Optional HTTPS URL that receives a POST with the monitor-mode change summary (JSON). Example: \"https://hooks.example.com/olx\"."
          },
          "telegramBotToken": {
            "title": "Telegram bot token",
            "type": "string",
            "description": "Optional Telegram bot token used to send monitor-mode change summaries. Format: \"123456789:AA...\"."
          },
          "telegramChatId": {
            "title": "Telegram chat id",
            "type": "string",
            "description": "Optional Telegram chat id that receives monitor-mode summaries. Example: \"-1001234567890\"."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}