Export BBB customer reviews as rows
The BBB Business Reviews Scraper turns a Better Business Bureau profile into a spreadsheet. You submit the bbb.org/…/customer-reviews URL for each business - one per line, or uploaded as a CSV, XLSX, TXT or Parquet file - choose a sort and optionally a limit, and each review comes back as a row: the business, who wrote it, the star rating, the date it was filed, the review text and a stable id. Eight columns, one row per review, downloadable as CSV, Excel or JSON. The service's own description puts it plainly: it returns reviews from a list of businesses.
Two characteristics of the text are BBB's own and shape what the export is good for. Reviewer names are published shortened - a given name and a last initial, such as Matthew W - so you never receive a full name. And the review body arrives with BBB's redaction already applied, runs of asterisks standing in for names and profanity on a large share of rows. Neither is something this service does or can undo; both are already visible to anyone reading the page. The practical consequence is that this data is strong for themes, sentiment and recurrence, and weak for anything that depends on exact wording.
The rest of the schema is unusually consistent, and because our exports are populated we can say so from measurement rather than assumption. rating arrives as a number rather than a string, and every value read was a whole number from 1 to 5, so it can be averaged and charted without cleaning. date matched MM/DD/YYYY on every row without exception - month first, which is worth setting explicitly on import. review_id is a stable composite that begins, on every row we have read, with the same identifiers found in the profile URL, so it doubles as a business key and makes a re-run exactly comparable to the last one: new ids are new reviews.
The controls are worth a moment before a first run. Three sorts are offered - Most recent, Highest rating and Lowest rating - alongside a From (oldest) switch that most review sources do not give you, and which is how you read a business's earliest filings and check whether the same complaint is still arriving years later. The limit field has no default: leave it empty and it fetches everything, and since it applies per query a list of businesses multiplies it. On the legal side, everything collected is public and BBB has already shortened the names, but reviewer remains personal data - reading complaints to assess a company is straightforward, building a file on the people who filed them is not. BBB's terms govern automated access; read them before you scale. Start free: your first 500 rows cost nothing and need no credit card, and after that it is $0.002 per row, flat. See pricing for current rates.