OLX APIolx.in ↗
Access OLX India listings, categories, and location data via API. Search by keyword, category ID, and location ID. Returns price, seller, images, and more.
What is the OLX API?
The OLX India API provides 4 endpoints to search and browse classified listings across OLX.in, covering products, vehicles, and real estate. The search_listings endpoint returns paginated results with fields including price, description, images, location, parameters, and real_estate_details. Two dedicated location endpoints let you resolve city or neighborhood names to IDs, and a category tree endpoint exposes the full hierarchy of OLX India category IDs for precise filtering.
curl -X GET 'https://api.parse.bot/scraper/d8dc5138-1026-4159-93ed-7cd7eae18f17/search_listings?page=0&size=5&query=car&category_id=84&location_id=1000001' \ -H 'X-API-Key: $PARSE_API_KEY'
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-in-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_india_api import OLX, Listing, Location, Category
olx = OLX()
# Search for car listings in India
for listing in olx.listings.search(query="car", location_id="1000001", limit=5):
print(listing.title, listing.price, listing.full_location_name)
# Browse the category tree
for category in olx.categories.list():
print(category.id, category.name)
for child in category.children:
print(" ", child.id, child.name)
# Find location IDs by name
for location in olx.locations.suggest(query="Mumbai"):
print(location.id, location.name, location.type)
# List popular states
for state in olx.locations.popular():
print(state.name, state.latitude, state.longitude)
Search for listings on OLX India by query, category, and location. Returns listing details including price, seller, images, parameters, and real estate specifics. Paginates via a zero-based page counter; each page returns up to size items. When next_page is null, there are no more results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-based) |
| size | integer | Number of results per page |
| query | string | Search keyword |
| category_id | string | Category ID to filter by (use get_categories to find IDs) |
| location_id | string | Location ID to filter by (use get_location_suggestions or get_popular_locations to find IDs) |
{
"type": "object",
"fields": {
"total": "integer count of listings returned on this page",
"listings": "array of listing objects with id, title, description, price, raw_price, currency, full_location_name, status, listing_date, url, seller_name, category_id, images, parameters, and real_estate_details",
"metadata": "object containing query, category_id, and page used",
"next_page": "integer page number for next page or null if no more results"
},
"sample": {
"data": {
"total": 5,
"listings": [
{
"id": "1835806558",
"url": "https://www.olx.in/item/item-iid-1835806558",
"price": "7,80,000",
"title": "Honda WR-V 2020 Diesel",
"images": [
"https://apollo.olx.in:443/v1/files/93p68frwbwvs1-IN/image"
],
"status": "active",
"currency": "INR",
"raw_price": 780000,
"parameters": {
"make": "Honda",
"year": "2020",
"model": "WRV"
},
"category_id": "84",
"description": "HONDA WR-V SV MT DIESEL MODEL 2020",
"seller_name": "AUTO WHEELZ",
"listing_date": "2026-04-03T14:41:55+05:30",
"full_location_name": "Jalandhar Cantt, Jalandhar, Punjab",
"real_estate_details": {
"bhk": null,
"bathrooms": null,
"listed_by": null,
"size_sqft": null,
"furnishing": null,
"construction_status": null
}
}
],
"metadata": {
"page": 0,
"query": "car",
"category_id": null
},
"next_page": null
},
"status": "success"
}
}About the OLX API
Search Listings
The search_listings endpoint accepts up to five inputs: query (keyword string), category_id, location_id, page (0-based), and size. Each listing object in the listings array includes an id, title, description, price, location, images array, a parameters object for structured attributes (such as mileage or year for vehicles), and a real_estate_details object populated when the listing is in a property category. The next_page field in the response is null when you have reached the last page, making pagination straightforward to implement.
Categories and Location Resolution
get_categories returns the complete OLX India category tree as nested objects — each with an id, name, and children array — so you can walk the hierarchy to find the exact category_id for any subcategory. For location filtering, get_location_suggestions accepts a partial name string and returns matching cities, states, and neighborhoods, each with an id, type, geographic coordinates, and addressComponents. get_popular_locations returns a fixed list of top Indian states with the same shape, useful for building location pickers without a live query.
Response Shape and Coverage
Location objects from both location endpoints share a consistent schema: id, name, type, coordinates, parentId, and addressComponents. Both also return an empty boolean and a metadata object. The search_listings response echoes request context in a metadata field (query, category_id, page), which is useful for logging or debugging paginated fetches. Coverage is limited to listings currently active on OLX India (olx.in); listings from other OLX regional domains are not included.
The OLX API is a managed, monitored endpoint for olx.in — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when olx.in 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.in 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate OLX India vehicle listings filtered by category ID to build a used-car price comparison tool
- Monitor real estate listings in specific cities using location IDs from get_location_suggestions
- Build a price-tracking app for consumer electronics by running recurring keyword searches against search_listings
- Populate a location picker UI for an India-focused app using get_popular_locations and get_location_suggestions
- Extract structured listing parameters (condition, year, mileage) from the parameters field for inventory analytics
- Map OLX India category IDs to your own taxonomy by walking the children tree from get_categories
- Feed listing images and descriptions into a content moderation or duplicate-detection pipeline
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does OLX India offer an official developer API?+
How do I filter search results by both category and city?+
category_id from get_categories and a location_id from get_location_suggestions or get_popular_locations together in the search_listings request. Both filters are optional and can be combined with a query keyword. If you omit category_id, results span all categories; if you omit location_id, results are not geo-restricted.What does the real_estate_details field contain, and is it always populated?+
real_estate_details field is included in listing objects when the listing belongs to a real estate category. For non-property listings (electronics, vehicles, etc.) this field is typically absent or empty. Structured attributes specific to those categories appear in the parameters field instead.