Discover/OLX API
live

OLX APIolx.pt

Access OLX.pt listings via API. Search by keyword, price, region, and category. Get full listing details including price, photos, seller info, and location.

Endpoint health
verified 2d ago
get_listing_details
get_categories
search_listings
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the OLX API?

The OLX Portugal API provides 3 endpoints to search, retrieve, and categorize listings from olx.pt. The search_listings endpoint accepts filters for keyword, price range, region, city, and sort order, returning paginated arrays of listing objects with fields including id, url, title, description, params (price), location, photos, user, and category. Whether you need broad market sweeps or deep detail on a single ad, the API covers the full retrieval workflow.

Try it
Maximum number of results to return per page.
Search keyword (e.g. 'apartamento', 'iphone'). Omitting returns all listings.
Pagination offset (number of results to skip).
City ID for location filtering.
Sorting order.
Maximum price filter in EUR.
Minimum price filter in EUR.
Region ID for location filtering (e.g. '13' for Porto, '1' for Lisbon).
Category ID for filtering. Use get_categories to discover valid IDs.
api.parse.bot/scraper/c81a1506-5f37-453f-b82b-552abb8ca36e/<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/c81a1506-5f37-453f-b82b-552abb8ca36e/search_listings?limit=5&query=iphone&offset=0&sort_by=created_at%3Adesc' \
  -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-pt-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_portugal_scraper_api import OLX, Sort

olx = OLX()

# List available categories
for category in olx.categories.list(limit=10):
    print(category.id)

# Search listings sorted by price
for listing in olx.listings.search(query="apartamento", sort_by=Sort.CHEAPEST, limit=5):
    print(listing.id, listing.title, listing.created_time)

# Get detailed info for a specific listing
detail = olx.listings.get(listing_id="671304208")
print(detail.title, detail.url, detail.status)
All endpoints · 3 totalmissing one? ·

Search for listings on OLX.pt with various filters. Returns paginated results sorted by the specified order. Pagination is offset-based: advance by incrementing offset by limit. Each listing includes id, title, price params, location, photos, seller info, and category. When called without a query or filters, returns the most recent listings across all categories. The metadata object reports total_elements for the query.

Input
ParamTypeDescription
limitintegerMaximum number of results to return per page.
querystringSearch keyword (e.g. 'apartamento', 'iphone'). Omitting returns all listings.
offsetintegerPagination offset (number of results to skip).
city_idstringCity ID for location filtering.
sort_bystringSorting order.
price_maxstringMaximum price filter in EUR.
price_minstringMinimum price filter in EUR.
region_idstringRegion ID for location filtering (e.g. '13' for Porto, '1' for Lisbon).
category_idstringCategory ID for filtering. Use get_categories to discover valid IDs.
Response
{
  "type": "object",
  "fields": {
    "data": "array of listing objects, each containing id, url, title, description, params (including price), location, photos, user, category, and timestamps",
    "metadata": "object with total_elements, visible_total_count, promoted indices, and search_id"
  },
  "sample": {
    "data": {
      "data": [
        {
          "id": 671304208,
          "url": "https://www.olx.pt/d/anuncio/peugeot-308-1-2-puretech-allure-eat8-IDJqITe.html",
          "user": {
            "id": 215452325,
            "name": "Ricardo manso"
          },
          "title": "Peugeot 308 1.2 PureTech Allure EAT8",
          "params": [
            {
              "key": "price",
              "name": "Preço",
              "type": "price",
              "value": {
                "label": "18.990 €",
                "value": 18990,
                "currency": "EUR"
              }
            }
          ],
          "photos": [
            {
              "id": 3580745798,
              "link": "https://ireland.apollo.olxcdn.com:443/v1/files/li2pssrb6c031-PT/image;s={width}x{height}",
              "filename": "li2pssrb6c031-PT"
            }
          ],
          "category": {
            "id": 613,
            "type": "automotive"
          },
          "location": {
            "city": {
              "id": 10495014,
              "name": "Santa Catarina Da Serra E Chainça"
            },
            "region": {
              "id": 10,
              "name": "Leiria"
            }
          },
          "description": "Este compacto Peugeot 308...",
          "created_time": "2026-06-01T11:50:48+01:00",
          "last_refresh_time": "2026-06-10T10:15:37+01:00"
        }
      ],
      "metadata": {
        "search_id": "62DD0963084CD289525A189A2666293C",
        "total_elements": 1000,
        "visible_total_count": 3722072
      }
    },
    "status": "success"
  }
}

About the OLX API

Endpoints and Data Coverage

The API exposes three endpoints. search_listings is the primary entry point, accepting optional inputs like query, region_id, city_id, price_min, price_max, sort_by, limit, and offset. Region IDs are numeric strings — for example, '13' for Porto and '1' for Lisbon. Sorting supports four modes: created_at:desc, created_at:asc, price:asc, and price:desc. Called without any filters, it returns the most recently posted listings across all categories, which is useful for feed-style monitoring.

Listing Response Shape

Each listing object returned by search_listings contains id, url, title, description, params (which holds price and any structured attributes), location, photos, user, and category. The metadata field alongside the array includes total_elements, visible_total_count, promoted indices, and a search_id useful for paginating large result sets via the offset parameter.

Detailed Listing and Category Discovery

get_listing_details accepts a listing_id (the numeric ID from search_listings results) and returns the full listing record, including extended params such as year, model, and other attribute fields that vary by category. get_categories takes no inputs and returns an array of integer category IDs currently enabled on olx.pt — these IDs can be passed as category_id in search_listings to scope searches to a specific vertical like real estate, vehicles, or electronics.

Reliability & maintenanceVerified

The OLX API is a managed, monitored endpoint for olx.pt — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when olx.pt 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.pt 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
2d 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
  • Monitor newly posted real estate listings in Lisbon or Porto by polling search_listings sorted by created_at:desc with the appropriate region_id.
  • Build a price-comparison tool for a specific product category by filtering search_listings with query, price_min, and price_max.
  • Track seller activity by extracting the user field from listing objects returned across multiple searches.
  • Aggregate market pricing data for a given category by iterating paginated results using limit and offset.
  • Enrich a listing dataset with full attribute details (year, model, extended params) by calling get_listing_details on IDs gathered from search.
  • Discover all active category IDs on olx.pt using get_categories before building a category-scoped crawl pipeline.
  • Alert on vehicle listings below a price threshold by combining sort_by: price:asc with price_max in search_listings.
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 Portugal have an official developer API?+
OLX does not publish a public developer API for olx.pt. There is no official endpoint documentation or API key program available to third-party developers for the Portuguese marketplace.
How does pagination work in `search_listings`?+
Use the limit parameter to set results per page and offset to skip results. The metadata object in the response includes total_elements and visible_total_count, which tell you the full result set size so you can calculate how many pages to request.
Does the API return seller contact details such as phone numbers?+
The user field in listing objects contains seller profile information, but phone numbers and other contact details that OLX gates behind a login or click-to-reveal action are not exposed. The API covers publicly visible listing and seller profile data. You can fork this API on Parse and revise it to add an endpoint targeting contact-reveal responses if that data becomes accessible in your use case.
Is there a way to filter searches by category?+
Yes. Call get_categories first to retrieve the array of enabled integer category IDs on olx.pt, then pass the desired ID as category_id in search_listings. This scopes results to a single vertical, such as real estate or vehicles.
Does the API support saved searches, user watchlists, or listing history?+
Not currently. The API covers listing search, individual listing detail retrieval, and category discovery. User-account features like saved searches and watchlists are not exposed. You can fork this API on Parse and revise it to add endpoints for those account-level features.
Page content last updated . Spec covers 3 endpoints from olx.pt.
Related APIs in MarketplaceSee all →
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.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.
olx.ro API
Search OLX Romania listings and access detailed ad information including seller contact details. Get real-time access to product listings, pricing, and phone numbers for sellers across the platform.
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.
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.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.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.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.