BiggestBook Products Scraper

An office catalogue that
renders in JavaScript.

BiggestBook is Essendant's online catalogue for its reseller customers - office supplies, furniture, technology, break room and janitorial. Ask for it with an ordinary HTTP client and you get a 6.9 KB application shell with no product in it. This service loads the page the way a browser does and hands back seventeen columns per product.

one-time 500 free rows$0.002 per row afterseventeen columns per productCSV · JSON · Excel
How it works

A list of URLs in, a spreadsheet out.

  1. STEP 1Sign in to the platform.
  2. STEP 2Open the BiggestBook Products Scraper.
  3. STEP 3Paste the BiggestBook product URLs you want, one per line.
  4. STEP 4Pick your output format (CSV / JSON / XLSX).
  5. STEP 5Run the job.
  6. STEP 6Download the results - one row per URL, seventeen columns.
Why this catalogue is awkward

What makes it hard to read.

The page is an application, not a document

Fetch https://www.biggestbook.com with curl and you get HTTP 200 and about 6.9 KB - an Angular shell with <base href="/ui">, a title of "Biggestbook Web", and not one occurrence of a price, a SKU or an add-to-cart control. The catalogue arrives afterwards, from JavaScript. Anything built on an HTTP library and an HTML parser reads that shell and concludes the page is empty.

Seventeen columns, and some come in pairs

The export carries price and parsed_price, sku and sku_code, image and images, url and product_url. That is not redundancy for its own sake - one of each pair is for reading and one is for computing, and knowing which is which before you write the importer saves a rewrite.

A distributor catalogue, not a storefront

BiggestBook exists to serve resellers rather than shoppers, so the fields that matter are the ones a purchasing system needs - identifier, brand, availability, currency - rather than the ones a marketing page leans on. The schema reflects that: two identifier columns, and rating and reviews present but never assumed.

The same shape as the rest of the supply family

Livescraper runs this schema across a row of B2B and supply sources - CDW, AutoZone, Brady, Decathlon and others. The seventeen names and their order are identical, so one importer reads all of them and adding a second source is a configuration change rather than a project.

Every row says whether it worked

The last column is status, written by our exporter rather than by the site. A row that could not be retrieved still arrives, carrying the reason. You reconcile against the input list instead of discovering a silent gap three weeks later.

We say what we have not measured

The two runs behind this page both submitted a placeholder URL that returned a 404, so we hold no BiggestBook product data at all. The column list below is real - it is the header row of those exports. The values are not described, because we have not seen any.

What you get back

Seventeen columns, per product.

Read out of the header row of a real export of this service, in sheet order. The two runs we hold returned no data under that header - see the note below the table - so each entry says what the column is for and stops there.

query
The BiggestBook URL you submitted, echoed on every row so an export covering many products stays separable. Keep it: it is the only record of which input the rest of the row answers.
sku_code
The item code as the catalogue prints it. Paired with sku below - check both before choosing a join key, because in this schema family they are populated independently.
product_url
The canonical product page. Distinct from url, which reports the address the row was actually produced from; the two differ whenever a submitted link redirects.
name
The product title as shown on the page.
description
The description copy. Expect a long free-text field rather than a short label, and give it a wide column or a text type in your database.
parsed_price
The price as a bare number, with no symbol and no thousands separator - the one to use for arithmetic, sorting and thresholds.
price
The price as displayed. Use it when you need to show a customer exactly what the catalogue said; use parsed_price when you need to compute.
currency
The currency the price is quoted in. Always read it rather than assuming - a distributor catalogue can serve a different currency to a different account or region.
availability
The stock state as published on the page. Treat it as the catalogue's claim at scrape time, not as a live inventory feed.
rating
The average rating, where the page publishes one. A distributor catalogue frequently does not, so write the importer to accept an empty cell rather than to fail on it.
reviews
The review count, subject to the same caveat as rating. Where both are present they belong together; a rating with no count behind it is not worth ranking on.
images
Every image the page carries, in one field. Split it before storing if you need one row per asset.
brand
The manufacturer or brand. This is the field to group on for assortment work - which makers a distributor lists, and how deep each line goes.
sku
The stock-keeping unit. The other half of the identifier pair with sku_code.
url
The address the row was produced from. Compare it against query to spot redirects, and against product_url to spot canonicalisation.
image
The primary image on its own, so the common case - one thumbnail per product - needs no string splitting.
status
A per-row flag written by our exporter, not by BiggestBook. It reports whether the row was retrieved. Both runs behind this page carry http 404 here, because the URL submitted was a placeholder that does not exist.

Seventeen columns per row · CSV, JSON or Excel

Two runs sit behind this page, from 14 and 15 July 2026, and their payloads are byte-identical. Both submitted https://www.example.com/product/123 - a placeholder, not a BiggestBook address - and both returned a single row reading http 404 with all fourteen data columns empty. So we can tell you the schema with confidence and we can tell you nothing about BiggestBook's values, and this page does not pretend otherwise. The seventeen names appear in the same order in our CDW, AutoZone, Brady and Decathlon exports, and the Decathlon run is populated across 66 rows, which is how we know the schema is live rather than a stub.

Common workflows

What a distributor catalogue is good for.

Price monitoring

Watch a line rather than a product

Submit the URLs for the items you care about on a schedule and keep parsed_price, currency and the run date. The value is not any single figure but the series: when a manufacturer moves, it usually moves a whole line at once, and a table shows that where a browser tab does not.

Purchasing · Price monitoring
Assortment analysis

See which brands a distributor actually carries

Group the export by brand and count. Depth per maker tells you where a distributor has committed and where it is only sampling - the same question a buyer asks before adding a supplier, answered from the catalogue itself.

Category buying · Assortment
Catalogue enrichment

Fill in the fields your own records are missing

Reseller product databases tend to be strong on identifiers and thin on copy and imagery. description, image and images fill that gap against a sku you already hold, without re-photographing anything.

Ecommerce ops · Catalogue
Availability checks

Know before you quote

Read availability across the items on a quote before it goes out. It is the catalogue's published state rather than a live feed, so treat it as a warning system - enough to catch the line that has been out for a month.

Sales · Quoting
Pricing

Pay only for what you actually use.

Free tier

The first 500 rows are free

One-time, on signup. No card, and nothing to cancel afterwards.

One-time, on signup
Rate

$0.002 per row after that

Billed on rows actually returned. A row that comes back with a status other than a successful one is not a row of product data, and you are not charged as though it were.

Billed on rows returned
No subscription

Nothing recurring

Credits do not expire on a monthly cycle. Run a catalogue sweep in March and nothing again until September if that is the shape of the work.

No monthly expiry
10% off your first paid run.Use code LIVESCRAPER10 at checkout.
Sign up
Pairs well with

Other catalogues, the same seventeen columns.

The legal bit

Is it legal to scrape BiggestBook?

Product facts on a publicly reachable page are ordinary competitive information. The caveats worth stating are about access and reuse, not about the data itself.

A price, a product name, a brand and a stock state are facts about goods offered for sale. Reading them from a page that is served to any visitor is the same activity a buyer performs by hand, done at a useful speed. Nothing in the seventeen columns describes a person: there is no name, no email, no phone number and no account, so the data-protection questions that shape our people-facing services do not arise here.

Two caveats are worth stating plainly. First, access: BiggestBook is built for Essendant's reseller customers, and parts of a distributor catalogue - account-specific pricing above all - sit behind a sign-in. We do not log in, we do not use anyone's credentials, and we do not defeat a paywall, so what this service can reach is what an anonymous visitor can reach. If the figure you need only appears once you are signed in as a particular reseller, this will not produce it. Second, reuse: descriptions and product photography are someone's copyrighted material. Using them internally for price monitoring, assortment analysis or reconciliation against your own records is ordinary practice; republishing them as your own catalogue is a separate question with a different answer.

Our own terms are the same as on every other service here. Publicly available pages only, nothing behind a login, no third-party trackers on the data layer, and exports auto-delete after 30 days. Your first 500 rows are free and need no credit card.

livescraper.app · what shapes a run
One product URL per row
The page is rendered, not just fetched
Anonymous access only
Account pricing stays behind the sign-in!
Exports auto-delete after 30 days
A distributor catalogue shows a signed-in reseller different figures from an anonymous visitor. This service is the anonymous visitor.
Common questions

Things people ask before signing up.

What columns will the export contain?+
Seventeen, in this order: query, sku_code, product_url, name, description, parsed_price, price, currency, availability, rating, reviews, images, brand, sku, url, image and status. One row per product URL you submit.
Do you have example BiggestBook data on this page?+
No, and we will not invent any. The two runs behind this page both submitted a placeholder URL that returned http 404, so every data column came back empty. That is enough to establish the seventeen column names and nothing more, which is why this page describes what each column is for and never what its values look like.
Why does BiggestBook need more than a simple HTTP request?+
Because the catalogue is a JavaScript application. Requesting https://www.biggestbook.com with an ordinary client returns HTTP 200 and roughly 6.9 KB - an application shell titled "Biggestbook Web" with <base href="/ui"> and no price, SKU or cart markup anywhere in it. The products are fetched and rendered afterwards, so a scraper built on an HTML parser alone sees an empty page.
Can you get the account-specific pricing my reseller login shows?+
No. We do not sign in, we do not use anyone's credentials and we do not defeat a paywall, so this service sees what an anonymous visitor sees. If a figure only appears once you are signed in as a particular reseller, it is out of scope.
Why are there two price columns and two identifier columns?+
One of each pair is for reading and one is for computing. price is the price as displayed and parsed_price is the same figure as a bare number; sku and sku_code are populated independently in this schema family, so check both before you pick a join key. The same doubling applies to image and images, and to url and product_url.
What does the status column mean?+
It is written by our exporter rather than by BiggestBook, and it reports whether that row was retrieved. A row that failed still arrives, carrying the reason, so you can reconcile the export against your input list instead of discovering a silent gap later. Both runs behind this page read http 404 there.
What does it cost?+
Your first 500 rows are free, one-time, with no card. After that it is $0.002 per row, billed on rows actually returned, with no subscription and no monthly expiry on credits.
What formats can I export?+
CSV, JSON or Excel. The seventeen columns and their order are the same in all three.

Read the catalogue as a table.

Seventeen columns per product, from a page that does not give them up to an ordinary HTTP request. Your first 500 rows are free, then $0.002 each.

Activates instantly · no card required

Scrape BiggestBook product data

BiggestBook is the online catalogue Essendant operates for its reseller customers, covering office supplies, office furniture, computer and technology supplies, break room and janitorial goods. It is a distributor catalogue rather than a consumer storefront, which is why its useful fields skew towards the ones a purchasing system needs - identifier, brand, currency, availability - rather than the ones a marketing page leans on.

The practical obstacle is how the site is built. A request to https://www.biggestbook.com from an ordinary HTTP client returns a successful response of roughly 6.9 KB containing an Angular application shell - <base href="/ui">, the title "Biggestbook Web", a stylesheet - and no product markup at all: no price, no SKU, no add-to-cart control. The catalogue is fetched and rendered by JavaScript after that shell loads. Anything built on an HTTP library and an HTML parser will therefore read a valid page and find nothing in it, which is the single most common reason a homegrown BiggestBook scraper appears to work and returns empty rows. This service loads the page the way a browser does, so the products are present by the time anything is read.

The export is seventeen columns per product URL: query, sku_code, product_url, name, description, parsed_price, price, currency, availability, rating, reviews, images, brand, sku, url, image and status. Four of those are pairs - price as displayed against price as a number, two identifier fields, primary image against all images, requested URL against canonical URL - and knowing which half to use before you write the importer is the difference between a clean load and a rewrite. The same seventeen names in the same order are what our CDW, AutoZone, Brady and Decathlon exports carry, so one importer serves the whole B2B and supply-store family.

We are being deliberately plain about the limits of what we can show. The two runs held behind this page, from 14 and 15 July 2026, both submitted a placeholder address rather than a BiggestBook one, and both came back with a 404 and every data column empty. That establishes the schema - a header row is a real header row even with no data beneath it - and it establishes nothing about BiggestBook's values, so you will find no sample prices, product counts or ratings anywhere on this page. Access has a real boundary too: parts of a distributor catalogue, account-specific pricing in particular, sit behind a reseller sign-in, and this service does not log in, so what it reaches is what an anonymous visitor reaches. Publicly available pages only, no third-party trackers on the data layer, and exports auto-delete after 30 days. Your first 500 rows are free and need no credit card.