Guide series · 23 guides

What Is Web Scraping? How It Works, Uses and Tools

Web scraping is the automated collection of data from web pages: a program requests a page, reads its HTML, picks out the fields you need, such as prices or product names, and saves them as a table or JSON. It runs in five steps (request, render, parse, clean, store) and comes in eight common forms, from copying by hand to headless browsers and scraping APIs. ProxyField sells the rotating IPs a scraper sends its requests through: 412M+ residential IPs in 195+ countries from $1.95/GB, and you can start with the Easy Trial, 1 GB for $2.95.

residential IPs
412M+
from, traffic never expires
$1.95/GB
Easy Trial
1 GB for $2.95
On this page 15 sections
  1. What is web scraping?
  2. How does web scraping work?
  3. Is web scraping still worth learning?
  4. Website scraping: one web page or a whole site
  5. Types of web scraping
  6. Web scraping vs data scraping vs screen scraping
  7. Web scraping vs crawling, APIs, parsing and data mining
  8. Where web scraping is used
  9. Web scraping tools
  10. Can you scrape without coding?
  11. Scraper API vs your own scraper with proxies vs datasets
  12. Why scrapers get blocked, and what proxies do
  13. The legal side
  14. All web scraping guides
  15. Web scraping FAQ

Quick answers

  • What it is: software that collects data from web pages and saves it in a structured form.
  • How it works: request → render (only if the page needs JavaScript) → parse → clean → store.
  • Is it still worth learning? Yes. The demand for public web data has not gone away, but sites defend harder: automated traffic was 51% of all web traffic in Imperva's 2025 Bad Bot Report, and since July 1, 2025 Cloudflare, which manages traffic for about 20% of the web, blocks AI crawlers that have no permission by default. The valuable skill is now running browsers, IPs and request rates responsibly, not writing selectors. Details below.
  • The rules: respect robots.txt and each site's request limits, check the site's terms, and use the official API when it has the fields you need.

What is web scraping?

Web scraping is software that collects data from web pages automatically and saves it in a structured form you can sort, filter and analyze. The US Network of the National Library of Medicine defines it as "the process of programmatically and systematically collecting information on the web" (NNLM data glossary). Website scraping, internet scraping and web data extraction mean the same thing.

What counts as web scraping is the automation: a program fetches the pages and picks out the data without a person copying it. Copying a table into a spreadsheet by hand is manual data collection, even though the result looks the same. A script that does the same thing every morning across every product page in a category is scraping.

An example. An online store lists laptops on a category page, each with a name, a price and a stock status. A scraper opens every page of the category, finds those three fields in the HTML and writes one row per laptop to a CSV file. Run it daily and you have a price history the store never published as a file.

The data is usually public: product listings, prices, search results, reviews, job ads, news articles and business directories. A scraper that behaves well reads robots.txt (the Robots Exclusion Protocol, RFC 9309, September 2022), keeps to a request rate the site can handle and checks the site's terms. What you may collect, and how, is covered in is web scraping legal and how to check if scraping is allowed. The program itself is explained in what is a web scraper.

How does web scraping work?

A scraper works in five steps: it requests the page, renders it if the content needs JavaScript, parses out the fields, cleans them and stores them.

  1. Request

    The scraper sends an HTTP request for the page's URL, as a browser does, and gets back the HTML with a status code: 200 means the page came back, 403 Forbidden and 429 Too Many Requests mean the site refused or rate-limited the request.

  2. Render, if needed

    When a page builds its content with JavaScript, the raw HTML holds only empty placeholders, so the scraper loads the page in a headless browser, driven by Playwright, Puppeteer or Selenium, and waits for the content to appear.

  3. Parse

    The scraper finds each field with a CSS selector or an XPath expression, for example "the text of every element with the class price".

  4. Clean

    It strips currency signs and extra whitespace, converts dates and numbers to one format and drops duplicates.

  5. Store

    It writes the rows to a CSV file, JSON, a spreadsheet or a database, and moves on to the next URL.

A web crawler often feeds step 1: it follows links or reads a sitemap to build the list of URLs the scraper visits.

Here is a short example in Python with Requests and Beautiful Soup that sends the request through the ProxyField gateway. Replace <login> and <password> with your credentials; <login>-country-us-city-new_york asks for an exit IP in New York, United States.

Python
# Example: fetch one page through a proxy and parse two fields
import requests
from bs4 import BeautifulSoup

proxy = "http://<login>-country-us-city-new_york:<password>@gate.proxyfield.io:7000"
proxies = {"http": proxy, "https": proxy}

resp = requests.get("https://example.com", proxies=proxies, timeout=30)
resp.raise_for_status()  # raises on 403, 429 and other error codes
soup = BeautifulSoup(resp.text, "html.parser")

title = soup.select_one("h1").get_text(strip=True)
links = [a["href"] for a in soup.select("a[href]")]
print({"title": title, "links": links})

Install the two libraries with pip install requests beautifulsoup4. The gateway works over HTTP, HTTPS and SOCKS5, and you can authenticate with an IP allowlist instead of a username and password. Region-level targeting and sticky sessions take further username settings: -region-<region>, -session-<id> and -ttl-<seconds> (30 to 129,600 seconds, 20 minutes by default) after the location, as in <login>-country-us-region-new_york-city-new_york-session-he9f2qga-ttl-600. The full tutorial, with pagination, errors and storage, is in how to scrape a website; the same job in Python step by step is in Python web scraping.

Is web scraping still worth learning?

Yes, but the skill changed: from writing selectors to running browsers, IPs and request rates. Businesses still need public data from sites that have no API, for price monitoring, search monitoring, market research and AI training data. What changed is the environment around the scraper:

ChangeDate and sourceWhat it means for a scraper
Automated traffic passed human traffic: 51% of all web traffic, with bad bots at about 37%Imperva, 2025 Bad Bot ReportSites score every visitor; headers, fingerprints and request rates decide whether a scraper gets through
Cloudflare blocks AI crawlers that have no permission by default and asks new domains whether to allow them; it manages traffic for about 20% of the webCloudflare, press release of July 1, 2025Declared AI crawlers meet a block by default; permission matters more than before
robots.txt became an internet standardRFC 9309, September 2022One documented format for a site's crawl rules
A site can reserve its content from text and data mining in machine-readable formEU Directive 2019/790, Article 4In the EU, check for an opt-out before collecting for AI training
AI assistants write a basic scraper or a selector from a promptlogic: anyone can try itSimple, one-page scrapers are no longer a skill on their own

What to learn now, in this order:

  1. HTTP

    Requests, headers, cookies and status codes (403, 429, 503); errors and fixes.

  2. HTML, CSS selectors and XPath

    HTML scraping.

  3. JavaScript rendering

    A headless browser with Playwright or Puppeteer; headless browser scraping.

  4. Request pacing and proxies

    Rate limits, rotation and sticky sessions; web scraping best practices.

  5. Data cleaning and storage

    CSV, JSON and SQL.

  6. The legal basics

    Personal data, copyright, logins and terms; is web scraping legal.

Use AI as a coding assistant on top of these skills, not instead of them: AI web scraping covers the new tools. Avoid building a skill set around defeating a site's defenses; it is fragile and often breaks the site's terms. How long it takes, and where beginners get stuck, is in how to build a web scraper; the language choice is in best language for web scraping.

Website scraping: one web page or a whole site

Scraping one web page takes one request and one parse; scraping a whole site adds a crawl that finds the pages first. For a single page, the scraper fetches the URL, extracts the fields and stops, as the Python example above does. For a site, it builds the URL list from the sitemap or by following links, then runs the same extraction on every page, at a pace the site can handle; how to crawl a website shows how. Online web scrapers and no-code apps run the same steps behind a form.

Types of web scraping

Web scraping comes in eight common forms, set apart by where the data sits and how the scraper reaches it. Start with the lightest method that works: official API, then the site's internal JSON, then plain HTML, then a headless browser.

TypeHow it reaches the dataSpeed and costUse it when
Manual copyingA person copies from the pageSlowest; hours of work per thousand rowsA one-off list of a few dozen rows
No-code app or extensionYou click the fields; the tool repeats the selectionFast to set up; limited on large or JavaScript-heavy sitesSmall recurring jobs without code; see no-code web scrapers
HTML and DOM scrapingHTTP request, then CSS selectors or XPathThe lightest and fastest code methodThe data is in the HTML the server returns; see HTML scraping
Crawling plus scrapingFollows links or a sitemap, then extracts each pageScales with the number of pagesYou need every page of a site or section; see web crawling vs web scraping
Official APICalls a documented API with a keyStable format, rate-limited, sometimes paidThe API has the fields you need; see web scraping vs API
Internal JSON endpointsCalls the JSON requests the site's own pages makeLittle parsing; can change without noticeThe page loads its data from JSON; see scrape hidden APIs
Headless browser (client-side)Runs the page's JavaScript in a real browser engineMore CPU, memory and traffic per pageThe content appears only after scripts run; see scrape dynamic web pages
Managed scraping APIYou send a URL; the provider fetches, renders and retriesPriced per request or per successful resultYou want data without running browsers and IPs; see what is a web scraping API

Manual vs automated scraping

Manual scraping is a person copying data from pages by hand; automated scraping is a program doing it. Manual work suits a one-off list of a few dozen rows. Anything that repeats, or runs to thousands of pages, is a job for a script, and that is what "web scraping" normally means; automated web scraping covers scheduling.

HTML and DOM scraping

HTML scraping reads the page's source code as the server sends it and extracts fields with CSS selectors or XPath. DOM scraping does the same on the DOM, the tree of elements the browser builds from that HTML and that JavaScript can change. It works whenever the data is in the HTML the server returns.

Client-side (JavaScript-rendered) scraping

Client-side scraping handles pages that build their content in the browser with JavaScript. The scraper drives a headless browser, a real browser engine without a window, lets the page's scripts run and then reads the finished page. Use it only for the pages that need it.

Official APIs and internal JSON endpoints

An official API is published by the site, with documentation, a key and a rate limit, and its format stays stable. Internal JSON endpoints are the requests a site's own pages make to load their data; you see them in the browser's developer tools, on the Network tab. They arrive already structured, but they are not a published API and can change without notice. Calling them is often called API scraping.

Deep scraping

Deep scraping reaches data that sits several levels down: behind search forms and filters, or across many levels of pagination. The scraper fills in the form or walks every page of results to collect the full set; web scraping pagination shows the patterns. It sends more requests per record, so it needs more care with request rates.

Web scraping vs data scraping vs screen scraping

Data scraping is the broad term for any automated extraction; web scraping is data scraping from web pages; screen scraping reads what an application shows on screen.

TermWhat it readsExample
Data scrapingAny source a program can read: web pages, files, PDFs, apps, databasesPulling invoice totals from a folder of PDFs into a spreadsheet
Web scrapingWeb pages, through their HTML, the DOM or the JSON the page loadsCollecting product names and prices from an online store into a CSV file
Screen scrapingThe rendered output of an application: the text and pixels on screenReading account balances from an old desktop app that has no export or API

Web scraping vs crawling, APIs, parsing and data mining

Web scraping extracts data from pages; the neighboring terms name the step before it, an alternative to it, a part of it, or what comes after it.

  • Web crawling discovers pages: a crawler follows links to find and list URLs, as search engines do. Scraping extracts data from the pages. See web crawling vs web scraping.
  • An official API gives you the data a site chooses to share, in a stable format. Scraping takes what the page shows. Use the API when it has the fields you need. See web scraping vs API.
  • Parsing is one step inside scraping: turning raw HTML or JSON into fields. See data parsing vs web scraping.
  • Data mining analyzes data you already have to find patterns; scraping collects it first. See web scraping vs data mining.

Where web scraping is used

Web scraping is used to collect public data that would take too long to copy by hand: prices, search results, product catalogs, market signals, business listings and training data for AI.

  • Price monitoring. Track competitors' prices and stock across stores and regions; our price scraper page covers the setup.
  • SEO and SERP tracking. Check rankings, ads and search features by country, region and city with proxies for SEO, or get the Google results page as JSON, with the AI Overview, the People Also Ask block and the local pack parsed, from the Google SERP API.
  • E-commerce data. Product details, reviews and seller information across marketplaces: e-commerce scraper and the Amazon scraper API.
  • Market and alternative data. Job ads, listings, news and company pages as signals for research and investment.
  • Lead generation. Lists of businesses from public directories; see lead scraper. Business contact details are often personal data under privacy law, so check the rules first.
  • AI training data. Public text and documents to train or ground AI models; see web scraping for AI training. In the EU, respect a site's machine-readable opt-out from text and data mining.

The advantages over manual collection: speed (minutes instead of days), scale (the same code handles ten pages or a million), freshness (scheduled runs) and cost (each extra page costs compute and traffic, not hours of work). More examples by industry are in web scraping use cases; turning scraping into a business is in web scraping business ideas.

Web scraping tools

Web scraping tools come in four kinds: no-code apps and extensions, scraping APIs, code libraries and frameworks, and ready-made datasets. They differ in the skill they need and in who keeps the scraper working when the site changes.

KindSkill levelYou maintainThe provider maintainsBest for
No-code apps and browser extensionsNone: point and clickThe field selection, and re-selecting fields when the page changesThe app and, in cloud apps, the runsOne-off lists, small recurring jobs
Scraping APIsBasic: send a URL, get HTML or JSON backParsing (unless the API returns fields), scheduling, storageFetching, rendering, IPs and retriesTeams that want data without running browsers and IP pools
Libraries and frameworks (Requests, Beautiful Soup, Scrapy, Playwright, Puppeteer, Selenium, Crawlee)ProgrammingEverything: the code, servers, proxies and fixesOnly the open-source library itselfCustom jobs, large volumes, full control
DatasetsNoneChecking that the data fits your questionCollection, cleaning, refresh scheduleStandard data you need once, such as a market snapshot

For a ranked list by skill and scale, see the best web scraping tools; open-source options are in free web scraping tools, and crawlers in best web crawlers. Proxy setup for the browser tools is in our guides for Playwright, Puppeteer and Selenium.

Can you scrape without coding?

Yes: browser extensions, point-and-click apps and spreadsheet functions all collect web data without code. An extension or app lets you click the fields, repeats the selection across similar pages and exports a CSV file; see web scraper Chrome extensions. In Google Sheets, =IMPORTXML(url, xpath) pulls an element from a page into a cell; see web scraping in Google Sheets and scraping into Excel. These tools suit small, regular jobs; large or JavaScript-heavy sites soon reach their limits.

Scraper API vs your own scraper with proxies vs datasets

Each option is priced on a different unit: a scraper API per request or per successful result, your own scraper per GB of proxy traffic plus your servers, and a dataset per dataset or per record.

  • Scraper API. You send a URL and get back the page or structured data; the provider runs the browsers, the IPs and the retries. The cost follows the number of pages, not their size. It wins when you have little engineering time or the targets are hard to fetch.
  • Your own scraper with proxies. You write and run the code and route it through a proxy pool. A scraper that downloads N pages of X MB each uses about N × X MB of proxy traffic: 10,000 pages of 200 KB are about 2 GB, or $5.90 at $2.95/GB. Browser rendering pushes the size up, because the browser also loads scripts, images and fonts unless you block them. It wins on high volumes and custom logic.
  • Datasets. You buy data someone else collected, priced per dataset or per record. It wins when the data is standard and you do not need it fresher than the seller's refresh schedule.

The trade-offs are worked through in scraper API vs proxies; the cost of a scraping job with proxies, page by page, in proxies for web scraping.

ProxyField sells both sides:

ProductPriceWhat you get
Residential proxies$2.95/GB for 1 GB down to $1.95/GB from 1,000 GB412M+ IPs in 195+ countries; HTTP, HTTPS and SOCKS5; new IP per request or sticky 30 s to 36 h; country, region and city targeting; unlimited concurrent threads
Mobile proxies$3.45/GB for 1 GB down to $2.45/GB from 1,000 GB10.2M+ IPs on 5G, 4G and LTE carrier networks, same protocols and sessions
Datacenter proxies$0.29/GB down to $0.22/GBRotating datacenter IPs, for sites that do not block datacenter ranges
Web scraping APIPer 1,000 successful results: HTTP $0.50 → $0.20; JavaScript rendering $2.00 → $1.00Any URL, plain HTTP or with JS rendering; billed on successful results only; Contact sales

Traffic never expires, and all purchases are final. To test on your own targets first, start with the Easy Trial: 1 GB for $2.95.

Why scrapers get blocked, and what proxies do

Sites block scrapers that send too many requests from one IP, come from IP ranges with a poor reputation, or do not look like a real browser. The usual signals are rate limits per IP (answered with 429 Too Many Requests), IP reputation (datacenter ranges are often scored as automated traffic), browser and TLS fingerprints, headers that do not match a real browser, and CAPTCHAs shown when traffic looks suspicious.

Rotating residential IPs spread normal load across many home connections, and each request comes from the kind of address real visitors use. Keep within each site's request limits; rotation is not a way around them. Rotating proxies give you a new IP on every request, or keep one IP for a sticky session when a task needs the same IP across several pages. Proxies change only the IP: headers, fingerprints, cookies and request pacing still matter; see what proxies can and cannot fix. Scraping Google? The pool is clean for Google, checked and segmented, and the Google SERP API returns the results page as JSON if you want data instead.

ProxyField's own rule for scraping: "Configure location targeting and connection rotation in your scraper, respecting website rules and request limits." Headers, fingerprints and CAPTCHAs are covered in our anti-bot guides. New to proxies? Start with what a proxy server is.

All web scraping guides

Web scraping FAQ

What is web scraping, and how does it work in plain terms?

ProxyField's plain version: web scraping is software that reads web pages and saves the data you need, such as prices or product names, as a table or JSON, in 5 steps: request, render if needed, parse, clean and store. At scale it runs through rotating IPs, such as our 412M+ residential IPs, and it should respect robots.txt, the site's request limits and its terms.

Is web scraping still worth learning, or is it becoming outdated with AI tools and tougher anti-bot systems?

Yes, it is worth learning, but the skill changed: AI assistants now write simple scrapers, and sites defend harder (automated traffic was 51% of all web traffic in Imperva's 2025 Bad Bot Report). The demand for public web data remains, so learn HTTP, selectors, headless browsers, request pacing and proxies, data storage and the legal basics, in that order.

What are the main types of web scraping, from copying data by hand to API scraping and headless browsers?

There are 8 common types: manual copying, no-code apps and extensions, HTML and DOM scraping, crawling plus scraping, official APIs, the site's internal JSON endpoints (API scraping), headless browsers for JavaScript pages, and managed scraping APIs. Start with the lightest one that works: official API, then internal JSON, then plain HTML, then a headless browser.

What counts as web scraping?

Any automated extraction of data from web pages counts as web scraping: a program fetches the pages and picks out the fields without a person copying them. Copying a table by hand is manual collection. Calling the JSON endpoints a page loads its data from is scraping too, usually called API scraping.

What is manual scraping?

A person copying data from web pages by hand, for example pasting a table into a spreadsheet. It suits a one-off list of a few dozen rows; anything that repeats or runs to thousands of pages is a job for a script.

What is the difference between web scraping and data scraping?

Data scraping is the broader term: automated extraction from any source a program can read, including files, PDFs, apps and databases. Web scraping is data scraping from web pages, through their HTML, the browser's DOM or the JSON the page loads. Every web scraper is a data scraper, but not every data scraper reads the web.

What is the difference between screen scraping and web scraping?

Screen scraping reads what an application displays on screen, such as the text of an old desktop program that has no export or API. Web scraping reads a web page's code: its HTML, its DOM or the data it loads. Web scraping is usually more reliable, because page code is more structured than screen output.

What is data extraction?

Pulling specific fields out of a source, such as names and prices out of a web page or totals out of a PDF, into a structured format. In web scraping it is the parse step, after the page is fetched and before the data is cleaned and stored.

What is API scraping?

API scraping means calling the JSON endpoints that a website's own pages use to load their data, instead of parsing the HTML. You can see these requests in the browser's developer tools, on the Network tab. The data arrives already structured, but the endpoints are not a published API, so they can change without notice.

What is client-side scraping?

Scraping pages that build their content in the browser with JavaScript. The scraper drives a headless browser, lets the page's scripts run and then reads the finished page, which costs more CPU, memory and traffic per page than reading the HTML.

Show 4 more questionsShow fewer questions

What is deep scraping?

Collecting data that sits several levels down: behind search forms and filters, or across many levels of pagination. The scraper fills in the form or walks every page of results, so it sends more requests per record and needs more care with request rates.

Where do proxies fit in a data collection workflow?

At the request step: the scraper sends each request through a proxy, so the site sees many visitors in the locations you choose instead of one server. Proxies change only the IP; headers, fingerprints, cookies and pacing are still the scraper's job.

How do you web scrape without coding?

Use a browser extension, a point-and-click scraping app or a spreadsheet function. Extensions and apps let you click the fields you want, repeat the selection across similar pages and export a CSV file; in Google Sheets, IMPORTXML pulls an element from a page into a cell by its XPath. These suit small, regular jobs rather than large crawls.

What are the advantages of web scraping?

Web scraping is faster, larger in scale, fresher and cheaper than collecting data by hand. A script collects in minutes what takes a person days, the same code handles ten pages or a million, scheduled runs keep the data current, and each extra page costs compute and traffic, not hours of work.

Easy Trial: 1 GB for $2.95.

Try for the price of 1 GB, no subscription, traffic never expires.