Use case

Proxies for ScrapeGraphAI: the loader setting, and the word broker

Set a proxy in ScrapeGraphAI 2.2.4: the loader_kwargs shape, the username and password pair rule, and what server broker actually fetches.

HProxy Team··Updated September 20, 2026·5 min read
HProxy.Use case

Free proxies won't hold up here.

Shared datacenter IPs get flagged and dropped fast. When it has to hold, gaming, streaming, accounts, you need mobile and residential IPs that read as a real device, from $0.44/GB, pay as you go.

Proxies for AI Agents

ScrapeGraphAI is two things with one name: a hosted service, and the open source library you install. Almost everything written about the name describes the hosted one, where proxies are handled for you. This page is about the library, where they are not. We read release 2.2.4 on 20 September 2026.

Where the proxy goes

graph_config = {
    "llm": {"api_key": "API_KEY", "model": "openai/gpt-4o-mini"},
    "loader_kwargs": {
        "proxy": {
            "server": "http://GATEWAY_HOST:GATEWAY_PORT",
            "username": "USER",
            "password": "PASS",
        },
    },
    "headless": True,
}

It belongs under the loader settings, not next to the model. The shape is the familiar browser one: a server, an optional list of hosts to bypass, and a login.

FieldWhat it does
serveryour address, or the literal word broker
bypasshosts that skip the proxy
username, passwordthe login, which must come as a pair
criteriaonly meaningful with broker

Two rules are enforced by assertion, which means you meet them as a crash rather than a warning. The server field must be present. And the username and password "must be provided in pairs or not at all", which is the exact message you will see if you supply one of them.

The host itself has to parse as an address or a domain name. Anything else ends in an assertion complaining about an unknown proxy server type.

The word that changes everything

Set the server to the literal string broker and the setting stops meaning your proxy. The library then searches for one:

"proxy": {
    "server": "broker",
    "criteria": {"anonymous": True, "countryset": {"US"}, "timeout": 5.0},
}

What it searches is a free public proxy list. The library asks that list for candidates matching your criteria, then tests them one at a time and keeps the ones that answered.

The criteria you can express are broad: a minimum anonymity level, a set of countries, whether it should be secure, a timeout, and whether to look outside your countries when nothing matches. There is no session, no stickiness, and nobody who answers for the address. It is a reasonable way to try something. It is not a way to run a job that matters. We have written separately about whether free proxies are safe.

What rotation means here

The module is called proxy rotation, which sets an expectation the code does not meet. The browser loader resolves the setting once, when it is constructed, and reuses the result for the launches that follow. So a broker search happens at that moment, not per page, and your own address is simply used as given.

If you want a new address per run, build a new loader per run. If you want a new address per request, this is not the layer for it.

Which proxy type fits it?

Residential, and your own. Our paired test gives the size of what an address changes: 4 of 13 answers changed, and four sites refused both a server address and a residential one.

The pair rule makes an allowed address especially tidy here. On an HProxy Residential Premium plan your machine's address can be allowed, up to 150 per plan, and then there is no username and no password to keep in pairs at all: just a server line in the configuration. The residential proxies page lists the plans and the plan API manages allowed addresses from code.

One practical note on cost. This library drives a browser, and a browser loads everything a page asks for, so a per gigabyte line is paying for images and fonts as well as text. If that matters, keep the loader headless and limit what you fetch.

What breaks

  • An assertion about pairs. You supplied a username without a password, or the reverse.
  • "unknown proxy server type". Your server field is neither a host nor the word broker.
  • The broker finds nothing. Free lists are volatile. The criteria include an option to search outside your countries when a search comes up empty.
  • It worked once and then stopped. With a broker address, that is expected. With your own address, it is the site.
  • Nothing rotates. The loader resolved the setting when it was built.

What this page does not cover

We read the release as text and did not run the library, so we did not time a broker search, did not count how many candidates it discards, and did not run a graph end to end. What a free list returns changes minute to minute, so we describe the mechanism rather than judging the outcome of any particular search. The hosted service is outside our scope and is quoted only to mark the boundary. This project releases often and the proxy utility is small enough to be rewritten in a single commit, so we will read it again by 20 October 2026.

Where to go from here

Proxies for DeerFlow covers a research agent that reads pages for a model, where only one of its tools takes a proxy. Proxies for Botasaurus covers a library that does rotate a list for you, and what that costs. Are free proxies safe covers what the broker path is actually reaching for.

Sources

  • The settings it accepts, the pair rule, the host check and the broker branch (scrapegraphai/utils/proxy_rotation.py), the browser loader that resolves it (scrapegraphai/docloaders/chromium.py), and the one example in the repository (examples/extras/proxy_rotation.py). ScrapeGraphAI/Scrapegraph-ai, release v2.2.4 of 7 September 2026, read 20 September 2026.
  • The company's own description of its hosted platform handling proxy rotation behind the scenes. ScrapeGraphAI company blog, read from our crawled corpus.
  • Our paired address test of 19 September 2026: 16 URLs, plain requests, two runs from our server and two through a residential line of our house plan. Raw output is kept in the research folder of our OpenClaw page.
  • Plans, allowed addresses and sticky sessions. HProxy documentation, hproxy.com/docs, 20 September 2026.

Frequently asked questions

Where does the proxy go in ScrapeGraphAI?
Under loader_kwargs in the graph configuration, as a dictionary with a server and optionally a bypass list, a username and a password.
Why does it complain about my username?
Because the username and password must be provided in pairs or not at all. That rule is an assertion in the code, with exactly that message.
What does server broker do?
It swaps your address for a search. The library asks a free public proxy list for candidates matching your criteria, tests them, and uses one.
Does the library rotate proxies for me?
Not per page. The browser loader resolves the setting once when it is built and reuses the result, so a broker search happens at that moment rather than on every request.
Is this the same as the hosted service?
No. The company's platform handles proxy rotation and anti-bot work behind the scenes. The open source library you installed does not, which is what this page is about.

Proxies that don't die mid-job

Residential, ISP, datacenter and mobile, verified by the same engine that runs tens of millions of checks. They read as a real device and hold up under load. Pay as you go, and your balance never expires. $0.44/GB is the 2,000 GB+ rate; a single gigabyte is $0.50/GB, with no minimum order.

129M+ proxy checks run · 100+ countries · HTTP / HTTPS / SOCKS · re-checked every few minutes · no signup

HProxy.

Honest guides and comparisons on proxies, scraping and staying unblocked, from the team that runs the network.

RSS feed