Skip to content
Scrappa Get API key
OLX Poland API 1 credit/request

OLX Poland Search API Documentation

GET https://scrappa.co/api/olx-pl/search

OLX Poland Search API searches public olx.pl ads by keyword, category, region, city, district and price range. Each ad carries id, url, title, description, ISO 8601 creation, refresh and expiry times, a numeric PLN price with currency and label, parsed parameters, seller type (private or business), location names with ids, and photo urls. Pagination uses offset and limit (up to 50). total is the real number of matching ads; OLX makes at most 1000 rows reachable per query, so next_offset stops at offset 1000. Search is fuzzy and not exhaustive. Seller names, phone numbers and contact data are never returned. A valid empty result is billed; every failure is not.

OLX Poland Search API Documentation 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/olx-pl/search
Auth header
x-api-key
Cost
1 credit/request
Response preview
200 OK
{
    "data": {
        "limit": 3,
        "total": 67118,
        "offset": 0,
        "results": [
            {
                "id": 1105127075,
                "url": "https://www.olx.pl/d/oferta/lekki-rower-rozmiar-m-CID767-ID1cN02f.html",
                "price": {
                    "label": "500 z\u0142",
                    "value": 500,
                    "currency": "PLN"
                },
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

This endpoint has no required query parameters.

12 optional filters available.

query string Optional

Search keywords. Required unless category_id, region_id or city_id is set. Example: rower.

Example value coffee shops
category_id integer Optional

OLX category id. Example: 84.

Example value 1234567890
region_id integer Optional

Region id from the regions endpoint. Example: 2.

Example value 1234567890
city_id integer Optional

City id from the cities or locations endpoint. Example: 17871.

Example value 1234567890
district_id integer Optional

District id from the districts endpoint. Needs city_id. Example: 367.

Example value 1234567890
distance integer Optional

Radius in km around city_id, 1-100. Needs city_id. Example: 10.

Example value 10
price_from number Optional

Minimum price in PLN. Example: 500.

Example value 10
price_to number Optional

Maximum price in PLN. Example: 1500.

Example value 10
owner_type string Optional

private or business.

Example value example
sort_by string Optional

relevance:desc (default), created_at:desc, filter_float_price:asc or filter_float_price:desc.

Example value example
offset integer Optional

Rows to skip, 0-1000. Defaults to 0.

Example value 10
limit integer Optional

Rows per page, 1-50. Defaults to 40.

Example value 10

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data meta success
JSON Response
200 OK
{
    "data": {
        "limit": 3,
        "total": 67118,
        "offset": 0,
        "results": [
            {
                "id": 1105127075,
                "url": "https://www.olx.pl/d/oferta/lekki-rower-rozmiar-m-CID767-ID1cN02f.html",
                "price": {
                    "label": "500 z\u0142",
                    "value": 500,
                    "currency": "PLN"
                },
                "title": "Lekki rower rozmiar M",
                "params": [
                    {
                        "key": "state",
                        "name": "Stan",
                        "value": "U\u017cywane"
                    },
                    {
                        "key": "gender",
                        "name": "P\u0142e\u0107",
                        "value": "Uniseks"
                    },
                    {
                        "key": "equipment",
                        "name": "Wyposa\u017cenie dodatkowe",
                        "value": "Lusterko, Elementy odblaskowe, Licznik"
                    },
                    {
                        "key": "brand",
                        "name": "Marka",
                        "value": "Giant"
                    },
                    {
                        "key": "braketype",
                        "name": "Typ hamulca",
                        "value": "Tarczowe hydrauliczne"
                    },
                    {
                        "key": "framematerial",
                        "name": "Materia\u0142 ramy",
                        "value": "Karbon"
                    }
                ],
                "photos": [
                    "https://ireland.apollo.olxcdn.com/v1/files/2pz255v2pf7a2-PL/image;s=800x600"
                ],
                "location": {
                    "city": "Krosno",
                    "region": "Podkarpackie",
                    "city_id": 9359,
                    "region_id": 17
                },
                "created_at": "2026-10-15T13:26:07Z",
                "category_id": 1650,
                "description": "U\u017cywany rower giant informacje pod nr tel 79*****47",
                "seller_type": "private",
                "valid_until": "2026-11-14T13:28:11Z",
                "refreshed_at": "2026-10-15T13:30:49Z"
            }
        ],
        "next_offset": 3
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search"
    },
    "success": true
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

500

Parser Drift

OLX answered with a response shape this parser does not recognise. Never charged.

{
    "meta": {
        "billable": false,
        "retryable": false,
        "endpoint_family": "search"
    },
    "error": {
        "code": "PARSER_DRIFT",
        "message": "OLX response shape changed unexpectedly. The incident has been reported."
    },
    "success": false
}
503

Upstream Unavailable

The upstream service is temporarily unavailable. Please retry shortly.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "search"
    },
    "error": {
        "code": "UPSTREAM_UNAVAILABLE",
        "message": "OLX upstream is temporarily unavailable."
    },
    "success": false
}

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.