{
  "openapi": "3.0.1",
  "info": {
    "title": "OLX Marketplace Listings Scraper",
    "description": "Search public OLX listings by keyword across 11 country marketplaces. Extract titles, prices, locations, sellers, clean descriptions, attributes, images, and listing URLs.",
    "version": "0.1",
    "x-build-id": "LpgIG4t9tqcTjJ9Sx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/trovevault~olx-marketplace-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-trovevault-olx-marketplace-listings-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/trovevault~olx-marketplace-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-trovevault-olx-marketplace-listings-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/trovevault~olx-marketplace-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-trovevault-olx-marketplace-listings-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",
        "required": [
          "query",
          "countries"
        ],
        "properties": {
          "query": {
            "title": "Search Query",
            "minLength": 1,
            "type": "string",
            "description": "Keyword or phrase to search for in listing titles and descriptions, for example iPhone 15, mountain bike, or apartment Lisbon.",
            "default": "iPhone 15"
          },
          "countries": {
            "title": "Countries",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "OLX country marketplaces to search with the same keyword. Results from every selected country are normalized into one dataset.",
            "items": {
              "type": "string",
              "enum": [
                "ba",
                "br",
                "bg",
                "in",
                "kz",
                "pk",
                "pl",
                "pt",
                "ro",
                "ua",
                "uz"
              ],
              "enumTitles": [
                "Bosnia and Herzegovina",
                "Brazil",
                "Bulgaria",
                "India",
                "Kazakhstan",
                "Pakistan",
                "Poland",
                "Portugal",
                "Romania",
                "Ukraine",
                "Uzbekistan"
              ]
            },
            "default": [
              "pt"
            ]
          },
          "category": {
            "title": "Category",
            "enum": [
              "all",
              "vehicles",
              "property",
              "electronics",
              "home-garden",
              "fashion",
              "jobs",
              "services",
              "animals",
              "sports-hobbies",
              "kids",
              "business-industrial"
            ],
            "type": "string",
            "description": "Optional normalized category filter. The Actor maps this selection to the closest category available in every chosen OLX marketplace.",
            "default": "all"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Optional city, region, state, or district name. Listings are filtered when the marketplace exposes a matching public location."
          },
          "minPrice": {
            "title": "Minimum Price",
            "minimum": 0,
            "type": "number",
            "description": "Optional minimum listing price, applied independently in each marketplace's local currency."
          },
          "maxPrice": {
            "title": "Maximum Price",
            "minimum": 0,
            "type": "number",
            "description": "Optional maximum listing price, applied independently in each marketplace's local currency."
          },
          "sort": {
            "title": "Sort Results",
            "enum": [
              "relevance",
              "newest",
              "price-asc",
              "price-desc"
            ],
            "type": "string",
            "description": "Choose the preferred result order. Availability depends on the selected marketplace; the Actor preserves marketplace order when a native sort is unavailable.",
            "default": "relevance"
          },
          "maxResults": {
            "title": "Maximum Results per Country",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of listings to save from each selected country. The total can reach this value multiplied by the number of countries, so higher values take longer and cost more.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings used for Brazil, India, and Pakistan. The default residential proxy improves access but adds proxy usage charges; it is ignored for other marketplaces.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          },
          "datasetId": {
            "title": "Dataset ID",
            "type": "string",
            "description": "Optional existing Apify dataset ID. Each result is appended to that dataset as well as this run's default dataset."
          },
          "runId": {
            "title": "Run ID",
            "type": "string",
            "description": "Optional parent workflow identifier copied into every output row and the run summary."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}