{
  "openapi": "3.0.1",
  "info": {
    "title": "OLX Scraper - Poland, Romania, Bulgaria, Portugal & Ukraine",
    "description": "Scrape OLX listings from 7 countries with one Actor. Paste any OLX search URL or type keywords. Gets price, attributes, location, seller, photos and description. Breaks OLX's 1,000-result limit and supports new-listing monitoring.",
    "version": "1.0",
    "x-build-id": "eIu9nxU8EpNifWAHt"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/gololo~olx-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-gololo-olx-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/gololo~olx-scraper/runs": {
      "post": {
        "operationId": "runs-sync-gololo-olx-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/gololo~olx-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-gololo-olx-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": {
          "startUrls": {
            "title": "OLX search or offer URLs",
            "type": "array",
            "description": "Paste one or more OLX search result URLs or direct single-listing offer URLs from olx.pl, olx.ro, olx.bg, olx.pt, olx.ua, olx.kz or olx.uz. Set up category, city, keyword, price and other filters on OLX first, then copy the URL from your browser. All filters are kept.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchQueries": {
            "title": "Keywords (alternative to URLs)",
            "type": "array",
            "description": "Search by keyword instead of URL. Each keyword is searched on the country selected below.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country for keyword search",
            "enum": [
              "pl",
              "ro",
              "bg",
              "pt",
              "ua",
              "kz",
              "uz"
            ],
            "type": "string",
            "description": "Which OLX site to search when you use keywords. Ignored for pasted URLs (the URL already tells us the country).",
            "default": "pl"
          },
          "minPrice": {
            "title": "Minimum price (keyword search)",
            "minimum": 0,
            "type": "integer",
            "description": "Only for keyword search. In the site's local currency."
          },
          "maxPrice": {
            "title": "Maximum price (keyword search)",
            "minimum": 0,
            "type": "integer",
            "description": "Only for keyword search. In the site's local currency."
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "keep",
              "newest",
              "cheapest",
              "most_expensive",
              "relevance"
            ],
            "type": "string",
            "description": "'Keep URL sort' uses the sorting from your pasted URL.",
            "default": "keep"
          },
          "maxItems": {
            "title": "Max listings (total)",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many listings across all searches. 0 = no limit. You pay per listing, so this also caps your cost.",
            "default": 100
          },
          "maxItemsPerSearch": {
            "title": "Max listings per search",
            "minimum": 0,
            "type": "integer",
            "description": "Optional cap for each URL / keyword. 0 = no limit.",
            "default": 0
          },
          "includeDescription": {
            "title": "Include full description",
            "type": "boolean",
            "description": "Adds the listing description as clean plain text.",
            "default": true
          },
          "bypassResultCap": {
            "title": "Get more than 1,000 results",
            "type": "boolean",
            "description": "OLX only shows the first 1,000 results of any search. When enabled, large searches are automatically split into price ranges so every listing can be reached.",
            "default": true
          },
          "onlyNewListings": {
            "title": "Only new listings since last run (monitoring)",
            "type": "boolean",
            "description": "Remembers which listings this exact input already returned and skips them next time. Combine with an Apify Schedule to get alerts for fresh listings only. You are not charged for skipped listings.",
            "default": false
          },
          "trackPriceChanges": {
            "title": "Track price changes across runs",
            "type": "boolean",
            "description": "Remembers the last seen price of each listing across runs and populates previousPrice, priceDelta, and priceChangePercent whenever a seller changes their price.",
            "default": true
          },
          "includePriceDrops": {
            "title": "Include price drops in monitoring mode",
            "type": "boolean",
            "description": "When 'Only new listings since last run' is enabled, also emit previously seen listings if their price dropped since the last run.",
            "default": true
          },
          "maxListingAgeHours": {
            "title": "Only listings posted in the last N hours",
            "minimum": 1,
            "type": "integer",
            "description": "Skip listings created earlier than this. Leave empty for no age filter."
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "all",
              "private",
              "business"
            ],
            "type": "string",
            "description": "Filter listings by private individual sellers or business/commercial accounts.",
            "default": "all"
          },
          "skipPromoted": {
            "title": "Skip promoted (paid) listings",
            "type": "boolean",
            "description": "Exclude paid/highlighted top ads so you only receive organic listings.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "OLX usually works fine with Apify datacenter proxies. Switch to residential only if you see repeated blocks.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}