Nykaa Scraper [Only $2.50/1K💰] | Products | Reviews | India avatar

Nykaa Scraper [Only $2.50/1K💰] | Products | Reviews | India

Pricing

from $2.40 / 1,000 results

Go to Apify Store
Nykaa Scraper [Only $2.50/1K💰] | Products | Reviews | India

Nykaa Scraper [Only $2.50/1K💰] | Products | Reviews | India

Scrape Nykaa beauty products — prices, MRP, discounts, shades, stock, ingredients, ratings and customer reviews — as clean JSON. Build India beauty price-monitoring, market-research and competitor datasets, then export to CSV, Excel, Google Sheets or your warehouse.

Pricing

from $2.40 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Categories

Features

Limited permissions

Share

Nykaa Scraper

Scrape nykaa.com — India's largest beauty & wellness marketplace — for product listings, search results, full product details (shades, prices, MRP, stock, offers, ingredients) and customer reviews as structured JSON. No browser: the Actor calls Nykaa's own JSON endpoints directly, so runs are fast and cheap.

Built for beauty brand pricing teams, D2C founders, market researchers and data teams tracking India's beauty and personal-care market — MRP vs selling price, shade-level stock, rating histograms and customer reviews in one dataset.

Nykaa Beauty Price Monitoring & Market Research

  • Nykaa price monitoring — track selling price vs MRP and discount depth per SKU
  • India beauty and personal-care market research
  • Competitor and share-of-shelf analysis across India beauty brands
  • Product catalogue enrichment — ingredients, how-to-use, manufacturer and country of origin
  • Customer review and sentiment analysis for one product or a whole category
  • Bestselling SKU and ingredient trend tracking (niacinamide, retinol, vitamin C, hyaluronic acid and more)
  • D2C beauty pricing intelligence, promotional and sale-window tracking

How It Works

How the Nykaa Scraper works: browser-fingerprinted JSON calls become product, variant and review rows with INR pricing and stock.

Nykaa is protected by Akamai Bot Manager, so the Actor uses Apify's impit client to reproduce Chrome's TLS and HTTP/2 fingerprint over plain HTTP. It reads the site's own listing, product, variant and review JSON endpoints.

Products include brand, title, MRP, price, discount, rating histogram, stock, shade and size variants, ingredients and images; reviews are written to a separate dataset.

nykaa.com is protected by Akamai Bot Manager, which rejects any client whose TLS/HTTP-2 fingerprint is not a real browser. This Actor uses impit — Apify's Rust HTTP client that reproduces Chrome's TLS ClientHello and HTTP/2 fingerprint — and reads the same public JSON endpoints the site's own frontend calls. No browser, no DOM scraping, no cookies.

PurposeEndpoint
Listing / searchGET /gludo/products/list?search=<q> or ?category_id=<id> (paginated)
Product detailGET /<slug>/p/<id> → window.__PRELOADED_STATE__ → .productPage.product
Variants (fallback)GET /gludo/listVariants?id=<parentId>
ReviewsGET /gateway-api/products/<id>/reviews?pageNo=<n>&filters=DEFAULT&domain=nykaa

Notes:

  • The listing endpoint returns ~20 products per page plus total_found, so pagination is exact.
  • Nykaa maps some search terms to a category instead of returning products; the Actor detects this and transparently re-issues the request as a category listing.
  • A single product-page request returns the full product state — including every shade/size variant with its own price, discount and stock — so one request yields the whole product.

Input Parameters

FieldTypeRequiredDefaultNotes
searchQueriesstring[]No—Search terms to look up on Nykaa, e.g. ["lipstick", "cerave face wash"]. Each query returns matching products.
categoryIdsstring[]No—Nykaa category IDs (the number in a category URL such as …/c/15).
startUrlsarrayNo—Direct Nykaa URLs: product pages (…/p/<id>), category pages (…/c/<id>) or search result pages.
maxItemsintegerNo50Maximum number of products to scrape. Free users are capped at 10 products.
scrapeVariantsbooleanNotrueInclude every shade/size variant with its own price, discount and stock level.
scrapeReviewsbooleanNotrueScrape customer reviews into the separate reviews dataset. Requires maxReviewsPerProduct to be greater than 0.
maxReviewsPerProductintegerNo0How many reviews to scrape per product. 0 = skip reviews.
proxyobjectNouseApifyProxy: falseStandard Apify proxy configuration. Direct connection works by default; enable a proxy if you hit rate limits at high volume.

Provide at least one of searchQueries, categoryIds or startUrls.

Output Fields

The output schema exposes two datasets: Products (default dataset) and Reviews (named dataset reviews).

Products dataset (default) — one row per product (type: "product"):

FieldTypeDescription
typestringAlways "product".
productId, parentIdstring, string|nullNykaa product ID and parent product ID (shared across shades/sizes).
sku, pskustring|nullProduct SKU and parent SKU.
brandstring|nullBrand name.
title, namestring|nullFull product title as displayed, and the shortened product name.
url, slugstring, string|nullCanonical product page URL and its slug.
currencystringAlways INR.
mrpnumber|nullMaximum retail price in INR.
pricenumber|nullCurrent selling price in INR.
discountPercentnumber|nullDiscount off MRP, in percent.
ratingnumber|nullAverage customer rating (0–5).
ratingCountnumber|nullNumber of customer ratings.
reviewCountnumber|nullNumber of written reviews.
qnaCountnumber|nullNumber of questions & answers.
ratingHistogram[]arrayFull star distribution: stars, count, percent. The true rating spread — more representative than the featured reviews alone.
inStockboolean|nullWhether the product is currently purchasable.
stockQuantitynumber|nullNykaa's reported inventory number (can be approximate).
packSizestring|nullPack size from the listing.
variantTypestring|nullVariant dimension (shade, size, …).
productTypestring|nullProduct type.
shadeCountnumber|nullNumber of shade/size variants.
shades[]arrayEvery shade/size variant: childId, shade, sku, packSize, mrp, price, discountPercent, inStock, stockQuantity, image.
offers[]arrayActive offers: title, description.
descriptionstring|nullProduct description (HTML stripped).
ingredientsstring|nullIngredient list (HTML stripped).
howToUsestring|nullHow-to-use text (HTML stripped).
images[]arrayProduct image URLs.
imageUrlstring|nullPrimary product image URL.
categoryPath[]array|nullCategory breadcrumb, e.g. ["Makeup","Lips","Liquid Lipstick"].
categoryLevelsarray|nullCategory levels as returned by Nykaa.
manufacturer, manufacturerAddressstring|nullManufacturer name and address.
countryOfOriginstring|nullCountry of origin.
expirystring|nullExpiry date of the stock on sale.
sellerstring|nullSeller ("Sold by") name.
sourcestringWhere the item was found, e.g. search:cerave face wash.
scrapedAtstringISO 8601 timestamp of when the item was scraped.

Reviews dataset (reviews) — one row per review (type: "review"), populated only when maxReviewsPerProduct > 0:

FieldTypeDescription
typestringAlways "review".
productIdstringProduct the review belongs to.
reviewIdnumber|nullNykaa review identifier.
titlestring|nullReview headline.
textstring|nullFull review text.
authorstring|nullReviewer display name.
ratingnumber|nullStar rating given by the reviewer (1–5).
createdOnstring|nullDate the review was posted.
likeCountnumberNumber of users who found the review helpful.
isBuyerboolean|nullVerified-buyer flag — whether the reviewer purchased on Nykaa.
images[]arrayImage URLs attached to the review.
sourcestringWhere the review came from.
scrapedAtstringISO 8601 timestamp.

Example Input

{
"searchQueries": ["cerave face wash", "matte lipstick"],
"maxItems": 100,
"scrapeVariants": true,
"scrapeReviews": true,
"maxReviewsPerProduct": 20
}

Example Output

One product row (default dataset):

{
"type": "product",
"productId": "2513256",
"parentId": "2513256",
"brand": "CeraVe",
"title": "CeraVe Foaming Cleanser",
"name": "Foaming Cleanser",
"sku": "CERAVE00001",
"url": "https://www.nykaa.com/cerave-foaming-cleanser/p/2513256",
"currency": "INR",
"mrp": 599,
"price": 479,
"discountPercent": 20,
"rating": 4.5,
"ratingCount": 1234,
"reviewCount": 321,
"ratingHistogram": [
{ "stars": 5, "count": 900, "percent": 73 },
{ "stars": 4, "count": 240, "percent": 19 },
{ "stars": 1, "count": 40, "percent": 3 }
],
"inStock": true,
"shadeCount": 2,
"shades": [
{
"childId": "2513257",
"shade": "236ml",
"sku": "CERAVE00002",
"packSize": "236ml",
"mrp": 599,
"price": 479,
"discountPercent": 20,
"inStock": true,
"stockQuantity": 42,
"image": "https://images-static.nykaa.com/media/catalog/product/2513257.jpg"
}
],
"offers": [{ "title": "Buy 2 Get 1", "description": "On selected skincare" }],
"ingredients": "Aqua, Glycerin, Niacinamide, Ceramide NP…",
"images": ["https://images-static.nykaa.com/media/catalog/product/2513256-1.jpg"],
"imageUrl": "https://images-static.nykaa.com/media/catalog/product/2513256-1.jpg",
"categoryPath": ["Skin", "Cleansers", "Face Wash"],
"countryOfOrigin": "India",
"seller": "Nykaa Retail",
"source": "search:cerave face wash",
"scrapedAt": "2026-01-01T10:00:00.000Z"
}

One review row (reviews dataset):

{
"type": "review",
"productId": "2513256",
"reviewId": 987654321,
"title": "Great for oily skin",
"text": "Cleans well without leaving my skin dry.",
"author": "Priya S.",
"rating": 5,
"createdOn": "2025-12-10 08:12:00",
"likeCount": 12,
"isBuyer": true,
"images": [],
"source": "search:cerave face wash",
"scrapedAt": "2026-01-01T10:00:05.000Z"
}

Integrations & Automation

Runs on the Apify platform, so every run gets a REST API, scheduled runs, webhooks and one-click integrations with Google Sheets, Make, Zapier, n8n and cloud warehouses (BigQuery, Snowflake, S3).

Recommended cadences:

  • Daily — price, MRP and stock snapshot per SKU for price monitoring and MAP compliance.
  • Weekly — category and brand sweeps for assortment, share-of-shelf and ingredient trend tracking.
  • Hourly during sale events (Pink Friday, Hot Pink Sale, Beauty Bonanza) — beauty discounts can swing 20–50% within a single day, so tighter polling catches flash cycles.

Pair a daily run with a stored SKU key to turn each snapshot into a dated price series and alert on price drops.

Beauty and e-commerce data actors that complement this one:

Frequently Asked Questions

Why use this Actor instead of the official Nykaa API?

Nykaa does not publish a public, documented developer API. Its product, listing and review data is served through internal endpoints used by its own website and apps. This Actor reads those same public endpoints and returns them as clean, structured JSON — without you maintaining a scraper, rotating proxies or handling Akamai bot protection.

Does Nykaa have a public API?

No. There is no official public Nykaa API for products, prices or reviews. Businesses that need Nykaa data either scrape it (this Actor) or use a third-party wrapper service that does the same thing behind a paid endpoint.

What are alternatives to this Actor for Nykaa data?

Third-party paid APIs resell Nykaa access — for example ReefAPI, Anysite, Anakin.io, Real Data API, ScrapeIt, Parse.bot and BeautyFeeds — and pre-built datasets exist on marketplaces like Crawl Feeds and Actowiz. On Apify, alternatives include thirdwatch/nykaa-scraper, stealth_mode/nykaa-reviews-scraper and piotrv1001/nykaa-listings-scraper. This Actor gives you product detail and reviews in one run with a single, transparent per-result price.

How can I get Nykaa product prices and details?

Give the Actor one or more search queries, category IDs or product URLs. It returns each product's MRP, selling price, discount, rating, rating histogram, every shade/size variant with its own price and stock, plus ingredients and manufacturer data.

How do I scrape Nykaa reviews for sentiment analysis?

Set scrapeReviews to true and maxReviewsPerProduct above 0, and reviews are written to a separate reviews dataset with rating, title, text, author, date, helpful votes and a verified-buyer flag. Note that Nykaa publishes a limited, curated set of reviews per product (its "most useful", mostly verified-buyer selection) — for the true rating spread use the ratingHistogram field on the product.

How do I track Nykaa prices over time?

Run the Actor on a daily schedule and store each row keyed by sku or productId. Comparing snapshots by date turns MRP, selling price and discount into a price series, so a price drop or a sale window shows up as a dated event. Increase the cadence to hourly during named sale events.

What is the best way to build an India beauty product dataset?

Combine search queries and category sweeps, capture brand, categoryPath, ingredients and per-shade prices, and refresh weekly. The ingredient and ratingCount fields let you track trending actives (niacinamide, retinol, vitamin C, peptides) and rising SKUs across brands.

Can I get stock and price per shade, not just the parent product?

Yes. With scrapeVariants enabled (the default), every shade/size variant is returned with its own childId, price, discount, stock flag and stock quantity.

For AI Agents & LLM Apps

  • Purpose: returns Nykaa (India beauty marketplace) product rows — price, MRP, discount, rating histogram, shade/size variants, stock, ingredients and metadata — to the default dataset, and optional customer reviews to a reviews dataset.
  • Minimal input: { "searchQueries": ["cerave face wash"] }
  • Variant inputs:
    • Search mode: { "searchQueries": ["matte lipstick"], "maxItems": 100 }
    • Category mode: { "categoryIds": ["15"], "maxItems": 100 }
    • Direct URLs: { "startUrls": [{ "url": "https://www.nykaa.com/cerave-foaming-cleanser/p/2513256" }] }
    • With reviews: add { "scrapeReviews": true, "maxReviewsPerProduct": 20 }
  • Output fields (products): type, productId, parentId, brand, title, name, sku, psku, url, slug, currency, mrp, price, discountPercent, rating, ratingCount, reviewCount, qnaCount, ratingHistogram, inStock, stockQuantity, packSize, variantType, productType, shadeCount, shades, offers, description, ingredients, howToUse, images, imageUrl, categoryPath, categoryLevels, manufacturer, manufacturerAddress, countryOfOrigin, expiry, seller, source, scrapedAt
  • Output fields (reviews): type, productId, reviewId, title, text, author, rating, createdOn, likeCount, isBuyer, images, source, scrapedAt
  • Behaviors an agent should know:
    • At least one of searchQueries, categoryIds or startUrls is required; otherwise the run fails with an error.
    • maxItems defaults to 50 and bounds the number of products. Free accounts are additionally capped at 10 products regardless of maxItems.
    • scrapeVariants defaults to true — shade/size variants are included unless explicitly disabled.
    • scrapeReviews defaults to true but maxReviewsPerProduct defaults to 0, so no reviews are collected by default. Reviews start only when maxReviewsPerProduct > 0.
    • Reviews are stored in a separate dataset named reviews, not the default dataset.
    • Proxy is off by default (useApifyProxy: false); a direct connection works.
    • A product page request returns the whole product including all variants in one call.
  • Billing: pay-per-event — ~$2.50 per 1,000 products (charged via the default-dataset synthetic event) and ~$2.50 per 1,000 reviews (the review-scraped event).

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Nykaa or FSN E-Commerce Ventures Limited. It accesses only publicly available Nykaa pages and the JSON data those pages serve; it does not log in, bypass authentication, or solve CAPTCHAs. Users are responsible for complying with Nykaa's Terms of Service and with applicable data-protection law, including India's Digital Personal Data Protection Act (and GDPR/CCPA where relevant). Review records include the reviewer's public display name and should not be used for unsolicited commercial outreach in violation of applicable law.

SEO Keywords

nykaa scraper, nykaa api, nykaa api alternative, nykaa product data, nykaa product scraper, nykaa price tracker, nykaa reviews scraper, nykaa review data, nykaa dataset, scrape nykaa, beauty product data india, india beauty market research, cosmetics market research india, nykaa price monitoring, nykaa competitor analysis, beauty price tracking india, d2c beauty pricing intelligence, nykaa ingredients data, nykaa shade variants, nykaa product listings, indian beauty ecommerce data, mrp discount tracking nykaa, nykaa sentiment analysis, share of shelf nykaa, skincare product data api