Discover/OLX API
live

OLX APIolx.ro

Access OLX.ro listings, ad details, and seller phone numbers via 3 endpoints. Filter by city, category, or keyword. Includes price, photos, and location data.

Endpoint health
verified 7d ago
search_ads
get_seller_phone
get_ad_details
3/3 passing latest checkself-healing
Endpoints
3
Updated
22d ago

What is the OLX API?

The OLX.ro API gives developers structured access to Romanian classified listings across 3 endpoints. Use search_ads to query listings by keyword, city, or category and receive full ad objects with prices, photos, and location data. get_ad_details returns the complete listing including HTML description and delivery options, while get_seller_phone retrieves direct contact numbers for most private and business sellers.

Try it
Number of results to return per page.
Search keyword to filter ads by title and description.
City ID for location filtering (e.g., 39939 for Iasi, 1 for Bucuresti).
Category ID for filtering (e.g., 1211 for goods, 2529 for electronics, 1657 for automotive).
api.parse.bot/scraper/5995040b-e07e-4598-ad31-7a3d97b425b7/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/5995040b-e07e-4598-ad31-7a3d97b425b7/search_ads?limit=40&query=laptop&offset=0&city_id=39939&category_id=2529' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace olx-ro-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.olx_romania_scraper_api import OLX, AdNotFound

olx = OLX()

# Search for laptop ads in electronics category in Iasi
for ad_summary in olx.adsummaries.search(query="laptop", category_id=2529, city_id=39939):
    print(ad_summary.title, ad_summary.url)
    print(ad_summary.location.city.name, ad_summary.location.region.name)

    # Get full details for this ad
    ad = ad_summary.details()
    print(ad.description, ad.protect_phone)

    # Retrieve seller phone number
    phone_result = ad.phone()
    print(phone_result.phones)
    break
All endpoints · 3 totalmissing one? ·

Search for ads on OLX.ro with optional filters for category and city. Returns up to `limit` ads per call. The response includes a metadata.total_elements count for the total number of matching ads.

Input
ParamTypeDescription
limitintegerNumber of results to return per page.
querystringSearch keyword to filter ads by title and description.
city_idintegerCity ID for location filtering (e.g., 39939 for Iasi, 1 for Bucuresti).
category_idintegerCategory ID for filtering (e.g., 1211 for goods, 2529 for electronics, 1657 for automotive).
Response
{
  "type": "object",
  "fields": {
    "items": "array of ad objects containing id, url, title, description, params, user info, location, photos, and category",
    "links": "object with self, next, and first pagination URLs",
    "metadata": "object with total_elements, visible_total_count, promoted list, and search_id"
  },
  "sample": {
    "data": {
      "items": [
        {
          "id": 304618239,
          "url": "https://www.olx.ro/d/oferta/example-IDkC97p.html",
          "user": {
            "id": 482685347,
            "name": "Exxon",
            "company_name": ""
          },
          "title": "Racheta de tenis Dunlop Vibe 100",
          "params": [
            {
              "key": "price",
              "name": "Pret",
              "type": "price",
              "value": {
                "label": "350 lei",
                "value": 350,
                "currency": "RON"
              }
            }
          ],
          "photos": [
            {
              "id": 3009043085,
              "link": "https://frankfurt.apollo.olxcdn.com:443/v1/files/6f80uacm6c2f3-RO/image",
              "width": 2048,
              "height": 1536,
              "filename": "6f80uacm6c2f3-RO"
            }
          ],
          "status": "active",
          "business": false,
          "category": {
            "id": 1624,
            "type": "goods"
          },
          "location": {
            "city": {
              "id": 36761,
              "name": "Onesti"
            },
            "region": {
              "id": 3,
              "name": "Bacau"
            }
          },
          "offer_type": "offer",
          "created_time": "2026-06-02T21:10:22+03:00",
          "protect_phone": true,
          "last_refresh_time": "2026-06-08T15:06:32+03:00"
        }
      ],
      "links": {
        "next": {
          "href": "..."
        },
        "self": {
          "href": "..."
        }
      },
      "metadata": {
        "search_id": "ABC123",
        "total_elements": 1000,
        "visible_total_count": 3879483
      }
    },
    "status": "success"
  }
}

About the OLX API

Search and Filter Listings

search_ads accepts a free-text query, a city_id (e.g. 39939 for Iași, 1 for București), and a category_id (e.g. 2529 for electronics, 1657 for automotive). The response returns an items array of ad objects — each containing id, url, title, description, params (including price and item state), user info, location, photos, and category. The metadata field includes total_elements for the full match count and a promoted list, and links provides next and first URLs for cursor-based pagination.

Full Ad Details

get_ad_details takes a single ad_id (obtainable from search_ads results) and returns the complete ad record. The response includes the full HTML description, all photos, structured params array, offer_type, location with city and region, and user object with seller id, name, and company_name. This endpoint is suited for building detail pages or enriching search results with fields not fully populated in the search response.

Seller Contact Retrieval

get_seller_phone returns the phones array for a given ad_id. It works for the majority of private and business ads on OLX.ro. Ads with protect_phone enabled by the seller will return an empty phones array — this is a per-listing seller setting, not a platform-wide restriction. The optional ad_url input can be passed alongside ad_id to improve resolution accuracy for edge cases.

Reliability & maintenanceVerified

The OLX API is a managed, monitored endpoint for olx.ro — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when olx.ro changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official olx.ro API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate Romanian real estate or automotive listings filtered by city and category for price comparison tools
  • Monitor classifieds in a specific category to alert on new listings matching a keyword
  • Build a lead generation tool for B2B buyers by extracting seller phone numbers from relevant ads
  • Track price trends for used electronics or vehicles across multiple OLX.ro categories over time
  • Enrich CRM records with seller contact info and listing details from OLX.ro ad IDs
  • Power a local marketplace aggregator that consolidates OLX.ro results with other Romanian listing sources
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does OLX.ro have an official developer API?+
OLX Group does maintain a partner API program at https://developer.olx.ro, but it requires a formal application and approval process, and access is not publicly self-serve. This Parse API provides immediate, structured access to the same public listing data without a separate approval process.
How does pagination work in search_ads?+
The search_ads response includes a links object with self, next, and first URLs, and a metadata.total_elements field indicating the total number of matching ads. Use the next link across successive calls to walk through full result sets. The limit parameter controls how many items are returned per call.
Will get_seller_phone always return a phone number?+
Not always. Sellers can enable a protect_phone option on individual listings, which causes the phones array to be empty for those ads. The endpoint works correctly for most private and business listings where this option is not set.
Does the API cover OLX sites in other countries besides Romania?+
Not currently. All three endpoints — search_ads, get_ad_details, and get_seller_phone — are scoped to olx.ro. OLX operates localized platforms in Poland, Bulgaria, Ukraine, and other markets. You can fork this API on Parse and revise it to target a different OLX country domain.
Can I retrieve a seller's full profile or all listings by a specific seller?+
Not currently. The get_ad_details endpoint returns the seller's id, name, and company_name for a given ad, but there is no dedicated seller-profile or seller-listings endpoint. You can fork this API on Parse and revise it to add a seller profile endpoint using the user ID returned in ad responses.
Page content last updated . Spec covers 3 endpoints from olx.ro.
Related APIs in MarketplaceSee all →
m.olx.ro API
Search and retrieve structured real estate listings from OLX Romania, including apartments, houses, land, and other properties with detailed information. Access category IDs and browse available properties by type to find what you're looking for on Romania's popular classifieds platform.
olx.pt API
Search and monitor real estate listings and business advertisements from OLX Portugal with advanced filtering and pagination options. Get detailed information about specific listings including prices, descriptions, and seller details to find exactly what you're looking for.
olx.ba API
Search and browse listings on OLX.ba across all categories. Retrieve listing names, prices, categories, and URLs, or drill into individual listings for detailed attributes such as location, address, area, floor, condition, and seller information. Includes dedicated support for apartment listings.
m.olx.pl API
Search and browse listings from OLX.pl across a wide range of categories including vehicles, electronics, real estate, fashion, and more. Access detailed offer information, price comparisons, seller details, and the latest postings — with support for keyword search and category filtering.
olx.com.br API
Search and browse OLX Brazil real estate listings for properties available for sale or rent, with advanced filtering options to narrow down your search. Access comprehensive property details including descriptions, prices, locations, and other key information for each listing.
olx.ua API
Search and browse product listings on OLX.ua. Retrieve listings with pricing, descriptions, seller details, location information, and images across any category. Compare prices and explore current marketplace inventory with flexible keyword and category filters.
olx.in API
Search and browse OLX India listings across real estate and general products with powerful filtering by category and location. Get location suggestions, explore popular areas, and access detailed product information all in one place.
olx.uz API
Search and browse product listings on OLX.uz across all categories, with full details including specifications, location, and pricing. Compare prices and product information to identify the best available deals.