{
  "openapi": "3.0.1",
  "info": {
    "title": "OLX Scraper Pro - PL, UA, RO, BG, KZ Listings",
    "description": null,
    "version": "0.2",
    "x-build-id": "OIkU878BaZxVYF6of"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fuzzy_bracelet~olx-marketplace-scraper-pro/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fuzzy_bracelet-olx-marketplace-scraper-pro",
        "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/fuzzy_bracelet~olx-marketplace-scraper-pro/runs": {
      "post": {
        "operationId": "runs-sync-fuzzy_bracelet-olx-marketplace-scraper-pro",
        "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/fuzzy_bracelet~olx-marketplace-scraper-pro/run-sync": {
      "post": {
        "operationId": "run-sync-fuzzy_bracelet-olx-marketplace-scraper-pro",
        "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",
        "required": [
          "brightDataToken"
        ],
        "properties": {
          "smartSearch": {
            "title": "Smart Search (recommended for new users)",
            "type": "string",
            "description": "Type what you're looking for in plain English. The actor will detect brand, model, and price filters. Examples: 'Rolex Submariner 5513', 'Seiko SKX007 under $500', 'vintage Omega Speedmaster', 'Soviet watches from 1980s'",
            "default": ""
          },
          "presets": {
            "title": "Category Presets (advanced)",
            "type": "array",
            "description": "Pick from 8 pre-built categories. Use smartSearch above if you're not sure.",
            "items": {
              "type": "string",
              "enum": [
                "watches-international",
                "watches-luxury",
                "watches-japanese",
                "watches-vintage",
                "vintage-cars",
                "electronics-vintage",
                "militaria",
                "general-vintage"
              ],
              "enumTitles": [
                "Watches (all international brands)",
                "Luxury Watches (Rolex, Omega, Tudor, Breitling, etc.)",
                "Japanese Watches (Seiko, Casio, Citizen, Grand Seiko)",
                "Vintage Watches (all eras)",
                "Vintage Cars (Eastern European classics)",
                "Vintage Electronics (radios, cameras, audio)",
                "Militaria & Collectibles",
                "Vintage Collectibles (general)"
              ]
            },
            "default": [
              "watches-luxury"
            ]
          },
          "customSearchTerms": {
            "title": "Custom Search Terms (optional)",
            "type": "array",
            "description": "Add your own search terms. Use local language for best results (Polish for PL market, Ukrainian for UA, etc.)",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "markets": {
            "title": "OLX Markets",
            "type": "array",
            "description": "Which OLX country sites to search. PL is most active for watches and collectibles.",
            "items": {
              "type": "string",
              "enum": [
                "pl",
                "ua",
                "ro",
                "bg",
                "kz"
              ],
              "enumTitles": [
                "Poland (olx.pl) - Most active for luxury watches",
                "Ukraine (olx.ua) - Soviet + international",
                "Romania (olx.ro) - Growing market",
                "Bulgaria (olx.bg) - Emerging market",
                "Kazakhstan (olx.kz) - Small but high-value"
              ]
            },
            "default": [
              "pl",
              "ua"
            ]
          },
          "maxListingsPerQuery": {
            "title": "Max listings per search query",
            "minimum": 5,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum number of listings to extract per search query (5-200).",
            "default": 50
          },
          "enableSellerScraping": {
            "title": "Extract seller info (recommended)",
            "type": "boolean",
            "description": "Visit each listing's detail page to extract seller_id, seller_name, rating, and reviews count. Slower but enables seller scoring for quality filtering.",
            "default": false
          },
          "maxSellerPages": {
            "title": "Max detail pages to scrape",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum number of detail pages to visit for seller extraction (1-100).",
            "default": 30
          },
          "brightDataToken": {
            "title": "Bright Data API Token (REQUIRED)",
            "type": "string",
            "description": "Your Bright Data API token. Used to call web_unlocker1 zone which bypasses OLX anti-bot. Get from https://brightdata.com/cp → Account Settings.",
            "default": ""
          },
          "brightDataZone": {
            "title": "Bright Data zone",
            "type": "string",
            "description": "Default: web_unlocker1 (anti-bot bypass for most OLX markets).",
            "default": "web_unlocker1"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}