Discover/OLX API
live

OLX APIolx.ba

Search and retrieve listings from OLX.ba, Bosnia's largest classifieds marketplace. Get prices, locations, and apartment details across all categories.

Endpoint health
verified 3d ago
search_listings
get_listing_details
search_apartments
3/3 passing latest checkself-healing
Endpoints
3
Updated
24d ago

What is the OLX API?

The OLX.ba API exposes 3 endpoints for searching and retrieving classified listings from Bosnia's largest online marketplace. Use search_listings to run keyword and category-filtered queries across all listing types, get_listing_details to pull full attributes for a single listing by ID, or search_apartments to get enriched real-estate results including area, floor number, address, and condition alongside standard listing fields.

Try it
Page number for pagination.
Search keywords (e.g. 'monitor', 'laptop', 'stan').
Category ID to filter results (e.g. 23 for apartments, 163 for monitors, 818 for baby equipment).
api.parse.bot/scraper/c958fce0-a5f4-482f-8ab9-cc49cf848a74/<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/c958fce0-a5f4-482f-8ab9-cc49cf848a74/search_listings?page=1&query=monitor&category_id=23' \
  -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-ba-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.

"""OLX.ba SDK walkthrough — search listings, drill into details, search apartments."""
from parse_apis.olx_ba_api import OLX, ListingSummary, Listing, Apartment, ListingNotFound

client = OLX()

# Search for monitors across all categories
for listing in client.listingsummaries.search(query="monitor", limit=5):
    print(listing.title, listing.price)

# Drill into the first result's full details
summary = client.listingsummaries.search(query="laptop", limit=1).first()
if summary:
    detail = summary.details()
    print(detail.title, detail.price, detail.location, detail.category_id)

# Direct lookup by ID with typed error handling
try:
    full = client.listings.get(listing_id="76608394")
    print(full.title, full.price, full.location)
except ListingNotFound as exc:
    print(f"Listing gone: {exc}")

# Search apartments in Sarajevo
for apt in client.apartments.search(query="Sarajevo", limit=3):
    print(apt.title, apt.price, apt.area, apt.condition)

print("exercised: listingsummaries.search / summary.details / listings.get / apartments.search")
All endpoints · 3 totalmissing one? ·

Full-text search across all OLX.ba listings. Supports keyword queries, category filtering, and pagination. Returns lightweight listing summaries (title, price, category) without detail attributes. Paginated server-side at 20 results per page.

Input
ParamTypeDescription
pageintegerPage number for pagination.
querystringSearch keywords (e.g. 'monitor', 'laptop', 'stan').
category_idintegerCategory ID to filter results (e.g. 23 for apartments, 163 for monitors, 818 for baby equipment).
Response
{
  "type": "object",
  "fields": {
    "total": "integer total number of matching listings",
    "listings": "array of listing summary objects with id, title, price, category_id, url",
    "per_page": "integer results per page",
    "last_page": "integer last page number",
    "current_page": "integer current page number"
  },
  "sample": {
    "data": {
      "total": 30953,
      "listings": [
        {
          "id": 76608394,
          "url": "https://olx.ba/artikal/76608394",
          "price": "349 KM",
          "title": "Samsung gaming monitor Odyssey G4 27'' FHD FAST IPS 300Hz 1ms",
          "category_id": 163
        }
      ],
      "per_page": 20,
      "last_page": 1548,
      "current_page": 1
    },
    "status": "success"
  }
}

About the OLX API

Endpoints and Data Coverage

The search_listings endpoint accepts a query string, an optional category_id filter, and a page parameter for navigating paginated results. Each page returns up to 20 listing summaries containing id, title, price, category_id, and url, plus pagination metadata (total, per_page, last_page, current_page). Category IDs map to specific verticals — for example, 23 for apartments, 163 for monitors, and 818 for baby equipment — giving you targeted control over which segment of the marketplace you query.

Listing Details and Real Estate Attributes

get_listing_details takes a single listing_id (obtained from search_listings or search_apartments results) and returns the full record for that listing. Real-estate listings populate area (in m²), floor_number, address, location, and condition; non-real-estate listings return those fields as null. This makes it straightforward to build a detail page or data pipeline that handles mixed category results without branching logic.

Apartment-Specific Search

search_apartments is scoped to category 23 and returns enriched objects for every result — the same real-estate fields (area, floor_number, address, condition) that get_listing_details returns are included directly in the listing array, so you do not need a second request for basic apartment attributes. The endpoint accepts a query parameter (useful for filtering by city, such as 'Sarajevo' or 'Mostar') and a page parameter. Note that detailed attributes are fetched individually for the first 5 results on each page; remaining results on that page include only summary fields.

Reliability & maintenanceVerified

The OLX API is a managed, monitored endpoint for olx.ba — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when olx.ba 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.ba 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
3d 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 apartment prices in Sarajevo by querying search_apartments with city name and tracking price changes over time.
  • Build a property comparison tool using area, floor_number, and address fields from get_listing_details for real-estate listings.
  • Aggregate category-specific inventory (e.g., electronics, baby equipment) by combining category_id filtering in search_listings with detail lookups.
  • Track listing availability for a specific product type by polling search_listings with a keyword query and comparing total counts across runs.
  • Geocode and map apartment listings by extracting location and address fields from search_apartments results.
  • Feed a price-alert service by storing listing_id and price from search results and flagging changes against a baseline.
  • Populate a real-estate analytics dashboard with condition, area, and floor_number data sourced from apartment searches.
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.ba have an official public developer API?+
OLX.ba does not publish a documented public API for third-party developers. Access to structured listing data requires using a service like this one.
What does `search_listings` return compared to `search_apartments`?+
search_listings returns lightweight summaries — id, title, price, category_id, and url — for any category. It does not include real-estate attributes like area or floor_number. search_apartments targets category 23 specifically and includes those enriched fields directly in each result object, so you get area, floor, address, and condition without a separate detail call for the first 5 results per page.
What are the pagination constraints across the endpoints?+
All three endpoints paginate at 20 results per server-side page. The current_page, last_page, per_page, and total fields are returned with every response so you can iterate programmatically. There is no option to request more than 20 results per call or change the page size.
Does the API expose seller contact information or phone numbers for listings?+
Not currently. The endpoints return listing attributes such as title, price, location, address, area, condition, and floor_number, but seller identity and contact details are not included in any response. You can fork this API on Parse and revise it to add a seller-detail endpoint if that data is available on the listing page.
Can I filter apartment searches by price range or area size?+
The search_apartments and search_listings endpoints currently accept only query, category_id, and page as inputs — numeric filters like minimum/maximum price or area are not supported parameters. You can fork this API on Parse and revise the endpoint to add those filter parameters if the underlying source supports them.
Page content last updated . Spec covers 3 endpoints from olx.ba.
Related APIs in MarketplaceSee all →
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.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.
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.
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.
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.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.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.