ParseForge Scrapers

Open Beauty Facts Products Scraper

parseforge/openbeautyfacts-products-scraper

AutomationOther

Searches Open Beauty Facts by keyword and returns matching cosmetic products as structured rows with ingredients, brands, labels, and scores.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
45
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Open Beauty Facts Products Scraper

Scrape cosmetic product data from Open Beauty Facts by keyword, up to a million products per run. Each product comes with its ingredients, brand, category, labels, and nutrition-style beauty scores. No API key required. Export to CSV, JSON, Excel, or XML.

Open Beauty Facts is a free, open database of cosmetic products, but browsing it manually or using its API still means paginating and parsing. This Actor searches the public product database by any keyword you give it, reads every matching product page, and returns the data in one clean, flat schema. It is the fastest way to build a cosmetic ingredient dataset for research, competitive analysis, or an app.

Who uses it What they scrape Open Beauty Facts for
Cosmetic formulators Benchmarking ingredient lists of competing products in a category.
Beauty market analysts Tracking which brands are launching products with specific claims or labels.
App developers Building a product database for a skin-care routine or allergen-checker app.
E-commerce managers Enriching a product catalog with standardized ingredient and allergen data.

What it does

This Actor searches Open Beauty Facts by a product name or keyword and returns each matching product as a structured row with its full data profile.

  • 🔍 Keyword search: Enter any product name, brand, or category like 'shampoo', 'sunscreen', or 'L'Oreal' and get every match.
  • 📊 Structured output: Each row is a product with its full ingredient list, brands, labels, packaging, and origin.
  • 🏷️ Beauty scores: Get the Nutri-Score style grading for cosmetics, including environmental impact and allergen flags.
  • High volume: Set a maximum up to 1,000,000 products and let the Actor run until it collects them all.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Open Beauty Facts data

🧪 Analyze ingredient trends.

A cosmetic chemist searches for 'moisturizer' to collect the ingredient lists of the top 500 products and identify the most common preservatives used this year.

🏷️ Audit product claims.

A beauty journalist searches for 'vegan' and 'organic' labeled products to verify which brands carry the certifications they advertise.

📱 Populate a product database.

An indie developer builds a personal-care app and scrapes 50,000 products by category to seed the app's barcode-scanning feature with real data.

🌍 Compare by market.

A brand manager searches for a competitor's product name across different countries to see how ingredient lists and labels change by region.

Why choose this scraper

What you get
No API key Reads the public Open Beauty Facts database directly with no registration or token.
Full ingredient data Every product row includes the complete ingredient text, not a summary.
Fixed schema All products return the same fields, so your CSV or JSON is ready for analysis immediately.
Open source data All data is under the Open Database License, free to use and share.

How it compares

No other Store actor targets Open Beauty Facts the same way, so the honest comparison is with the alternatives teams actually weigh.

Open Beauty Facts Products Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When Open Beauty Facts changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor with a single search query and a maximum item count. The search matches against product names, brands, and categories, and the limit stops the run once you have enough rows. The Input tab lists every parameter.

A first run with the defaults:

{
 "searchQuery": "shampoo",
 "maxItems": 10
}

A larger pull:

{
 "searchQuery": "shampoo",
 "maxItems": 200
}

Pricing

Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.85
1,000 results $8.50
10,000 results $85.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Open Beauty Facts Products Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Open Beauty Facts through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/openbeautyfacts-products-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results for my search?

Your keyword may be too specific or misspelled. Try a broader term like 'soap' instead of a full product name. Visit openbeautyfacts.org and test your search there first to confirm the database has matching products.

The run stopped before reaching my max items.

The search may have returned fewer total products than your maximum. The Actor stops when it has read every result the search produced. Try a more general keyword to get a larger result set.

Some fields are empty in my dataset.

Open Beauty Facts is a volunteer-contributed database. Not every product has every field filled in. Empty fields mean the data was not provided by the contributor for that product.

The run is taking too long.

Lower your max items or use a more specific keyword to reduce the number of products the Actor must process. Each product requires a separate page request.

I got an error during the run.

The Open Beauty Facts site may be temporarily slow. The Actor will retry automatically. If the error persists, try the run again later or reduce the max items to shorten the run duration.

FAQ

Question Answer
What is Open Beauty Facts? Open Beauty Facts is a free, collaborative database of cosmetic products, similar to Open Food Facts. It lists ingredients, brands, labels, packaging, and computed scores for each product, all under an open license.
Do I need an API key or account? No. This Actor reads the public website directly. You do not need to register an application, get a token, or log in.
What input does the Actor need? You provide a search query, which can be a product name, a brand, or a category like 'lipstick' or 'Nivea'. You also set a maximum number of products to collect.
What data do I get for each product? Each row includes the product name, brand, ingredients text, categories, labels, packaging materials, countries sold, and computed scores like the Nutri-Style grade and Eco-Score.
Can I scrape all products on Open Beauty Facts? You can scrape up to one million products per run. Use a broad keyword like 'cream' or run multiple searches by category to cover a large portion of the database.
How long does a run take? It depends on the number of products you request. The Actor processes products sequentially and respects the site, so a run for 10,000 products may take a few hours.
Can I filter by brand or label? The search query matches against product names, brands, and categories. For precise filtering by a specific label like 'Bio' or 'Cruelty Free', include that term in your search query.
What format is the export? You can export your dataset in CSV, JSON, Excel, or XML from the Apify platform.
Is the data free to use? Yes. Open Beauty Facts data is published under the Open Database License (ODbL). You are free to use, share, and build upon it as long as you attribute Open Beauty Facts and share alike.
Does this Actor get product images? The Actor collects the image URLs provided by Open Beauty Facts. You can download the images separately using those URLs.
Can I search in languages other than English? Yes. Open Beauty Facts is a multilingual database. Search in French, Spanish, German, or any language the site supports, and you will get products listed in that language.
What if my search returns no results? Try a shorter or more general keyword. Check your spelling, or try the product's barcode on the Open Beauty Facts website first to see how it is listed.

Related actors

Browse the full ParseForge collection for more scrapers.

🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Open Beauty Facts. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
searchQuery required string Required. Keyword to search Open Beauty Facts products (for example shampoo, cream, lipstick). Matches against product names, brands and categories. shampoo
maxItems integer How many products to collect per run. 10

Pricing

from $7.69 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.00769 to $0.0085

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST · run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~openbeautyfacts-products-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Open Beauty Facts Products Scraper on Apify All scrapers