WebstaurantStore Products Scraper

A foodservice catalogue,
as a product table.

Search WebstaurantStore for a category - chef knives, prep tables, anything a commercial kitchen buys - or paste a product page, and get the listings back as rows: name, price, currency, availability, brand, sku, mpn, gtin, rating, reviews, image, link and description. The fields are read from the structured data the pages publish.

one-time 500 free rows$0.002 per row after15 columnsCSV · XLSX · JSON
How it works

A search in,
a catalogue out.

The input is the page, not the item number - you name the searches, categories or products you want, and the job reads what each listing publishes.

  1. STEP 1Sign in to the platform.
  2. STEP 2Open the WebstaurantStore Products Scraper.
  3. STEP 3Paste WebstaurantStore search, category or product URLs, one per line - or upload a CSV, XLSX, TXT or Parquet file.
  4. STEP 4Set a limit per query, or set it to zero to take everything.
  5. STEP 5Choose your output format.
  6. STEP 6Click Get Data.

One row per product, each tagged with the query it came from - so a run across a dozen searches still reconciles back to your input list.

Why teams use it

A search URL is
a whole shortlist.

Start from a search, not a part number

The input this catalogue is built for is a search or category page - everything the store lists for chef knife, say - rather than a URL you already had to find. One line becomes a shortlist, and the limit per query decides how much of it you take.

Identifiers, not just names

Alongside the retailer's own stock code the export carries mpn and gtin where the listing publishes them - the fields that let the same pan or the same slicer be matched across suppliers who each file it under a different number of their own.

No residential proxy needed here

Every request goes out through the shared proxy pool rather than your own address. WebstaurantStore is not one of the retailers the platform flags as needing a residential connection - Lowes, Grainger, Zalando and Fastenal are - so the default pool is what this one runs on.

What you get back

Fifteen columns,
one row per product.

Each row is one listing as WebstaurantStore publishes it: what it is called, what it costs, who makes it, how it is identified and what the page says about it.

The fields come from the structured data on the page rather than from scraping the layout, which is what makes the shape stable across a whole search result - and also what bounds it. A field the retailer does not publish does not appear, no matter how the run is configured. The column list below is the header row of real run exports and the platform's own published list, which agree exactly; read the note under it before you write a parser.

Data dictionary

Fifteen columns,
in export order.

The export's header row, in order, confirmed against the platform's published column list. Descriptions say what each field is for; they claim nothing about its format or how often it arrives filled - see the note underneath.

query
The WebstaurantStore URL you submitted, repeated on every row that came from it. Written by the scraper rather than taken from the page, so it is there on every row.
service
Which retailer this row came from - also written by the scraper. It matters because this tool serves several retailers behind one form, so a file assembled from more than one job stays separable.
name
The product name as the listing gives it.
price
The asking price. The unit is in currency, not in this column.
currency
The currency the price is quoted in. Read it per row rather than assuming it from the storefront.
availability
The stock status the listing publishes.
brand
The brand the product is filed under.
sku
The retailer's own stock code - WebstaurantStore's identifier for the item, and the one to quote back to them.
mpn
The manufacturer's part number. The field to match on when the same item is sold by more than one supplier under different stock codes.
gtin
The global trade item number - the barcode identifier. The most reliable join key across catalogues when it is published.
rating
The average rating shown for the product.
reviews
How many reviews that average is built on.
image
A link to the product image.
url
A link to the product page. The column to keep if you ever need to check a value by hand.
description
The product description as published.

Read this dictionary as a list of names, not a promise about contents. The fifteen names and their order are solid - the published column list and the header row of every archived run of this scraper agree exactly. What is not settled is what arrives in them for WebstaurantStore, because we hold no populated WebstaurantStore export: the runs we have are either empty or from a different retailer on the same shared tool, and one retailer's structured data tells you nothing reliable about another's. That is also why the mechanism matters more here than a format would: the fields are read from the structured data the listings publish, so the export is exactly as complete as that is. query and service are the exceptions - the scraper writes those itself, so they are on every row regardless. If gtin or mpn is load-bearing for your work, run one search on the free tier and look before you build.

Run controls

Set on the job,
not in the spreadsheet.

A list of URLs and a limit. The input accepts a search, a category or a single product, and the limit is what decides the size and the cost of a run.

Search URL Category URL Product URL One per line Limit per query 0 for everything CSV upload XLSX upload TXT upload Parquet upload Shared proxy pool, never your IP
Common workflows

Three jobs this
runs more than any other.

A few examples of how teams use foodservice catalogue data to answer a question they actually have.

Procurement

Price a kitchen fit-out line by line

Search each category you are buying - ranges, prep tables, smallwares - and put the published prices next to the quote on your desk. A spec list becomes a comparison instead of a leap of faith, and the gaps are the conversation to have with the supplier.

Procurement
Data

Match the same item across suppliers

Export a category and join on mpn or gtin rather than on the stock code, which every distributor assigns differently. That is what turns several supplier catalogues into one comparable list instead of several spreadsheets nobody can reconcile.

Data · Ops
Competitive

Watch a category rather than a page

Feed search URLs instead of individual products and re-run on a schedule. What moves - a price, a stock status, a new brand appearing in a result set - is visible as a diff between two exports rather than as something somebody had to notice.

Strategy
Pricing

Pay only for the rows
you actually pull.

No subscription, no minimum, no recurring bill. Your first 500 rows are on us - after that, pay-as-you-go at the same flat rate as every other scraper here.

Free tier

500 free rows - $0

Every new account, one-time. No credit card required. Per-query limits, file upload and every export format included.

$0 forever
Pay-as-you-go

$0.002 per row, after the free tier

Roughly $2 per 1,000 products. The pre-flight estimator shows the row count and credit cost before a run starts - no surprise bills, no compute units to translate.

Most popular
Volume

Custom · high volume

Volume pricing, dedicated workers and an SLA for continuous monitoring or very large catalogue pulls. Tell us your numbers and we will quote.

Talk to us
10% off your first paid run.Use code LIVESCRAPER10 at checkout.
Sign up
Pairs well with

The same item,
from another distributor.

The legal bit

Is it legal to scrape
WebstaurantStore listings?

Short answer: yes for the public catalogue - and this export contains no account, no customer and no order data.

The fields collected here are the ones WebstaurantStore publishes in the structured data on its own public product pages, for search engines and shopping tools to read. Name, price, availability, brand and identifiers are shown to anyone who opens the page, signed in or not. Collecting publicly published catalogue data is long-established practice, and nothing here touches a login, an account or a checkout.

There is no personal data in this output at all - it is a product table. No customer names, no order history, no negotiated pricing, because none of that is public. Whatever your account sees when signed in is not what this reads, and that is a deliberate boundary rather than a limitation to work around.

WebstaurantStore's own terms restrict automated access, so this is a terms question as well as a legal one - if you have an account or a supply relationship with them, check it. We run no third-party trackers on the data layer, and your exports auto-delete after 30 days.

livescraper.app · principles
Public catalogue data only
No logins, no accounts touched
No negotiated pricing in the export
No personal data collected
Exports auto-delete (30 days)
Check WebstaurantStore's own terms before scaling.
Common questions

Things people
ask before signing up.

The questions we hear most. Anything else? Talk to us - humans, not bots, write the answers.

How do I scrape WebstaurantStore product data?+
Using the WebstaurantStore Products Scraper:
  1. Sign in to the platform.
  2. Open the WebstaurantStore Products Scraper.
  3. Paste WebstaurantStore search, category or product URLs, one per line - or upload a CSV, XLSX, TXT or Parquet file.
  4. Set a limit per query, or set it to zero to take everything.
  5. Choose your output format.
  6. Click Get Data.
Do I need a residential proxy for this one?+
No. Requests go out through the shared proxy pool rather than your own address, and WebstaurantStore is not one of the retailers the platform flags as needing a residential connection. Some retailers on this same tool are - Lowes, Grainger, Zalando and Fastenal are named - but this is not one of them, so the default pool is what it runs on.
Can I start from a search instead of a product page?+
Yes, and that is what this one is set up for. A search or category URL takes everything the store lists for that term, so one line becomes a shortlist rather than a single item. A single product URL works too when you already know exactly what you want.
What comes back for each product?+
Fifteen columns: the query you submitted, the service, the name, the price, the currency, the availability, the brand, the sku, the mpn, the gtin, the rating, the review count, the image, the product link and the description.
Why might a column come back empty?+
Because the fields are read from the structured data the retailer publishes on its own pages, so the export is exactly as complete as that is. A listing that does not publish a gtin has no gtin to give. The query and service columns are the exceptions - the scraper writes those itself, so they are on every row regardless.
Is this the same tool as the other retailers?+
Yes. WebstaurantStore is one of several retailers behind one shared products scraper, which is why every one of them exports the same fifteen columns in the same order. The service column records which retailer a row came from, so a file assembled from more than one job stays separable.
Do I get my negotiated or account pricing?+
No. This reads the public catalogue, so what you get is what the page publishes to anyone. Whatever your signed-in account sees is not what this collects, and no account, customer or order data appears in the export at all.
How much does it cost?+
The first 500 rows are free and one-time, with no credit card. After that it is $0.002 per row - about $2 per 1,000 products - which is the same flat rate as every other scraper on the platform. The estimator shows the cost of a run before it starts.

Your first 500 rows,
on the house.

500 one-time free rows on every new account - no expiry. After that it is $0.002 per row, pay-as-you-go - no card on file until you say so.

Activates instantly · no card required

Scrape WebstaurantStore product and category data at scale

Livescraper's WebstaurantStore Products Scraper turns catalogue URLs into a product table. You paste WebstaurantStore search, category or product URLs one per line - or upload them as a CSV, XLSX, TXT or Parquet file - cap the rows per query, and download the results as a clean CSV, Excel or JSON file. Requests go out through the shared proxy pool rather than your own address.

Each row is one listing: the name, the price and its currency, the availability, the brand, the retailer's own stock code, the manufacturer part number, the gtin, the rating and review count, the image, the product link and the description. Those fields are read from the structured data the listings publish, which is what keeps the shape stable across a whole set of search results - and also what bounds it, since a field a listing does not publish is not there to collect.

Procurement teams search each category they are buying and set the published prices against the quote on the desk. Data teams export a category and join on mpn or gtin rather than the stock code, which every distributor assigns differently, turning several supplier catalogues into one comparable list. Strategy teams feed search URLs on a schedule and read what moved between two exports instead of relying on somebody noticing.

One practical note up front: this page describes the fifteen columns and their order, which the archived exports and the platform's published list agree on exactly, but it claims no formats or fill rates for WebstaurantStore because no populated WebstaurantStore export exists to base them on. Run one search on the free tier and look at the first rows before you build against it. Your first 500 rows cost nothing and need no credit card, and after that it is $0.002 per row, flat.