US Foods Product Catalog Data Scraper
Pricing
from $5.00 / 1,000 product records
US Foods Product Catalog Data Scraper
Extract public US Foods product records with names, brands, SKUs, categories, descriptions, images, availability, and public pricing when available.
Pricing
from $5.00 / 1,000 product records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
US Foods Catalog Scraper
Apify Actor that extracts publicly visible US Foods product records from category, brand, and product pages.
Each dataset item contains a stable product URL and name, SKU/product ID when exposed, brand, category, public description, image, availability, breadcrumbs, and a public price only when the source exposes one. US Foods ordering prices and order-guide fields are customer-account-specific, so the actor leaves price as null when they are not public.
Input
{"startUrls": [{ "url": "https://www.usfoods.com/products-we-offer/products-by-category/dairy-and-eggs.html" }],"searchQueries": [],"maxResults": 25,"maxPages": 3,"includeDescription": true,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "countryCode": "US" }}
The default public category page is dairy and eggs. searchQueries targets the public website search route; it does not log in to US Foods Online or access private customer catalogs.
Local development
npm cinpm run typechecknpm testnpm run build
If the public CloudFront edge returns 403, use an owner-authorized US residential Apify proxy and keep the request scope small.
Reliability notes
- Records are deduplicated by product ID, SKU, or canonical URL.
- Dataset validation happens before result billing.
- A run with all requests blocked fails honestly; an accessible page with no matching products completes with a warning-level diagnostic.
What data does US Foods Catalog Scraper return?
| Field | Type | Description |
|---|---|---|
recordType | string | Value returned as recordType. |
productId | string or null | Value returned as productId. |
name | string | Value returned as name. |
url | string | Value returned as url. |
sku | string or null | Value returned as sku. |
brand | string or null | Value returned as brand. |
category | string or null | Value returned as category. |
description | string or null | Value returned as description. |
price | number or null | Value returned as price. |
currency | string | Value returned as currency. |
availability | string or null | Value returned as availability. |
imageUrl | string or null | Value returned as imageUrl. |
breadcrumbs | array | Value returned as breadcrumbs. |
sourceUrl | string | Value returned as sourceUrl. |
scrapedAt | string | Value returned as scrapedAt. |
warnings | array | Value returned as warnings. |
Use cases
- Monitor public products, prices, availability, sellers, and catalog changes.
- Run a one-off research job and export the structured result as JSON, CSV, Excel, XML, or RSS from Apify.
- Schedule the same input to monitor changes over time and send completed datasets to a webhook or integration.
- Feed schema-shaped records into a database, spreadsheet, BI tool, or AI workflow with the source URL retained for verification.
Output example
{"recordType": "Example recordType","productId": "Example productId","name": "Example name","url": "Example url","sku": "Example sku","brand": "Example brand","category": "Example category","description": "Example description","price": 1,"currency": "Example currency","availability": "Example availability","imageUrl": "Example imageUrl"}
The exact fields depend on the selected input and what the public source exposes. Use the dataset schema as the machine-readable contract and retain source URLs for verification.
Run US Foods Catalog Scraper with the Apify API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/us-foods-catalog-scraper').call({"startUrls": [{"url": "https://www.usfoods.com/products-we-offer/products-by-category/dairy-and-eggs.html"}],"searchQueries": [],"maxResults": 5,"maxPages": 1,"includeDescription": true,"proxyConfiguration": {"useApifyProxy": false}});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
You can also run the Actor from Apify Console, schedules, webhooks, the REST API, Make, Zapier, n8n, or the hosted Apify MCP server.
Pricing and cost control
This Actor uses pay-per-event pricing. Charges follow the live event definitions shown below.
| Event | Price (USD) | When it is charged |
|---|---|---|
product-record | $0.005 | One validated US Foods product record written to the dataset. |
For example, 100 product-record events cost $0.5, plus any enabled Actor-start event. Empty or failed work should be checked in the run log and dataset before reuse.
Responsible use
Use this Actor only for data you are authorized to access. Follow the target website's terms, robots and access policies, and applicable privacy, database, copyright, anti-spam, and data-protection laws. Do not use it to bypass authentication or other access controls, collect private data, harass people, or make high-impact decisions without independent verification.
Support
When reporting a problem, include the Actor run ID, a redacted input, the expected result, and a small public example URL when applicable. Do not post API tokens, cookies, credentials, or personal data in an issue.