SYSTEM all green source faces.com queue 12,409 pages p99 latency 184ms dataflirt.com · scraper/faces-com
RUN · 31 active pipelines · faces.com live

Beauty retail data,
extracted at scale.

We extract cosmetics listings, shade variations, fragrance profiles, ingredient lists, and pricing from faces.com. Delivered as clean JSON, CSV, or Parquet to your warehouse.

Products extracted
84K /day
Price updates
112K /24h
Review records
45K /run
Active pipelines
31
Uptime
99.98%
Data Dictionary

Every field we extract from faces.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 faces.com. All fields typed and schema-versioned.

product_idtitlebrandcategorysub_categorypricecurrencydescriptioningredientshow_to_useimage_urlsproduct_url
product_listings
● 200 OK
"product_id": "FCS-89210",
"title": "Double Wear Stay-in-Place Makeup",
"brand": "Estée Lauder",
"category": "Makeup",
"sub_category": "Foundation",
"price": 245.0,
"currency": "AED",
"product_url": "https://www.faces.com/ae-en/estee-lauder-double-wear"
# product_idtitlebrandcategorysub_categoryprice
1
2
3

Complete list of extractable fields for Shades & Variations objects from faces.com. All fields typed and schema-versioned.

parent_idvariant_idshade_namehex_codecolour_familypricein_stockstock_levelswatch_image_url
shades_& variations
● 200 OK
"parent_id": "FCS-89210",
"variant_id": "VAR-1029",
"shade_name": "2W1 Dawn",
"hex_code": "#D4A373",
"colour_family": "Warm",
"price": 245.0,
"in_stock": true,
"stock_level": "High"
# parent_idvariant_idshade_namehex_codecolour_familyprice
1
2
3

Complete list of extractable fields for Fragrance Profiles objects from faces.com. All fields typed and schema-versioned.

product_idtitlebrandfragrance_familytop_notesheart_notesbase_notesconcentrationvolume_mlprice
fragrance_profiles
● 200 OK
"product_id": "FCS-44120",
"brand": "Dior",
"fragrance_family": "Floral",
"top_notes": "['Bergamot', 'Mandarin']",
"heart_notes": "['Grasse Rose', 'Jasmine']",
"base_notes": "['White Musk', 'Patchouli']",
"concentration": "Eau de Parfum",
"volume_ml": 100
# product_idtitlebrandfragrance_familytop_notesheart_notes
1
2
3

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

product_idbase_pricediscount_pricediscount_pctcurrencypromo_badgegift_with_purchasevalid_untilstock_status
pricing_& promos
● 200 OK
"product_id": "FCS-89210",
"base_price": 245.0,
"discount_price": 196.0,
"discount_pct": 20,
"currency": "AED",
"promo_badge": "Beauty Week Special",
"gift_with_purchase": false,
"stock_status": "In Stock"
# product_idbase_pricediscount_pricediscount_pctcurrencypromo_badge
1
2
3

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

review_idproduct_idauthor_nameratingreview_textskin_typeage_rangehelpful_votesdate_posted
reviews_& ratings
● 200 OK
"review_id": "REV-99182",
"product_id": "FCS-89210",
"rating": 5,
"review_text": "Provides excellent coverage without feeling heavy.",
"skin_type": "Combination",
"age_range": "25-34",
"helpful_votes": 14,
"date_posted": "2026-03-14"
# review_idproduct_idauthor_nameratingreview_textskin_type
1
2
3

Capabilities

Cosmetics and fragrance data, structured for analysis

Our faces.com scraper navigates complex product variations, shade matrices, and dynamic promotional pricing — handling JavaScript rendering and regional blocks automatically.

Full Catalogue Extraction

Extract titles, descriptions, how-to-use instructions, and high-resolution image URLs across all beauty categories.

Shade & Colour Matrix Mapping

Map parent products to dozens of shade variants, capturing hex codes, colour families, and variant-specific pricing.

Fragrance Note Parsing

Structure olfactory profiles into top, heart, and base notes, alongside concentration types and volume metrics.

Ingredient List Structuring

Extract and normalise raw ingredient strings into parseable arrays for formulation analysis and compliance checks.

Real-Time Price & Promo Tracking

Capture base prices, discount percentages, promotional badges, and gift-with-purchase indicators.

Stock & Availability Monitoring

Track inventory status at the variant level to monitor out-of-stock rates and restock cadences.

Review & Rating Mining

Collect user feedback, star ratings, and reviewer metadata such as skin type and age range.

Brand & Category Hierarchies

Maintain the exact taxonomy used by faces.com to categorise brands, lines, and sub-categories.

Multi-Region Support

Extract localised catalogues and pricing across UAE, KSA, and other supported Middle Eastern regions.

Scheduled Diffs

Run continuous pipelines that output only changed records, reducing downstream processing costs.

// engagement pipeline

From brand list to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide target brands, categories, or specific product URLs. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Scrapy / Playwright crawlers, proxy rotation, session management, and CAPTCHA handling for faces.com.

Validation & QA
d 4–6

Schema validation, null-rate checks, price-outlier detection, and sample reviews before full launch.

Delivery
ongoing

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

Under the hood

Handling beauty retail scraping challenges

Beauty sites rely heavily on visual matrices and dynamic inventory. Here is how we maintain data integrity.

pipeline-monitor · faces.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
Variant mapping
Complex shade and size matrices

A single foundation can have 50+ shades, each with unique stock statuses and hex codes. Our pipeline maps these multi-dimensional variants back to the parent product, ensuring no orphaned SKUs.

Dynamic pricing
Promotional events and flash sales

Faces.com frequently updates pricing during beauty weeks and holiday events. We capture base price, active discount, and promo badges, timestamping every observation.

Geo-blocking
Regional catalogues and currency

Pricing and availability differ vastly between the UAE, KSA, and Kuwait storefronts. We route requests through region-specific residential proxies to capture accurate local data.

JavaScript rendering
Hydrating dynamic frontend components

Product reviews, swatch images, and dynamic stock indicators are loaded client-side. We use Playwright to execute JavaScript and wait for network idle states before parsing the DOM.

Change detection
Efficient downstream integration

We hash product records per run. If a price or stock level changes, we emit the diff. If nothing changes, we skip it, keeping your data warehouse clean and compute costs low.

Applications

Who uses faces.com data

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

01
Price Intelligence

Beauty retailers and distributors monitor competitor pricing, discount depth, and promotional calendars.

02
Assortment Planning

Merchandising teams analyse brand coverage, category depth, and shade availability to optimise their own catalogues.

03
Trend Forecasting

Analysts track new product launches and review velocity to identify emerging skincare and fragrance trends.

04
Ingredient Analysis

Formulators and compliance teams mine ingredient lists to track the adoption of active compounds or restricted substances.

05
Brand MAP Monitoring

Cosmetics brands audit retail partners to ensure adherence to Minimum Advertised Price policies.

06
Market Research

Consultancies aggregate review sentiment and pricing tiers to map the competitive landscape of the Middle Eastern beauty market.

Why DataFlirt

"Faces.com holds a critical dataset for Middle Eastern and global beauty trends, but mapping its shade variations and fragrance notes requires dedicated infrastructure."

Extracting cosmetics data means dealing with multi-dimensional product variants, nested ingredient lists, and flash sales. DataFlirt manages the residential proxies, JavaScript execution, and schema normalisation so your data science team receives clean, queryable tables on schedule.

Technical Spec

Faces.com scraper — technical specifications

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

JavaScript rendering
Playwright execution for dynamic swatch loading and review pagination
Supported
Geo-targeted proxies
Residential IPs located in UAE, KSA, and Kuwait for accurate regional pricing
Supported
Variant/shade mapping
Structured parent-child relationships for all colour and size options
Supported
Ingredient parsing
Extraction of raw ingredient text blocks into structured arrays
Supported
Review pagination
Traversal of all review pages including user attributes (skin type, age)
Supported
Stock level tracking
Boolean availability flags and qualitative stock indicators
Supported
Change detection
Hash-based diffing to emit only updated records
Supported
User purchase history
Historical order data requires user authentication credentials
Partial
Loyalty program points
Faces Beauty Rewards tier status and point balances are gated behind login
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, deduplication, and retry logic. Playwright handles JavaScript rendering, cookie sessions, and interaction flows.

Residential Proxy Infrastructure

We maintain pools of residential ISP proxies across target regions. Rotation happens per-request with sticky sessions where required.

Cloud-Native Orchestration

Pipelines run on AWS Lambda and ECS. Airflow handles scheduling, dependency management, and SLA alerting. All state 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 — schema versioned per run
CSV
Flat file with typed columns — Excel/Sheets compatible
XLS
Excel format for immediate business analyst use
Parquet
Columnar format for BigQuery, Snowflake, Athena
AWS S3
Direct bucket delivery — compatible with any data lake
Webhook
HTTP POST per record for real-time downstream processing
API
REST endpoints to query extracted datasets on demand
PostgreSQL
Direct database insertion with conflict resolution
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

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

Ask us directly →
Can you extract all shade variations for a single foundation?

Yes. We map every shade variant to its parent product ID, capturing the specific hex code, colour family, price, and stock status for each individual shade.

How do you handle regional pricing differences on faces.com?

We route our crawlers through geo-specific residential proxies (e.g., UAE, KSA). This ensures we capture the correct local currency, pricing, and catalogue availability for your target region.

Is the ingredient list data structured?

We extract the raw ingredient text block provided by the brand on the product page. Depending on your requirements, we can apply post-processing to split this text into a structured array of individual ingredients.

How often can you update pricing and stock data?

We can configure pipelines to run daily, weekly, or at custom intervals. For critical SKUs, we can implement high-frequency checks to monitor flash sales or rapid stock depletion.

Do you capture user attributes in the reviews?

Yes. When reviewers provide metadata such as skin type, skin tone, or age range, we extract these fields alongside the star rating and review text.

Can I get a sample dataset before signing a contract?

Absolutely. We provide a sample extraction of up to 500 products so you can validate the schema, variant mapping, and data quality before committing to a production pipeline.

$ dataflirt scope --new-project --source=faces.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 price monitoring across 80,000 SKUs — we scope, build, and operate the pipeline.

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

More in beauty and skincare

Services

Data Extraction for Every Industry

View All Services →