Direct Answer
To use a mobile proxy with FlareSolverr, pass your endpoint in the proxy object of the JSON payload — url, username and password. Because request.get does not accept proxy auth, create a session first with sessions.create and the proxy, then send request.get with that session. FlareSolverr's browser then runs on your real German mobile IP. Add your host, port, username and password from your account.
The FlareSolverr Proxy Gotcha
FlareSolverr is different from the HTTP clients in the rest of this series. It is a small proxy server that drives a real browser to work through a JavaScript challenge page, then hands you back the resulting HTML and cookies. You POST a JSON command to it — request.get, request.post, sessions.create — and it does the browser work for you.
The gotcha is proxy authentication. FlareSolverr's request.get accepts a proxy object, but that object does not support username and password. If your upstream proxy needs credentials — and a dedicated mobile endpoint does — a bare request.get will silently ignore them and run on FlareSolverr's own IP. The supported path is sessions.create: create a session with the authenticated proxy, then run request.get against that session.
And solving a challenge is only half of a coherent request. FlareSolverr settles the browser behaviour; the IP settles where that browser appears to come from. A real browser on a flagged server range is still a request whose two halves disagree. A real German mobile IP is the other half — see how websites detect proxies for why the whole request is read together, not one layer at a time. The goal is reliable access to public data, not concealment.
Install
FlareSolverr runs as a container and listens on port 8191 by default:
docker run -d
--name flaresolverr
-p 8191:8191
ghcr.io/flaresolverr/flaresolverr:latest
Once it is up, you POST JSON to http://localhost:8191/v1.
Before You Start
You will need four values from your GermanProxy.io account:
- Host and port of your endpoint
- Username and password
The examples use PROXY_HOST, PORT, USER and PASS as placeholders — replace them with your own. GermanProxy.io supports HTTP, SOCKS5 and OpenVPN, so you can pick whichever your setup prefers.
Step 1 — Create a Session with the Proxy
Because an authenticated upstream proxy belongs on sessions.create, start there. The proxy object takes url, username and password:
curl -L -X POST 'http://localhost:8191/v1'
-H 'Content-Type: application/json'
--data-raw '{
"cmd": "sessions.create",
"session": "german-mobile",
"proxy": {
"url": "http://PROXY_HOST:PORT",
"username": "USER",
"password": "PASS"
}
}'
FlareSolverr returns a session id (here we named it german-mobile). For a SOCKS5 endpoint, swap the scheme to socks5://PROXY_HOST:PORT.
Step 2 — Run request.get Against That Session
Now reference the session on each request. The browser instance for this session already runs behind your German mobile IP:
curl -L -X POST 'http://localhost:8191/v1'
-H 'Content-Type: application/json'
--data-raw '{
"cmd": "request.get",
"url": "https://www.example.de",
"session": "german-mobile",
"maxTimeout": 60000
}'
The response contains the solved page HTML, the final URL, cookies and the User-Agent the browser used. When you are done, free the browser with sessions.destroy and the same session id.
The Same Call from Python
The pattern is identical over requests:
import requests
FLARE = "http://localhost:8191/v1"
# 1. Create the session with the authenticated proxy
requests.post(FLARE, json={
"cmd": "sessions.create",
"session": "german-mobile",
"proxy": {
"url": "http://PROXY_HOST:PORT",
"username": "USER",
"password": "PASS",
},
})
# 2. Request through that session
resp = requests.post(FLARE, json={
"cmd": "request.get",
"url": "https://www.example.de",
"session": "german-mobile",
"maxTimeout": 60000,
})
print(resp.json()["solution"]["status"])
Verify the IP First
Before scaling up, point the session at an IP-echo endpoint and confirm the German mobile IP FlareSolverr's browser actually presents:
curl -L -X POST 'http://localhost:8191/v1'
-H 'Content-Type: application/json'
--data-raw '{
"cmd": "request.get",
"url": "https://api.ipify.org?format=json",
"session": "german-mobile",
"maxTimeout": 60000
}'
If it shows FlareSolverr's own address, re-check that the proxy went on sessions.create and not on a bare request.get. See test your mobile proxy setup to compare.
Sticky Sessions vs. Rotation
A FlareSolverr session already reuses one browser instance, which maps cleanly onto one dedicated endpoint:
- Sticky session: keep one FlareSolverr session on the same German mobile IP across a multi-request flow.
- Rotation on demand: request a fresh IP at the proxy, then create a new session.
See sticky sessions and IP rotation explained.
Why a Real German Mobile IP
FlareSolverr settles the browser behaviour; the IP settles where the browser appears to come from. A real German 5G mobile IP is a normal consumer address on a real German mobile network, shared across many everyday users through CGNAT, so its reputation reflects ordinary phone traffic rather than a flagged server range. Paired with a real browser working through a challenge, both stories agree — and a clean IP reputation matters as much as the browser step. For the wider spectrum, see mobile vs residential vs datacenter proxies.
Scrape Responsibly
A challenge-solving proxy on a clean mobile IP improves reliability for legitimate data collection — it is not a way around access controls or a site's rules. Keep the pipeline defensible:
- Respect
robots.txtand each site's terms of service. - Send requests at a human-reasonable rate — set a sensible
maxTimeoutand add delays; do not hammer servers. - Collect only public data you need, and handle any personal data in line with the GDPR.
- Keep your requests honest — do not misrepresent who you are.
For German and EU targets this is our positioning: public data only, polite rates, no storing of personal data. See is web scraping legal in the EU and, if you hit a wall, fix 403 forbidden while web scraping.
FAQ
How do I pass an authenticated proxy to FlareSolverr?
Through sessions.create, not request.get. request.get accepts a proxy object but not username and password, so create a session with the full proxy object — url, username, password — then reference that session on each request.get. The browser instance then runs on your German mobile IP.
What is the exact proxy object shape?
A JSON object with a url in scheme://host:port form and, for sessions.create, username and password fields — for example {"url": "http://PROXY_HOST:PORT", "username": "USER", "password": "PASS"}. Include the scheme; FlareSolverr supports http, socks4 and socks5.
Why does request.get ignore my proxy credentials?
By design. FlareSolverr's request.get proxy object does not support username and password. Put the authenticated proxy on sessions.create instead and pass the returned session to request.get — that is the supported path for an authenticated upstream proxy.
Do I still need a mobile IP if FlareSolverr already solves challenges?
Yes. FlareSolverr runs a real browser to work through a challenge page, but the IP it runs on is a separate signal. A real browser on a flagged datacenter range is still inconsistent. A German mobile IP gives that browser the everyday-consumer network profile a genuine visitor has.
Can I keep the same German IP across FlareSolverr requests?
Yes. A FlareSolverr session already reuses one browser instance; pair it with one dedicated German endpoint and it stays a sticky session on the same mobile IP. Rotate on demand at the proxy when you want a fresh IP, then create a new session.
Does FlareSolverr support SOCKS5 for the upstream proxy?
Yes. The proxy url accepts http, socks4 and socks5 schemes, so a socks5://PROXY_HOST:PORT url works. Include the scheme explicitly. GermanProxy.io exposes both HTTP and SOCKS5 endpoints, so use whichever your setup prefers — see SOCKS5 vs HTTP proxy.
Related guides
- Pairing a CAPTCHA Solver With a German Mobile Proxy
- Camoufox Proxy Setup: Route via a German Mobile IP
- Fix 407 Proxy Authentication Required on a Mobile Proxy
CTA
Give FlareSolverr's browser an IP that fits. Get a German mobile proxy — HTTP/SOCKS5/OpenVPN, sticky sessions, on-demand rotation, fair-use 20 GB/day, from a transparent EU provider. Browse the plans to get started.
Get a German mobile proxy: Real 4G/5G IPs from Germany, fair-use 20 GB/day — browse German mobile proxy plans or start small with a shared 5G proxy.