ParseForge Scrapers

USDA FoodData Central Scraper

parseforge/usda-fooddata-central-scraper

OtherE-commerceBusiness

Scrapes USDA FoodData Central for food nutrition data. Returns calories, protein, fat, carbs, vitamins, and minerals for each food. Search by keyword, filter by data type and brand owner.

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

Overview

ParseForge

USDA FoodData Central Scraper

Scrape USDA FoodData Central nutrition data for any food, up to a million items per run. Get calories, macros, vitamins, minerals, and full nutrient panels for branded, foundation, survey, and legacy foods. No API key. Export to CSV, JSON, Excel, or XML.

USDA FoodData Central is the authoritative source for food composition data, but its API requires registration and rate limits. This Actor reads the public search directly, filtered by keyword, data type, brand owner, and sort order, and returns each food in one fixed schema.

Who uses it What they scrape USDA FoodData Central for
Dietitians and nutritionists Build meal plans with accurate nutrient data for clients
Food manufacturers Compare branded product nutrition against USDA benchmarks
Recipe app developers Populate ingredient databases with calories and macros
Academic researchers Collect large samples of food composition data for studies
CPG market analysts Track nutritional trends across branded food categories

What it does

This Actor collects USDA FoodData Central food records by search query, data type, and brand owner, and returns each one as a flat row.

  • ๐Ÿ” Keyword search: Enter any food name like 'cheddar cheese' or 'banana' to get matching items.
  • ๐Ÿ“Š Data type filter: Choose Branded, Foundation, Survey (FNDDS), or SR Legacy to narrow results.
  • ๐Ÿท๏ธ Brand owner filter: For Branded foods, filter by company name like 'Kraft Heinz Foods Company'.
  • โ†•๏ธ Sort control: Order results by data type, description, food ID, or published date, ascending or descending.
  • ๐Ÿ“ฆ Bulk collection: Set maxItems up to 1,000,000 to pull large datasets in one run.

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

What you can do with USDA FoodData Central data

๐Ÿฅ— Build a nutrition database for a diet app.

A developer enters 'chicken breast' and filters to Foundation foods to populate their app with accurate calorie and macro data.

๐Ÿญ Audit branded product nutrition.

A food manufacturer filters by brand owner 'Kraft Heinz Foods Company' to compare their products' nutrient panels against USDA standards.

๐Ÿ“ˆ Track nutritional trends in CPG.

A market analyst collects all Branded foods in a category and sorts by published date to see how formulations change over time.

๐Ÿ”ฌ Gather data for academic research.

A researcher pulls a large sample of SR Legacy foods to study historical nutrient composition across food groups.

๐Ÿฝ๏ธ Create meal planning tools.

A dietitian searches for common ingredients and exports the results to build personalized meal plans for clients.

Why choose this scraper

What you get
No API key Access USDA FoodData Central without registration or rate limits
Full nutrient data Get calories, protein, fat, carbs, vitamins, and minerals for each food
Flexible filtering Search by keyword, data type, and brand owner to target exactly what you need
Scalable Collect up to a million food records per run for large-scale analysis
Structured output Every food returns as a flat row ready for CSV, JSON, Excel, or XML export

How it compares

This Actor focuses on keyword search with brand owner filtering, while competitors offer additional lookup methods like FDC ID or UPC codes.

Feature ParseForge USDA FoodData Central Scraper USDA FoodData Central Scraper - Nutrition Facts API USDA FoodData Central Nutrition Scraper
Keyword search Yes Yes Yes Yes
Filter by brand owner Yes Not listed Not listed Not listed
Filter by data type Yes Yes Yes Yes
Sort results Yes Not listed Not listed Not listed
Lookup by FDC ID Not listed Yes Yes Not listed
UPC/GTIN codes Not listed Not listed Yes Yes
Ingredients list Not listed Not listed Yes Yes

Configure the run

Drive the Actor from a search query, data type, and brand owner, alone or together, and filters run as each food is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "searchQuery": "cheddar cheese",
  "sortBy": "dataType.keyword",
  "sortOrder": "desc"
}

A larger pull:

{
  "maxItems": 200,
  "searchQuery": "cheddar cheese",
  "sortBy": "dataType.keyword",
  "sortOrder": "desc"
}

Pricing

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

Results collected Approximate cost
100 results $0.50
1,000 results $5.00
10,000 results $50.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 USDA FoodData Central 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 USDA FoodData Central 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/usda-fooddata-central-scraper"

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

Troubleshooting

Why am I getting no results?

Check your searchQuery. Try a broader term like 'cheese' instead of 'cheddar cheese'. Also, if you set a brandOwner, make sure it matches exactly and that the dataType includes Branded.

Why are some foods missing nutrient data?

Not all foods in USDA FoodData Central have complete nutrient profiles. Branded foods may have limited data compared to Foundation or SR Legacy foods. Try filtering by dataType to get more complete records.

The run is taking too long.

Reduce maxItems or narrow your search with dataType and brandOwner filters. Sorting by description or data type can also speed up retrieval.

I get an error about invalid input.

Ensure that sortBy and sortOrder values are from the allowed lists. For dataType, use only 'Branded', 'Foundation', 'Survey (FNDDS)', or 'SR Legacy'.

Can I search by FDC ID?

This Actor currently searches by keyword, not by FDC ID. If you need to look up a specific food by its FDC ID, consider using the USDA API directly or another Actor that supports ID lookup.

FAQ

Question Answer
What is USDA FoodData Central? USDA FoodData Central is a free database from the U.S. Department of Agriculture that provides nutrient and food component data for over 600,000 foods, including branded products, foundation foods, survey foods, and legacy data.
Do I need an API key to use this Actor? No. This Actor scrapes the public USDA FoodData Central search interface directly, so you do not need to register for an API key or deal with rate limits.
What data does this Actor return? Each food record includes its FDC ID, description, data type, brand owner (if branded), and full nutrient data such as calories, protein, fat, carbohydrates, vitamins, and minerals. The exact fields are shown in the sample output.
Can I filter by brand owner? Yes. Use the brandOwner input to filter Branded foods by company name, for example 'Kraft Heinz Foods Company'.
What are the data types? The four data types are Branded (commercial products), Foundation (analytical data), Survey (FNDDS, foods from national surveys), and SR Legacy (older standard reference data).
How many foods can I collect in one run? You can set maxItems up to 1,000,000. The Actor will collect up to that many matching foods, depending on the search results.
Can I sort the results? Yes. Use sortBy to order by data type, description, food ID, or published date, and sortOrder to choose ascending or descending.
What export formats are supported? You can export the results to CSV, JSON, Excel, or XML directly from the Apify dataset.
Is this Actor free to use? The Actor runs on the Apify platform, and usage is billed according to your Apify plan. There are no additional fees for accessing USDA data.
How often is USDA FoodData Central updated? USDA updates FoodData Central regularly. This Actor always scrapes the live data, so you get the most current information available.

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 U.S. Department of Agriculture. 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
maxItems integer How many food items to collect per run. 10
searchQuery string Food search term. Examples: 'cheddar cheese', 'banana', 'chicken breast'. cheddar cheese
dataType array Filter to specific food data types. Leave empty for all. not set
sortBy string (4 options) How to order results. dataType.keyword
sortOrder string (2 options) Ascending or descending order. desc
brandOwner string Filter Branded foods by brand owner. Example: 'Kraft Heinz Foods Company'. not set

Pricing

from $3.75 per 1,000 results

Charged forWhat it isPrice each
Result Item Charged once per result collected. $0.00375 to $0.005

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~usda-fooddata-central-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 USDA FoodData Central Scraper on Apify All scrapers