Sysco Products Scraper — Catalog, SUPC Codes & Brands
Pricing
from $11.99 / 1,000 sysco product records
Sysco Products Scraper — Catalog, SUPC Codes & Brands
Export Sysco products from the public catalog: SUPC item codes, names, brands, pack sizes and images for sourcing research. USD 15.99 per 1,000 products.
Pricing
from $11.99 / 1,000 sysco product records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
3 hours ago
Last modified
Categories
Share
Sysco Products Scraper exports the public Sysco product catalog from Sysco Foodie: SUPC item codes, product names, brands, pack sizes, images and product URLs, with optional detail-page descriptions and pack counts. It costs USD 15.99 per 1,000 products on the FREE tier (USD 0.01599 per product) plus a USD 0.005 start fee, so the default 20-product run costs about USD 0.32.
It is built for foodservice sales and sourcing teams, restaurant consultants, menu and recipe-costing apps, competitive catalog research and AI agents that need Sysco item codes matched to product names and brands.
No prices: Sysco shows prices, stock and order guides only to signed-in customers in Sysco Shop. This Actor reads the public catalog and never signs in.
What Sysco product data does it return?
It returns one record per product, de-duplicated by SUPC.
| Field | What it means |
|---|---|
supc | Sysco item code (SUPC) as displayed; some products show several codes joined by + |
supcCodes | The individual SUPCs as a list |
title | Product name in the public catalog |
brand | Brand line as listed, for example Keystone or IMPERIAL FRESH |
size | Package or unit size, for example 1 GAL or 12 CT |
pack | Pack count (detail page) |
displayName | Display name (detail page) |
description | Short catalog description, for example DETERGENT LIQ PRESOAK 2-IN-1 (detail page) |
brandCode | Brand code (detail page) |
imageUrl | Product image URL |
productUrl | Sysco Foodie product page |
sourceListingUrl | Catalog page where the product was found, or null for a direct product URL |
detailEnriched | true when the product page was read |
recordType | Always product |
scrapedAt | Extraction time (ISO 8601) |
Detail-page fields stay null unless you turn on includeDetails or pass product URLs directly. The OUTPUT key-value record holds the result count, pages finished and failed, warnings and runtime.
How many products are in the public Sysco catalog?
About 2,400. On 2026-10-26 the catalog at https://foodie.sysco.com/sysco-products/ ran to 200 pages of 12 products each (the last page held 5). It spans produce, meat and seafood, dairy, frozen and canned goods, bakery, beverages, disposables and cleaning chemicals across Sysco brand lines. One run can return up to 1,000 products and follow up to 200 catalog pages.
How do I find a Sysco product by SUPC, brand or keyword?
Add words or item codes to searchTerms. A product is kept when any term appears in its SUPC, title, brand or size (and description or brand code once the product page is read). Raise maxPages for narrow terms, because filtering happens on the pages the Actor visits.
Chicken products from the first 10 catalog pages:
{"startUrls": [{ "url": "https://foodie.sysco.com/sysco-products/" }],"searchTerms": ["chicken"],"maxResults": 25,"maxPages": 10,"includeDetails": false}
One product by URL, with pack count and description:
{"startUrls": [{ "url": "https://foodie.sysco.com/sysco-products/2-in-1-detergent-and-presoak-7217343/" }],"maxResults": 1,"maxPages": 1}
A product URL always returns its detail fields. You can also start from a numbered page such as https://foodie.sysco.com/sysco-products/page/46/. URLs outside foodie.sysco.com/sysco-products/ are rejected before crawling and cost only the start fee.
When should I use it, and when not?
Use it when you need:
- a spreadsheet of Sysco SUPC codes with names, brands and pack sizes;
- to match item codes on invoices or spec sheets to public product names;
- brand and category coverage for competitive or menu research;
- product images and links for a catalog or recipe-costing tool.
Do not use it when you need:
- Sysco customer prices, stock or order history: those require a Sysco Shop account;
- another distributor's catalog: use US Foods Product Catalog Data Scraper;
- public wholesale prices: use CHEF'STORE Price Scraper or WebstaurantStore Product Scraper.
Use it from an AI assistant
Sysco Products Scraper works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add it with https://mcp.apify.com/?tools=muhammadafzal/sysco-food-service-scraper, then ask, for example: "Find Sysco Imperial Fresh produce items and give me their SUPC codes, pack sizes and product links."
Run it with the API
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/sysco-food-service-scraper').call({startUrls: [{ url: 'https://foodie.sysco.com/sysco-products/' }],searchTerms: ['Keystone'],maxResults: 20,maxPages: 20,includeDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python (apify-client 3.x):
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("muhammadafzal/sysco-food-service-scraper").call(run_input={"searchTerms": ["7217343"], "maxResults": 1, "maxPages": 5})items = client.dataset(run.default_dataset_id).list_items().itemsprint(items)
What does the output look like?
An enriched product and a listing-only product from 2026-10-26:
[{"recordType": "product","supc": "7217343","supcCodes": ["7217343"],"title": "2-in-1 Detergent and Presoak","displayName": "2-in-1 Detergent and Presoak","description": "DETERGENT LIQ PRESOAK 2-IN-1","brandCode": "Keystone","brand": "Keystone","pack": "4","size": "1 GAL","imageUrl": "https://image.sysco.com/image-server/product/image/7217343/web/3.jpg","productUrl": "https://foodie.sysco.com/sysco-products/2-in-1-detergent-and-presoak-7217343/","sourceListingUrl": null,"detailEnriched": true,"scrapedAt": "2026-10-26T12:23:05.515Z"},{"recordType": "product","supc": "2795896","supcCodes": ["2795896"],"title": "1 Sysco Imperial Granny Smith Apple, Finely Diced","displayName": null,"description": null,"brandCode": null,"brand": "IMPERIAL FRESH","pack": null,"size": "12 CT","imageUrl": "https://image.sysco.com/image-server/product/image/2795896/web/1.jpg","productUrl": "https://foodie.sysco.com/sysco-products/1-sysco-imperial-granny-smith-apple-finely-diced-2795896/","sourceListingUrl": "https://foodie.sysco.com/sysco-products/","detailEnriched": false,"scrapedAt": "2026-10-26T12:22:52.234Z"}]
How much does it cost? (pricing)
Pay per event. Apify platform usage is included in these prices.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM / DIAMOND |
|---|---|---|---|---|---|
| Sysco product record (one dataset item) | USD 0.01599 | USD 0.01499 | USD 0.01399 | USD 0.01199 | USD 0.01199 |
| Actor start (per started GB of allocated memory) | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 | USD 0.005 |
The default memory is 256 MB, so a run has one start event. Worked totals on the FREE tier:
- Default run (20 products): 20 × USD 0.01599 + USD 0.005 = USD 0.325
- Largest run (1,000 products): 1,000 × USD 0.01599 + USD 0.005 = USD 15.995
Detail enrichment adds requests but no second charge. A filter that matches nothing pays only the start event. The status message at run start estimates the result cost from your tier's live per-product price.
How fast is it, and what are the limits?
The catalog is plain HTML, so the Actor uses fast HTTP requests (no browser): up to 5 at a time and 120 per minute, with two retries per page. A listing-only run reads one catalog page per 12 products; includeDetails adds one request per product. The default timeout is 300 seconds.
If every request is blocked, the run fails with 0 products and 0 product charges instead of returning placeholder rows. The Actor makes direct requests and has no proxy setting. The brand field is copied as Sysco lists it and sometimes repeats a product description.
FAQ
Does it return Sysco prices?
No. Sysco shows prices only to signed-in customers, and the Actor never signs in or reads customer accounts.
What is a SUPC?
SUPC is Sysco's item number. Each record has it as supc, and as a list in supcCodes when a product shows more than one.
Can I look up a Sysco item number?
Yes. Put the SUPC in searchTerms and give maxPages enough room, or pass the product URL directly if you have it.
Can I export the whole Sysco catalog?
Up to 1,000 products per run. Split the rest across runs that start at later pages, for example https://foodie.sysco.com/sysco-products/page/84/.
Does it include nutrition or allergen data?
No. It returns what the public catalog shows: names, codes, brands, sizes, pack counts, short descriptions and images.
Why are description and pack empty?
They come from the product page. Turn on includeDetails, or pass product URLs, to fill them.
Related Actors
- US Foods Product Catalog Data Scraper: another broadline distributor's catalog.
- CHEF'STORE Price Scraper: public wholesale food and case prices.
- WebstaurantStore Product Scraper: restaurant supply products and prices.
- Seattle & King County Restaurant Inspections Scraper: restaurant inspection history for supplier and sales research.
- Tasty Recipe Scraper: recipe ingredients for menu and costing work.
Legal and compliance
The Actor reads only the public Sysco Foodie catalog. It does not bypass logins, CAPTCHAs or other access controls and collects no customer or personal data. Product names, images and trademarks belong to their owners; use the data for research and follow Sysco's terms.
Last verified: 2026-10-27