CHEF’STORE Wholesale Food Price Scraper
Pricing
from $3.00 / 1,000 product prices
CHEF’STORE Wholesale Food Price Scraper
Search CHEF’STORE wholesale products and return store-specific unit and case prices, sale flags, pack sizes, stock signals, brands, departments, and images for restaurant purchasing and price analysis.
Pricing
from $3.00 / 1,000 product prices
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
CHEF'STORE Wholesale Food Price Scraper
Searches the first-party CHEF'STORE product index and returns store-specific wholesale food prices, sale flags, case pricing, pack sizes, stock signals, brands, categories, and product images.
Input
Use searchQueries for terms such as chicken, rice, or olive oil. storeNumber controls which store's price and availability maps are read; the default is 503. Optional filters are department, priceType (new or tpr), and maxItems.
The actor uses the public Algolia search configuration published by CHEF'STORE's website. Prices and availability can vary by store and change between runs. Product pages may require store selection for checkout even when a price is indexed.
Output
One homogeneous dataset row per unique product with unitPrice, casePrice, regular prices, sale flags, inStock, soldByWeight, and lowStock. A run summary is written to the OUTPUT key-value record.
Local development
npm installnpm run buildnpm start
Result events are capped by maxItems and priced at $0.003 per returned product. The default 4 GB run also emits actor-start charges at $0.001 per GB, so a 1-result run has a maximum event charge of $0.007 before platform usage.
What data does CHEF'STORE Wholesale Food Price Scraper return?
| Field | Type | Description |
|---|---|---|
productId | string | Value returned as productId. |
itemNumber | string | Value returned as itemNumber. |
name | string | Value returned as name. |
brand | string or null | Value returned as brand. |
department | string or null | Value returned as department. |
category | string or null | Value returned as category. |
size | string or null | Value returned as size. |
imageUrl | string or null | Value returned as imageUrl. |
sourceUrl | string | Value returned as sourceUrl. |
storeNumber | string | Value returned as storeNumber. |
currency | string | Value returned as currency. |
unitPrice | number or null | Value returned as unitPrice. |
regularUnitPrice | number or null | Value returned as regularUnitPrice. |
casePrice | number or null | Value returned as casePrice. |
regularCasePrice | number or null | Value returned as regularCasePrice. |
packCount | number or null | Value returned as packCount. |
unitOnSale | boolean | Value returned as unitOnSale. |
caseOnSale | boolean | Value returned as caseOnSale. |
inStock | boolean | Value returned as inStock. |
soldByWeight | boolean | Value returned as soldByWeight. |
lowStock | boolean | Value returned as lowStock. |
scrapedAt | string | Value returned as scrapedAt. |
searchQuery | string | Value returned as searchQuery. |
Use cases
- Monitor public products, prices, availability, sellers, and catalog changes.
- Schedule repeatable collection and export results to downstream workflows.
- Add a repeatable structured-data step to applications, agents, and automation pipelines.
- 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.
Input example
{"searchQueries": ["chicken"],"storeNumber": "503","department": "","priceType": "","maxItems": 100}
Run CHEF'STORE Wholesale Food Price 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/chefstore-wholesale-food-price-scraper').call({"searchQueries": ["chicken"],"storeNumber": "503","department": "","priceType": "","maxItems": 100});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.
Reliability and limitations
Public websites and upstream APIs change over time. Start with a small result limit, inspect the dataset and run log, and keep a known-good input for scheduled canary runs. A valid query can return no records when the source has no matches. If a run is blocked, rate-limited, or missing an expected field, reduce concurrency or scope where the input supports it and include the run ID in a support report.
The Actor does not guarantee that every optional field is present on every record. Treat absent values as unavailable from that source response, not as proof that the real-world value does not exist.
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.