Nykaa Fashion APInykaafashion.com ↗
Access Nykaa Fashion product catalog via API. Search products, browse category trees, get product details with pricing, sizes, offers, and reviews.
What is the Nykaa Fashion API?
The Nykaa Fashion API provides 5 endpoints covering the full product catalog at nykaafashion.com, including clothing, footwear, and accessories across Women, Men, and Kids sections. search_products returns paginated listings with prices, discount percentages, size variants, and image URLs. get_product_details goes deeper with color options, materials, care instructions, delivery info, available offers, and customer reviews — all from a single product ID and slug.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/e751ecfe-21cc-40bb-a5a3-93efd4b9d0ff/get_category_tree' \ -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 nykaafashion-com-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.
"""Walkthrough: Nykaa Fashion API — search, browse categories, drill into product details."""
from parse_apis.nykaa_fashion_api import NykaaFashion, Sort, CategoryUrl, ProductNotFound
client = NykaaFashion()
# Search for sneakers, sorted by popularity (default). limit= caps total items fetched.
for product in client.products.search(query="sneakers", limit=3):
print(product.title, product.sub_title, f"₹{product.discounted_price}")
# Browse women's category with discount sorting
product = client.products.by_category(
category_url=CategoryUrl._WOMEN_C_6557,
sort=Sort.DISCOUNT,
limit=1,
).first()
if product:
print(product.title, product.sub_title, f"{product.discount}% off")
# Drill into full product details
detail = product.details()
print(detail.product, detail.reviews)
# Get autocomplete suggestions for a partial query
for suggestion in client.suggestions.search(query="nike", limit=5):
print(suggestion.suggestion_word, suggestion.match_count, suggestion.url)
# Typed error handling: catch ProductNotFound on a bad product lookup
try:
bad_product = client.products.search(query="xyznonexistent999", limit=1).first()
if bad_product:
bad_product.details()
except ProductNotFound as exc:
print(f"Product not found: {exc}")
print("exercised: products.search / products.by_category / product.details / suggestions.search")
Retrieve the full category hierarchy including top-level categories (Women, Men, Kids), subcategories, and brands. Returns a nested tree structure rooted at 'Nykaa' with category IDs, names, images, and action_url paths suitable for get_category_products. Single-page response with no pagination.
No input parameters required.
{
"type": "object",
"fields": {
"id": "integer, root category ID",
"name": "string, root category name",
"children_data": "array of nested category objects with id, name, parent_id, children_data, action_url, image"
},
"sample": {
"data": {
"id": 2,
"name": "Nykaa",
"image": "",
"level": 1,
"position": 1,
"parent_id": 1,
"children_data": [
{
"id": "007",
"name": "Home",
"level": "2",
"position": "2",
"parent_id": "2",
"children_data": []
}
]
},
"status": "success"
}
}About the Nykaa Fashion API
Category and Search Coverage
get_category_tree returns the complete category hierarchy rooted at 'Nykaa', with nested children_data objects carrying id, name, parent_id, image, and action_url fields. Those action_url paths feed directly into get_category_products as the category_url parameter, letting you traverse the full tree — from top-level nodes like Women (/women/c/6557) or Men (/men/c/6823) down to brand-level pages — without any manual URL construction.
Product Listings and Pagination
Both search_products and get_category_products return the same product object shape: id, title, subTitle, price, discountedPrice, discount, imageUrl, actionUrl, and sizeVariation. Each page yields roughly 36–40 products. Both endpoints accept a page integer for pagination and a sort string for ordering results. search_products additionally exposes a filters array (with key, title, type, and values) and a total_count integer. Note that certain keyword queries in search_products may resolve to a category page when Nykaa detects an exact match.
Product Detail and Discovery
get_product_details requires both a product_id (from listing results) and a slug derived from the actionUrl field — strip the leading / and the trailing /p/{id} segment. The response includes sizeOptions, productMedia, color, material, care instructions, a reviews object, exploreImages, and a productOffers object with coupons and promotions. For discovery workflows, get_search_suggestions accepts a partial query string and returns suggestions objects with suggestionWord, type, match_count, and url — useful for identifying brand names or popular terms before committing to a full search_products call.
The Nykaa Fashion API is a managed, monitored endpoint for nykaafashion.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nykaafashion.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 nykaafashion.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?+
- Build a price-comparison tool tracking
discountedPriceanddiscountacross product categories. - Aggregate size availability data from
sizeVariationfields for trend analysis across fashion segments. - Populate a product feed with images, titles, and prices using
search_productspaginated results. - Index the full category tree via
get_category_treeto map Nykaa Fashion's brand and category structure. - Monitor promotional offers and coupons on specific products using
productOffersfromget_product_details. - Implement an autocomplete feature using
get_search_suggestionsto surface brand names and popular keywords. - Collect product reviews at scale by iterating listings and calling
get_product_detailsfor thereviewsobject.
| 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 Nykaa Fashion have an official public developer API?+
How do I get the correct inputs for get_product_details?+
product_id comes directly from the id field in any search_products or get_category_products result. The slug is derived from the same result's actionUrl: remove the leading / and the /p/{id} suffix at the end. For example, an actionUrl of /some-brand-product-name/p/12345678 yields slug some-brand-product-name.Does search_products support filtering by size, color, or price range?+
filters array in the search_products response lists available filter options with key, title, type, and values for the current result set — these describe what filters exist on the page. The endpoint itself currently accepts query, page, and sort as inputs; passing filter parameters directly is not supported. You can fork this API on Parse and revise it to add filter parameter passthrough.Does the API cover order placement, wishlists, or user account data?+
How fresh is the pricing and inventory data?+
discountedPrice, discount, and sizeVariation fields can change frequently during sales events, so build your consumers to treat each response as a point-in-time snapshot.