SYSTEM all green source narsissist.com queue 1,248 pages p99 latency 214ms dataflirt.com · scraper/narsissist-com
RUN · 14 active pipelines · narsissist.com live

Cosmetics data,
at warehouse scale.

We extract shade matrices, ingredient profiles, pricing, and stock status from NARS Cosmetics. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.

Products extracted
4,192 /run
Shade variations
18,403 /run
Stock updates
42,105 /24h
Active pipelines
14
Uptime
99.98%
Data Dictionary

Every field we extract from narsissist.com

Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.

Complete list of extractable fields for Product Listings objects from narsissist.com. All fields typed and schema-versioned.

skunamecategorysub_categorypricecurrencydescriptionhow_to_useratingreview_count
product_listings
● 200 OK
"sku": "0194251000000",
"name": "Light Reflecting Foundation",
"category": "Makeup",
"sub_category": "Face > Foundation",
"price": 52.0,
"currency": "USD",
"rating": 4.6,
"review_count": 3412
# skunamecategorysub_categorypricecurrency
1
2
3

Complete list of extractable fields for Shade Variations objects from narsissist.com. All fields typed and schema-versioned.

parent_skuvariant_skushade_nameshade_descriptionhex_codeimage_urlin_stockprice
shade_variations
● 200 OK
"parent_sku": "0194251000000",
"variant_sku": "0194251000017",
"shade_name": "Mont Blanc",
"shade_description": "Light with neutral undertones",
"hex_code": "#F4D9C8",
"in_stock": true,
"price": 52.0
# parent_skuvariant_skushade_nameshade_descriptionhex_codeimage_url
1
2
3

Complete list of extractable fields for Pricing & Stock objects from narsissist.com. All fields typed and schema-versioned.

skubase_pricediscount_priceauto_replenish_pricestock_statuslow_stock_warninglimited_editionscraped_at
pricing_& stock
● 200 OK
"sku": "0194251000017",
"base_price": 52.0,
"discount_price": "None",
"auto_replenish_price": 46.8,
"stock_status": "IN_STOCK",
"low_stock_warning": false,
"limited_edition": false,
"scraped_at": "2023-10-24T08:12:00Z"
# skubase_pricediscount_priceauto_replenish_pricestock_statuslow_stock_warning
1
2
3

Complete list of extractable fields for Reviews objects from narsissist.com. All fields typed and schema-versioned.

review_idskuauthorratingtitlebodyskin_typeskin_toneage_rangeverified_buyer
reviews
● 200 OK
"review_id": "REV_948123",
"sku": "0194251000017",
"rating": 5,
"title": "Perfect match",
"skin_type": "Combination",
"skin_tone": "Light",
"age_range": "25-34",
"verified_buyer": true
# review_idskuauthorratingtitlebody
1
2
3

Complete list of extractable fields for Ingredients & Claims objects from narsissist.com. All fields typed and schema-versioned.

skuprimary_ingredientsfull_ingredient_listfree_from_claimsbenefitsfinish_typecoverage_levelskin_type_suitability
ingredients_& claims
● 200 OK
"sku": "0194251000000",
"primary_ingredients": "['Biomimetic Oat', 'Japanese Lilyturf', 'Cacao Peptides']",
"free_from_claims": "['Parabens', 'Mineral Oil', 'Silicone']",
"finish_type": "Natural",
"coverage_level": "Medium, Buildable",
"skin_type_suitability": "['All Skin Types']"
# skuprimary_ingredientsfull_ingredient_listfree_from_claimsbenefitsfinish_type
1
2
3

Capabilities

Extract the complete NARS cosmetics catalogue

Our narsissist.com pipeline handles the complexities of beauty retail data: parent-child shade matrices, dynamic inventory states, ingredient lists, and auto-replenish pricing models.

Full Catalogue Extraction

Extract products, collections, and limited edition drops across all makeup and skincare categories.

Shade Matrix Mapping

Capture parent-child relationships for complex shade ranges, including hex codes, undertone descriptions, and variant SKUs.

Stock & Availability Tracking

Monitor out-of-stock statuses and low-stock warnings across regional NARS storefronts.

Ingredient & Formulation Data

Extract full INCI ingredient lists, active ingredient highlights, and clean beauty claims.

Pricing & Auto-Replenish

Capture base prices, promotional discounts, and subscription pricing tiers for recurring orders.

Review & Sentiment Mining

Extract review text, star ratings, and user attributes like skin tone, skin type, and age range.

High-Resolution Assets

Capture URLs for product imagery, swatches, and Virtual Try-On reference models.

JavaScript Rendering

Execute SPA state to extract dynamically loaded shade pickers and regional pricing widgets.

Change Detection

Hash-based diffing ensures we only emit records when stock, price, or formulation data changes.

// engagement pipeline

From shade list to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide categories, SKUs, or specific product lines. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Scrapy and Playwright crawlers, proxy rotation, and session management for narsissist.com.

Validation & QA
d 4–6

Schema validation, null-rate checks, and shade mapping verification before full launch.

Delivery
ongoing

JSON, CSV, or Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.

Under the hood

Handling cosmetics data complexity

Beauty retail sites rely on heavy JavaScript for shade selection and regional pricing. Here is how we maintain data accuracy.

pipeline-monitor · narsissist.com · live ● active
// fingerprinting
Identity rotation
TLS fingerprintrandomised
User-agentrotated
IP poolresidential
Challenges blocked0
// pagination
Page coverage
48,291 pages queued running
// observability
Pipeline health
99.9%
uptime
142ms
p99 lat
0.3%
null rate
2
alerts
Dynamic shade pickers
Full Playwright execution for variant data

NARS uses complex JavaScript for shade selection. We run full Playwright sessions to hydrate the DOM and extract every variant SKU, hex code, and stock state.

Geo-fenced pricing
Localised extraction via residential proxies

Prices and stock vary by region. Our residential proxy pools allow extraction from specific locales to capture accurate local data for global market analysis.

Anti-bot layer
Rate limit and fingerprint circumvention

We bypass rate limits and fingerprinting using residential IPs, realistic browser headers, and randomised request intervals.

Schema stability
Resilient selectors for promotional periods

DOM structures for beauty sites change during promotional periods. We use multi-layer selectors to maintain extraction integrity when site layouts shift.

Change detection
Track fast-moving inventory

Track fast-moving inventory during product drops by only pushing diffs for stock and price changes, reducing your processing load.

Applications

Who uses NARS data and how

Teams across industries use narsissist.com data to build competitive products and smarter operations.

01
Competitor Price Monitoring

Beauty brands track pricing, promotional discounts, and subscription models against their own product lines.

02
Inventory & Assortment Planning

Retail analysts monitor shade availability and out-of-stock rates to optimise their own inventory distribution.

03
Market & Trend Analysis

Identify popular shades, formulations, and limited edition drops to inform product development.

04
Ingredient Analysis

Map chemical compositions and clean beauty claims across the catalogue for formulation research.

05
Sentiment & Review Analysis

Correlate skin types and age ranges with product satisfaction to improve marketing targeting.

06
Counterfeit Detection

Monitor grey market sellers by comparing their listings against the official narsissist.com catalogue data.

Why DataFlirt

"Cosmetics data is highly dimensional. A single foundation might have 40 shades, each with unique stock states, pricing, and undertone metadata."

Extracting beauty catalogues requires handling complex parent-child variant structures and dynamically rendered shade pickers. DataFlirt manages the JavaScript execution and proxy rotation required to maintain accurate, daily snapshots of narsissist.com inventory, so your team can focus on analysis.

Technical Spec

Narsissist scraper technical capabilities

Everything supported by our narsissist.com scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

JavaScript rendering
Full Playwright sessions required for shade pickers and dynamic pricing
Supported
Residential proxy rotation
ISP-grade residential IPs rotated per request to bypass rate limits
Supported
Variant/shade mapping
Parent to child SKU relationships with hex codes and undertones
Supported
Ingredient list parsing
Extraction of full INCI lists and active ingredients
Supported
Stock status tracking
Capture in-stock, out-of-stock, and low-stock warning states
Supported
Review extraction
Includes user attributes like skin tone and skin type
Supported
Image URL capture
High-resolution product imagery and swatch assets
Supported
Change detection (diffs)
Only emit records with changed fields since the last run
Supported
NARS Pro discount pricing
Gated pricing requires verified professional account credentials
Partial
Customer order history
Personal data gated behind user authentication walls
Partial
Infrastructure

Infrastructure powering the pipeline

Open-source tooling on proven cloud infra — no vendor lock-in, full observability.

ScrapyPlaywrightPython 3.12RedisPostgreSQLApache AirflowAWS LambdaS3CloudWatch2CaptchaCapSolverResidential ProxiesDockerKubernetesGrafanaPrometheus
Scrapy + Playwright Stack

Scrapy handles crawl orchestration and retry logic. Playwright handles JavaScript rendering, cookie sessions, and interaction flows for shade pickers.

Residential Proxy Infrastructure

We maintain pools of residential ISP proxies. Rotation happens per-request with sticky sessions where required for regional pricing accuracy.

Cloud-Native Orchestration

Pipelines run on AWS Lambda and Kubernetes. Airflow handles scheduling and dependency management. All state is stored in managed Postgres.

Output & Delivery

Your data, your destination

Data delivered to where your team already works — no new tooling required.

JSON
Newline-delimited or nested array formats
CSV
Flat file with typed columns
XLS
Excel compatible format for business teams
Parquet
Columnar format for data warehouses
AWS S3
Direct bucket delivery
Webhook
HTTP POST per record for real-time processing
API
REST endpoints for on-demand querying
BigQuery
Streamed directly into your dataset
Snowflake
Stage and COPY INTO workflow
PostgreSQL
Upsert into your existing relational schema
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

About narsissist.com scraping, legality, and pipeline operations.

Ask us directly →
Is scraping narsissist.com legal?

Scraping publicly available information from retail sites is generally permissible. DataFlirt targets only public, non-authenticated product, pricing, and review data. We do not extract personal data or circumvent authentication walls.

How do you extract all 40+ foundation shades?

We use Playwright to render the JavaScript shade picker, iterating through every available variant to capture its specific SKU, hex code, description, and stock status.

Can you track limited edition drops?

Yes. For high-priority releases, we configure high-frequency polling pipelines to capture inventory changes and out-of-stock events as they happen.

Do you extract ingredient lists?

Yes, we capture the full INCI ingredient list, primary active ingredients, and any associated clean beauty or free-from claims.

How fresh is the stock data?

Standard pipelines refresh daily. For specific tracking requirements, we can configure hourly runs on targeted SKU lists.

Can I get a sample of the shade matrix?

Yes. We provide a sample run of up to 100 SKUs as part of the pre-engagement scoping process so you can validate the schema and shade mapping logic.

$ dataflirt scope --new-project --source=narsissist.com ready

Tell us what
to extract.
We do the rest.

20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off catalogue dump or continuous stock monitoring across the entire NARS range, we build and operate the pipeline. Tell us what you need.

hello@dataflirt.com · Bengaluru · IST · typical reply < 4h
Related Scrapers

More in beauty and skincare

Services

Data Extraction for Every Industry

View All Services →