Web scraping that gets the real page

Run your scrapers through residential and mobile IPs in 249 countries and territories. Rotate on every request or hold a session, with no hidden concurrency limits.

A web page turned into structured data

Why scrapers stop at page seven

A site lets the first pages through, then flags the IP range. From a datacenter, the rest of the crawl comes back as an error.

From a datacenter
$ curl -i "https://shop.example/category/shoes?page=7"
HTTP/2 403
content-type: text/html
<title>Request blocked</title>
<p>Automated access is not allowed</p>
Fails: Every page after this one fails, and the dataset has a hole in the middle.
Through 2extract
$ curl -i -x http://2xt-customer-…@proxy.2extract.net:5555 \
"https://shop.example/category/shoes?page=7"
HTTP/2 200
content-type: text/html
<title>Running shoes - page 7</title>
<li class="product">Trail runner</li>
Works: Each request leaves from a fresh residential IP, so page seven looks like any other visitor.

From sign-up to the first scraped page

One endpoint for every scraper: the settings travel in the username.

  1. Create an account and add funds

    Sign up with Google, GitHub or email and top up from $10.

  2. Choose rotation or a session

    Leave the username as it is to rotate on every request, or add -session-<id> to keep one IP across a flow.

  3. Point your scraper at the gateway

    Paste the proxy URL from the dashboard into Scrapy, Playwright, Puppeteer or any HTTP client.

# Replace with your credentials from the 2extract dashboard
curl --proxy "http://2xt-customer-[accountID]-proxy-[name]-[params]:proxy_password@proxy.2extract.net:5555" \
  "https://api.ipify.org?format=json"
View full documentation

What a production scraper needs

Every setting is a username parameter or an API call, so the scraper decides per request.

Read the session docs
  1. IPs that sites serve the full page to

    Residential and mobile IPs in 249 countries and territories, with about 99% of requests succeeding.

  2. Rotation and sessions

    A fresh IP per request for listings; a sticky session with -time-<minutes> for logins and carts; -const when a silent IP change would break the flow.

  3. Parallel workers

    No hidden concurrency limits: scale the crawl by adding workers, not by asking for a quota.

  4. A budget per scraper

    One proxy per spider, capped daily or monthly in GB or USD, so a runaway loop stops at its limit.

  5. Usage you can check

    A per-day CSV of traffic and spend for each proxy, to see which spider costs what.

Works with the tools you scrape with

Guides for 40 tools in the docs, from scraping frameworks to SDKs for Python, Node.js and Go.

Scrape at scale: pay per GB from $3.99, no commitment

Web scraping questions

Sessions, targeting and every username parameter are in the documentation.

Still have a question?

Talk directly to the engineers who built the product. No chatbots, no first-level support scripts.

Your scraper's next request is one line away

Sign up with Google, GitHub or email, top up from $10 and pay per GB. No commitment.

curl -x http://…-country-us:•••@proxy.2extract.net:5555 ipinfo.io/json