Ajio APIajio.com ↗
Access Ajio.com product listings, pricing, brand catalogs, sale items, and ratings via 8 structured endpoints. Search, browse categories, and fetch full product detail.
What is the Ajio API?
The Ajio.com API exposes 8 endpoints for querying products across India's fashion and lifestyle retailer, covering search, category browsing, brand catalogs, new arrivals, and sale listings. The get_product_detail endpoint returns over a dozen fields per product including size variants, color options, discount percentages, aggregate ratings, and return policy data. Every listing endpoint paginates via zero-based page numbers and returns a consistent pagination object alongside product arrays.
curl -X GET 'https://api.parse.bot/scraper/403a6af9-bd94-47a3-a922-1ea3484b2be8/search_products?page=0&size=5&sort=discount-desc&query=shoes' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search over all Ajio.com products. Returns paginated product listings with facets and sorting options. Each product includes pricing, images, brand, and discount information. Paginates via zero-based page number.
| Param | Type | Description |
|---|---|---|
| page | integer | Zero-based page number for pagination. |
| size | integer | Number of results per page (e.g. 5, 10, 45). |
| sort | string | Sort order for results. |
| queryrequired | string | Search keyword (e.g. 'shoes', 'puma', 'running shoes'). |
{
"type": "object",
"fields": {
"products": "array of product listing objects with code, name, price, images, url, brandTypeName, discountPercent",
"pagination": "object containing pageSize, sort, currentPage, totalResults, totalPages"
},
"sample": {
"data": {
"products": [
{
"url": "/skechers-go-run-consistant-lace-up-shoes/p/469544798_black",
"code": "469544798001",
"name": "Go Run Consistant Lace-Up Shoes",
"price": {
"value": 2200,
"currencyIso": "INR",
"displayformattedValue": "Rs.2,200"
},
"images": [
{
"url": "https://assets.ajio.com/medias/sys_master/root/20240404/qBTG/660ecc3516fd2c6e6a9db704/skechers_black_go_run_consistant_lace-up_shoes.jpg",
"format": "product"
}
],
"wasPriceData": {
"value": 5499,
"displayformattedValue": "Rs.5,499"
},
"brandTypeName": "skechers",
"discountPercent": "60% off"
}
],
"pagination": {
"sort": "relevance",
"pageSize": 5,
"totalPages": 8527,
"currentPage": 0,
"totalResults": 42633
}
},
"status": "success"
}
}About the Ajio API
Search and Browse
The search_products endpoint accepts a required query string and optional page, size, and sort parameters. Each result object contains code, name, price, images, brandTypeName, discountPercent, and a url field whose /p/<option_code> path segment feeds directly into get_product_detail or get_product_by_url. The get_category_products endpoint works identically but takes a category_id brick code (e.g. 830216013 for Men's Shirts) instead of a free-text query. get_brand_products accepts a lowercase brand slug such as puma or adidas and returns the same paginated listing shape.
Product Detail
get_product_detail takes a product_id option code (e.g. 469544798_black) and returns a full record: price with value, currencyIso, displayformattedValue, and discountPercent; wasPriceData with the pre-discount original price; variantOptions listing every available size with individual stock, priceData, and scDisplaySize fields; baseOptions for color variants; and ratingsResponse containing averageRating, numUserRatings, and percentage breakdowns per rating band. get_product_by_url accepts a full or site-relative Ajio product URL and returns the same payload without requiring you to extract the option code manually.
Sale, New Arrivals, and Deal Finder
get_sale_products returns listings sorted by discountPercent descending. get_new_arrivals filters by newest-first and accepts an optional query keyword so you can narrow to a category like shirts. The find_my_best_deals endpoint layers additional filtering: it accepts query, category, brand, size, material, pincode, limit, and sort, verifies deliverability to a given PIN code, and returns a ranked deals array alongside a rejected array that explains why each dropped product failed, plus a search_summary echoing all applied filters.
Pagination
All listing endpoints share a consistent pagination response object with currentPage, totalPages, totalResults, pageSize, and sort. Pages are zero-based. The size parameter controls result count per page; typical values are 5, 10, or 45.
The Ajio API is a managed, monitored endpoint for ajio.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ajio.com 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 ajio.com 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?+
- Monitor price drops and discount percentages on specific Ajio brands using
get_brand_productswith periodic polling. - Build a size-aware deal finder by combining
find_my_best_dealswith asizefilter and deliverypincodeto surface only verified, deliverable discounts. - Aggregate new arrival feeds by category using
get_new_arrivalswith a keyword filter to track what Ajio is adding weekly. - Populate a product comparison tool with full variant and rating data from
get_product_detail, including per-size stock and original vs. current price. - Resolve Ajio product URLs from affiliate links or shared links to structured JSON using
get_product_by_urlwithout parsing URL slugs. - Track average ratings and review counts for products in a specific category by combining
get_category_productspagination withratingsResponse.aggregateRatingfrom detail lookups. - Build a sale aggregator filtered by material (e.g. cotton) using
find_my_best_dealswith thematerialparameter.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Ajio have an official public developer API?+
What does `get_product_detail` return beyond basic price and name?+
get_product_detail returns variantOptions — an array of size objects each with its own stock status, priceData, and scDisplaySize label — plus wasPriceData for the original pre-discount price, baseOptions for color variants, and a ratingsResponse object with averageRating, numUserRatings, and per-star percentage breakdowns. Images come back as an array of objects with url, format, and altText.Does the API return individual written customer reviews or only aggregate ratings?+
averageRating, numUserRatings, and percentage breakdowns per rating level via the ratingsResponse field. Individual review text is not included in the current endpoints. You can fork this API on Parse and revise it to add an endpoint that fetches per-review text if that data is needed.Is there a way to filter search results by a specific price range?+
search_products, get_category_products, get_brand_products) do not currently expose a price-range filter parameter. They support sort ordering and return price and discountPercent per product so client-side filtering is possible. You can fork this API on Parse and revise it to add price-range parameters if upstream facets support them.How does pagination work across listing endpoints, and is there a maximum page size?+
page numbering. The size parameter sets results per page; documented examples show values of 5, 10, and 45. The response always includes a pagination object with totalResults, totalPages, and currentPage so you can iterate the full result set. Maximum enforced page size is not documented — staying at or below 45 per request is consistent with observed usage.