US Foods Product Catalog Data Scraper avatar

US Foods Product Catalog Data Scraper

Pricing

from $5.00 / 1,000 product records

Go to Apify Store
US Foods Product Catalog Data Scraper

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

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

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 ci
npm run typecheck
npm test
npm 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?

FieldTypeDescription
recordTypestringValue returned as recordType.
productIdstring or nullValue returned as productId.
namestringValue returned as name.
urlstringValue returned as url.
skustring or nullValue returned as sku.
brandstring or nullValue returned as brand.
categorystring or nullValue returned as category.
descriptionstring or nullValue returned as description.
pricenumber or nullValue returned as price.
currencystringValue returned as currency.
availabilitystring or nullValue returned as availability.
imageUrlstring or nullValue returned as imageUrl.
breadcrumbsarrayValue returned as breadcrumbs.
sourceUrlstringValue returned as sourceUrl.
scrapedAtstringValue returned as scrapedAt.
warningsarrayValue 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.

EventPrice (USD)When it is charged
product-record$0.005One 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.