HomeBlogReference
Reference

What Is a Data Scraper? How It Works and How to Choose One

A data scraper turns web pages into structured rows. How scrapers fetch, parse and paginate, the four tool types, what you should not collect, and how to choose.

Livescraper TeamOct 25, 202614 min read
data scraper turning web pages into rows

A data scraper is software that visits web pages automatically, pulls out specific pieces of information (names, prices, phone numbers, ratings, review text) and saves them as structured rows you can sort, filter and analyse. Where a person would copy a business listing into a spreadsheet one field at a time, a data scraper does the same thing across thousands of pages and returns a CSV, JSON or Excel file.

Every data scraper does the same three jobs. It fetches a page, parses the parts you care about, and outputs them in a consistent shape. Tools differ in how they handle what makes those jobs hard at scale: pages built by JavaScript, results spread over many pages, rate limits, anti-bot systems and messy data. This guide explains how each part works, the four main kinds of data scraping tool, what you can and should not collect, and how to choose one. It ends with where cloud scrapers like the Google Maps Data Scraper fit.

What is a data scraper, exactly?

The term covers several related things, and the differences matter when you pick one.

  • A scraper versus a crawler. A crawler discovers pages by following links, which is what search engines do. A scraper extracts data from pages. Many tools do both, crawling a site to find product pages and then scraping each one, but the extraction is the scraping.
  • A scraper versus an official API. An API is a door a site opens on purpose: structured data, documented fields, published limits and a price. A scraper reads what the site shows to visitors. When an API offers the data you need, at the volume you need, under terms that fit your use, use it. Scrapers exist because that is often not the case. Google's own Places API shows a typical gap: it documents a ceiling of 60 results per text search and 5 reviews per place. Our comparison of Google Maps scrapers and the official API covers the trade-off.
  • A scraper versus a bought list. A data vendor sells you a snapshot someone else collected at some point. A web data scraper collects it now, from the source, with the filters you choose.

In practice "data scraper" usually means a tool aimed at one kind of source, such as product listings, job ads, business directories or reviews. It turns that source's pages into the same columns every time.

How a data scraper works under the hood

Here is the full pipeline, from a URL to a clean row, with the design decisions at each stage.

1. Fetching: plain HTTP requests or a headless browser

The simplest scraper sends an HTTP request, the same GET your browser sends, and receives the page's HTML. This is fast and cheap: one machine can make many requests a second, and the response is a few kilobytes of text.

The catch is that many modern sites send almost no content in that first response. The page is assembled in the browser by JavaScript, which calls the site's own background endpoints and fills in the content. A plain request gets an empty shell. There are two ways to deal with that:

  • Run a headless browser. Tools such as Playwright or Puppeteer drive a real browser engine without a window. It runs the JavaScript, waits for the content and hands you the finished page. This is reliable for what you see, but it is slow and memory-hungry: each page costs a full browser render.
  • Call the background endpoints directly. Watch the network tab, find the request that returns the data (often JSON), and replicate it. This is much faster than a browser, but the endpoints are undocumented and can change without notice.

Production scrapers often mix the two. They use a browser where they must and direct requests where they can.

2. Parsing: turning a page into fields

Once you have the content, you pick out the parts you want. For HTML that means CSS selectors or XPath, for example "the text inside the element with class price". For JSON it means walking the object to the right keys. Parsing is the fragile part of scraping. A redesign that renames one class can break a parser without causing any error. The scraper keeps running and returns empty or wrong columns. Good scrapers check their output, for example by alerting when a column that is normally 95% filled suddenly drops to 10%.

3. Pagination, scrolling and discovery

Results rarely fit on one page. A scraper has to follow "next" links, increment page parameters, or, on infinite-scroll pages, keep scrolling or requesting the next batch until the results stop. Then it has to know when it is done. Many sites cap how deep you can page, so complete coverage means splitting the request into smaller ones (by area, category or date) and merging the results. Splitting creates overlap, which is why deduplication on a stable ID is a core feature rather than an extra.

4. Rate limits, proxies and politeness

Sites limit how fast any one visitor can make requests. A scraper that ignores this gets throttled or blocked, and it puts load on someone else's servers. Responsible scrapers pace their requests, back off when they get errors such as HTTP 429 ("too many requests"), and retry later. At volume they spread traffic across many IP addresses through proxy pools, so no single address exceeds what a normal visitor would do. Managing proxies (sourcing, rotating, retiring burned IPs) is one of the larger hidden costs of running your own scraper.

5. Anti-bot systems

Large sites run bot detection that looks at far more than request rate: browser fingerprints, TLS handshakes, mouse movement, cookie behaviour and signed tokens that only a real browser session produces. This is an arms race, and it is the main reason home-built scrapers break. A request pattern that worked for months can stop working in a day. A reputable tool stays on public, logged-out pages. It does not try to log in as someone else or get past a paywall, and it does not solve CAPTCHAs meant to keep it out.

6. Cleaning and output

Raw extracted text is messy. Phone numbers come in local formats, addresses run together, ratings arrive as "4,7" in some locales, and the same business shows up three times. A good data scraper normalises formats, deduplicates and delivers a stable schema. It returns the same columns in the same order each run, so your spreadsheet formulas, CRM import or database load keep working.

The four types of data scraping tool

TypeHow it worksGood forWatch out for
Browser extensionsRuns inside your own browser and extracts from the page you are viewingOne-off grabs of a few hundred rows; no setupUses your IP and session; slow; stops when you close the tab
Code librariesYou write the scraper (for example Python with an HTTP client, a parser, or Playwright)Full control; unusual sources; engineering teamsYou own proxies, anti-bot breakage, parsing fixes and monitoring
No-code cloud scrapersA hosted service runs ready-made scrapers for specific sources; you pick inputs and download resultsBusiness users; recurring pulls; large volumes without infrastructureLimited to the sources and fields the service supports
Scraping APIsYour code calls a hosted endpoint and gets structured data backDevelopers who want scraped data inside their own systemsPer-request or per-row pricing; you still write the integration

The line between the last two is thin. Many cloud scrapers expose the same engine as an API, so a marketer can use the dashboard while an engineer automates the same job. If you are weighing the code-library route, our build vs buy analysis sets out what running your own scraper really costs, and how to scrape Google Maps places in Python shows the hands-on version.

What data you can collect, and what you should not

"It's public" is where the analysis starts, not where it ends. A workable rule of thumb splits data into three groups.

  • Generally fine: public business facts. Business names, addresses, categories, published phone numbers, websites, opening hours, ratings and review counts. Businesses publish these so that people can find and contact them.
  • Collect with care: data that can identify a person. Reviewer names, a sole trader's email, a named contact on a website. It may be public, but it is still personal data under GDPR and similar laws. You need a lawful basis, a clear purpose, minimal collection and a plan to honour objections.
  • Leave alone: anything behind authentication or a paywall, sensitive categories such as health data about individuals, and copyrighted content you plan to republish. Logging in usually means accepting terms that forbid scraping. Republishing someone's photos or articles is a copyright question, not a scraping one.

Two further limits are worth respecting even where the law is unclear. Do not collect at a rate that harms the site you are reading, and do not use contact data for outreach that breaks the marketing rules where the recipient is located.

Is using a data scraper legal? The basics

Scraping publicly available data is a common, widely practised activity, and courts in several jurisdictions have declined to treat reading public pages as unauthorised computer access. But legality is really four separate questions: computer access law, contract (the site's terms), data protection, and intellectual property. The answer to each depends on your jurisdiction, your data and what you do with it. The pattern that gets teams into trouble is rarely the collection itself. It is collecting personal data without a purpose, scraping while logged in, or emailing people in countries that require prior consent.

We walk through all four questions, with the case law and a compliance checklist, in Is Scraping Google Maps Legal? A Practical Compliance Guide. This section is general information, not legal advice.

How to choose a web data scraper

  1. Start from the output, not the tool. Write down the columns you need, the volume and how often. "4,000 dentists in three states with phone, website and email, refreshed quarterly" is a spec. "Some leads" is not.
  2. Check the field list against the spec. A good tool publishes a data dictionary with every column and what it means. If the field you need is not listed, assume you will not get it.
  3. Test on your own market. Run a small sample in the exact category and location you care about, then check twenty rows by hand against the source.
  4. Understand the pricing unit. Per row, per request, per compute minute or per month all behave differently at scale. Make sure you can see the cost before a run, not after.
  5. Ask who handles breakage. Sites change. With a library, you fix it. With a hosted service, they do. Count that time honestly.
  6. Check the data-handling basics. Does the tool stay on public, logged-out pages? How long does it keep your exports? Can it deliver to where you work, whether that is a spreadsheet, a CRM or your own code through an API?

How Livescraper's cloud scrapers fit

Livescraper is a no-code cloud scraper with an API on the same engine, built for one family of sources: public business data from Google Maps and the websites those businesses run. Each scraper is a separate service with its own published columns, and they are designed to chain together.

  • Business listings. The Google Maps Data Scraper takes categories, keywords and locations and returns 51 core columns per place, including business_name, full_address, business_phone, business_domain, category, average_rating, total_reviews, working_hours, latitude, longitude and stable IDs such as place_id and google_id. Every run is live, results are deduplicated, and big jobs split into batches automatically, up to 500,000 rows per task.
  • Reviews. The Google Maps Reviews Scraper returns 27 fields per review (text, rating, dates, owner replies and identifiers), past the 5-review cap of the official API. You can filter by date, rating, language or keyword.
  • Emails and contacts. The Email & Contact Scraper visits each website and returns up to 16 columns, including email_1 to email_3, phone_1 to phone_3, the contact page and social profile links. Emails are validated against MX records. You can also add it as enrichment on a Maps run.
  • Verification. The Email Address Verifier checks up to 1,000 addresses per run at the receiving mail server and returns a status for each one. It is the last step before a campaign goes out.
  • Photos. The Google Maps Photos Scraper returns every photo on a place as its own row, with full-size and thumbnail links, the post date and gallery tags. It returns links, not image files.

The parts of the pipeline described above (fetching, parsing, pagination, proxies, anti-bot handling, cleaning) all happen on Livescraper's side. You choose inputs and fields, see the row count and cost in a pre-flight estimate, and download CSV, JSON or Excel. Pricing is per row: the first 500 rows on a new account are free, one time, with no card required, and after that it costs $0.002 per row, roughly $2 per 1,000. Exports auto-delete after 30 days. Developers can call the same scrapers through the REST API with an X-API-KEY header and up to 15 queries per request.

A worked example: from a category to a verified contact list

Say you sell practice-management software and want to email independent dental clinics in three states. The numbers are illustrative.

  1. Pull the listings. Run "dentist" across the cities in each state in the Maps scraper. Say it returns 4,000 unique practices: 4,000 × $0.002 = $8.
  2. Filter. Drop closed businesses using business_status and keep rows with a website. Say 3,200 have a business_domain.
  3. Find the emails. Run those 3,200 domains through the Email & Contact Scraper: 3,200 × $0.002 = $6.40. Across independent small businesses, about 60–75% of domains return at least one email, so expect roughly 2,000–2,400 practices with an address.
  4. Verify. Check the addresses in the Email Address Verifier, up to 1,000 per run, so three runs. At about 2,200 addresses × $0.002 that comes to $4.40.
  5. Check your basis before you send. Some of those addresses belong to sole practitioners, and the rules differ by country. Our guide to extracting emails from websites covers the practical side.

The total is under $20 for a fresh, verified list built from the source, and you can rebuild it next quarter for the same price. The same pipeline written by hand would need a Maps scraper, a website crawler, an email parser, an SMTP checker and the proxies to run all four.

Conclusion

A data scraper is a straightforward idea: fetch pages, parse fields and output rows. The hard part is everything that happens at scale. That means JavaScript-built pages, pagination caps, rate limits, anti-bot systems, silently broken parsers and messy, duplicated output. Browser extensions suit small one-off jobs, code libraries suit engineering teams that want full control, and no-code cloud scrapers and scraping APIs suit everyone who would rather receive the data than maintain the machinery. Whichever you pick, stay on public pages, collect only what your purpose needs, and treat personal data and outreach rules seriously. If your source is local business data, the Google Maps Data Scraper and the services that chain onto it cover listings, reviews, emails, verification and photos, and your first 500 rows are free on a new account. For the wider research angle, see our guide to web scraping for market research.

Related reading: Google Maps Data Fields Explained: Every Column and Its Quirks, How to Build an AI-Ready Business Database Using Public Business Data, How to Collect Verified Contact Information for Local Businesses.

Frequently asked questions

What is a data scraper?

A data scraper is software that visits web pages automatically, extracts specific fields such as names, prices, phone numbers or ratings, and saves them as structured rows in a file like CSV, JSON or Excel.

How does a data scraper work?

It fetches a page, either with a plain HTTP request or with a headless browser for JavaScript-built pages, then parses the fields it needs, follows pagination, and cleans and deduplicates the output into a consistent set of columns.

What are the main types of data scraping tool?

Browser extensions, code libraries you program yourself, no-code cloud scrapers that run ready-made scrapers for you, and scraping APIs that return structured data to your own code.

Is using a data scraper legal?

Collecting publicly available data is widely practised, but legality depends on access law, the site's terms, data protection and copyright in your jurisdiction. Stay on public, logged-out pages and treat personal data carefully; this is not legal advice.

What data should a scraper not collect?

Anything behind a login or paywall, sensitive personal data, and content you plan to republish without rights. Public personal data such as names or emails can be collected only with a lawful basis under laws like GDPR.

How much does Livescraper's data scraper cost?

The first 500 rows on a new account are free, one time, with no card required. After that it is $0.002 per row, roughly $2 per 1,000, with the cost shown before each run.

Livescraper Team
Practical writing on Google Maps data, scraping techniques and lead generation - from the Livescraper team.