How to add a proxy in Dolphin Anty
Proxy Compare read Dolphin Anty's proxy documentation, its FAQ and its published OpenAPI specification on 27 Aug 2026. The API's own field bounds explain what its most common validation error is really reporting, which the error text itself does not tell you.
2 Sept 2026 · updated 8 Sept 2026 · 7 min read
Point in time. The figures below were read on 27 Aug 2026 and are not updated after publication. For current numbers see the comparison table.

Dolphin Anty keeps proxies in their own section rather than only inside a profile, so one proxy can serve several profiles and be edited in one place.
You add one by pasting a string. This covers the shapes that string can take, the label and rotation-link suffixes, what the checker reports back, and how to start a profile from the local API.
What is Dolphin Anty?
Dolphin Anty is an anti-detect browser that stores browser profiles with separate fingerprints, cookies and proxies. Its proxies live in their own section rather than only inside a profile, so one proxy can be attached to several profiles and managed in one place.
Dolphin Anty proxy features
Three input formats
Documented verbatim as "supported input formats":
host:port
host:port:login:password
login:password@host:port
Note that the second and third invert each other. Both are accepted, which is convenient until you paste one where you meant the other. GoLogin has the same pair of inverted formats and no equivalent error to tell you which one it read.
A protocol prefix on any of them
"to the left of any proxy, you can specify the TYPE of proxy". Their three examples:
http://192.168.0.1:8000
socks5://login:password@192.168.0.1:8000
socks4://192.168.0.1:8000:login:password
Two optional suffixes
"Optionally, you can add :name at the end of any format." And separately, "At the end of each proxy, you can specify an IP change link in square brackets []".
So a fully loaded string carries a protocol, a host, a port, credentials, a rotation URL and a label, all in one line.
A checker that reports geolocation
"After entering, you can click on the arrows on the right edge of the line to check their connection, geolocation". Dolphin "automatically pulls geolocation data from the proxy using its own checker".
Adding a proxy
- Choose New Proxy, then paste one of the three formats above.
- Add a protocol prefix if your provider needs something other than the default.
- Add the rotation link in square brackets if you have one, and a
:namelabel if you want the proxy identifiable in the list later. - Click the arrows at the right of the row to check the connection and read back the geolocation.
Dolphin's Quick Start page states the shape slightly differently, as
protocol://ip:port:login:pass, with the worked example
http://131.11.43.11:13143:name:1kjkdsq.
Reading the port length error
This is the error people hit first:
ValidationError: 'port' length must be less than or equal to 5 characters long
Dolphin's own advice is to check the format and to "Make sure your proxies are formatted correctly, without extra spaces, symbols, or typos."
The five is the useful part. A port number stops at 65535, which is five characters, and Dolphin's API bounds the field at 0 to 65535. So the error is not saying your port is malformed. It is saying something that is not a port ended up in the port position, which is almost always a password, and which means your credential order is wrong rather than your credentials.
If you pasted login:password@host:port into a field expecting
host:port:login:password, this is the error you get.
A related one surfaces untranslated: validationNew.app_rules_proxy_rule. Same
cause, same fix.
When the connection fails instead
A different error, and a different problem:
Failed to establish a proxy connection. Check proxy operation, if possible,
with an external VPN or other access point to rule out a GEO connection conflict.
Dolphin gives three causes: your ISP cannot reach the proxy, the proxy is unresponsive, or Dolphin's checker cannot verify it. Their suggested test is to change network, tethering from a phone, or to start a VPN before opening Dolphin. That separates a routing problem from a dead endpoint in about a minute.
Several more from the same FAQ, each with a distinct cause:
- Proxies that worked for days and then stopped. The provider disabled them or the ISP is blocking. Dolphin notes this is "quite common" for users in Russia.
- A proxy that fails for you and works for a colleague. Dolphin attributes this to your internet provider blocking the connection rather than to the proxy.
- No internet on any site inside a profile. Third-party software is interfering. Dolphin names Socksescort, Proxifier, Pia5Proxy and 922, and the fix involves reinstalling them with the LSP certificate disabled, then reinstalling Dolphin.
- Google opens but the target site does not. The exit address is flagged in an anti-fraud database. Dolphin's verdict is blunt: "the only solution is to replace the proxies."
- The wrong country shown. Geolocation databases disagree with each other. Cross-check elsewhere before blaming the tool.
Rotation links fail for three documented reasons: the link belongs to a different proxy, a rotation timeout that "typically ranges from 30 seconds to 2 minutes", or a provider outage. AdsPower documents the same shared-proxy rotation surprise from the other direction.
Automating it
Dolphin runs a local HTTP API on port 3001 and hands back a separate, per-launch CDP port. Authenticate, start the profile, then connect to the endpoint it returns.
import requests
from playwright.sync_api import sync_playwright
LOCAL = "http://localhost:3001/v1.0"
# 1. Authorise the local API with your token.
requests.post(f"{LOCAL}/auth/login-with-token", json={"token": API_TOKEN})
# 2. Start the profile with automation enabled.
r = requests.get(f"{LOCAL}/browser_profiles/{PROFILE_ID}/start",
params={"automation": 1}).json()
port = r["automation"]["port"] # e.g. 50568, DIFFERENT every launch
ws = r["automation"]["wsEndpoint"] # /devtools/browser/c71c1a9d-...
# 3. Connect to the port it just told you about.
with sync_playwright() as pw:
browser = pw.chromium.connect_over_cdp(f"ws://127.0.0.1:{port}{ws}")
page = browser.contexts[0].pages[0]
page.goto("https://example.com")
browser.close()
requests.get(f"{LOCAL}/browser_profiles/{PROFILE_ID}/stop")
Puppeteer takes the same endpoint:
const browser = await puppeteer.connect({
browserWSEndpoint: `ws://127.0.0.1:${port}${wsEndpoint}`,
});
Add &headless=1 for headless. Three constraints Dolphin states: the app must
be running and authorised, "Requests must be sent from the same machine where
the browser runs", and the API port itself is not guaranteed, since "By
default, the local API uses port 3001; if busy, another port is assigned (check
in the Health window)." The rate limit is 1500 requests per minute.
For Selenium, Dolphin ships a modified ChromeDriver, because "The standard driver can reveal automation".
The proxy itself goes on the profile rather than in this call, and their API marks both credential fields optional, which is how an allowlisted proxy works here. This follows Dolphin's documented endpoints rather than a run of ours.
Whichever tool you settle on, the proxy behind it is the recurring cost, and per-gigabyte prices vary far more between providers than these applications vary between each other. What each charges, with the date it was read, is on the provider table.
Limitations
Fifty proxies on the free plan. Five profiles, unlimited in time, with full spoofing included, but the proxy list is capped and exceeding it produces "You have reached the proxy limit of your current plan". Starter at ten dollars lifts the cap.
Three profiles running at once on free, and up to 200 profile recreations a month.
No documented bulk paste of a plain proxy list. The multi-proxy paths that are documented are the XLSX profile import, Smart Data Import, and a paid bulk Change Proxy panel. There is no published delimiter for pasting many at once into the proxy screen.
What the documentation does not say
- The add-proxy dialog's field labels. Every walkthrough uses screenshots and GIFs rather than naming the boxes. Only two labels appear in vendor text at all, "New Proxy" and "Link to change IP". The field order we understand comes from Dolphin's API specification, which describes the API object rather than the interface.
- Which of two contradictory labels the current build shows. The add-proxy page says "New Proxy" and the Quick Start page says "New proxies".
- How an SSH proxy is entered. SSH is in the API protocol list, with no documented dialog path or string format.
- Whether SOCKS5 uses remote DNS. Nothing beyond a general statement that DNS comes from the proxy.
Because two of Dolphin's three formats invert each other, it is worth knowing that the session token sits in the login segment at some providers and the password at others. What each states is on its provider page, dated.
Conclusion
Dolphin Anty is generous about input and specific about failure, which is a good
combination once you can read the errors. Standardise on
host:port:login:password, treat the port length error as a statement about
ordering, and pull the CDP port out of the start response rather than assuming
3001 is where the browser is.
Choosing a subscription as well as a proxy? Compare the recorded profile allowances, seats and API access in the anti-detect browser plan comparison.
Sources
- How to add a proxy in Dolphin Anty Dolphin Anty documentation, read 27 Aug 2026
First, you need to select "New Proxy" and then enter the proxy in one of the supported input formats
- Proxy FAQ, format validation errors Dolphin Anty documentation, read 27 Aug 2026
ValidationError: 'port' length must be less than or equal to 5 characters long
- Proxy FAQ, optional suffixes Dolphin Anty documentation, read 27 Aug 2026
Optionally, you can add :name at the end of any format.
- Proxy FAQ, connection failure Dolphin Anty documentation, read 27 Aug 2026
Failed to establish a proxy connection. Check proxy operation, if possible, with an external VPN or other access point to rule out a GEO connection conflict.
Questions
What proxy formats does Dolphin Anty accept?
Three, documented verbatim as supported input formats: host:port, host:port:login:password, and login:password@host:port. A protocol prefix can go to the left of any of them, and two optional suffixes exist, a :name label and an IP change link in square brackets.
What does the port length validation error mean?
It means the parser read the wrong segment as the port. The five-character ceiling is not arbitrary, it is the bound on a port number, which stops at 65535. So a password or username landed in the port position, which tells you the credential order in your string is wrong rather than the credentials themselves.
Does Dolphin Anty support IP-authenticated proxies?
Yes, though Dolphin never uses the term. Their OpenAPI specification marks both credential fields optional, and host:port with no credentials is one of the three accepted formats. So an allowlisted proxy works by omitting the login and password, it is just never documented as a whitelisting feature.
Why does Dolphin Anty say failed to establish a proxy connection?
Their docs give three causes: your ISP cannot reach the proxy server, the proxy server is unresponsive, or Dolphin's own checker cannot verify it. The suggested test is to change network, by tethering from a phone, or to run a VPN before opening Dolphin, which separates a routing problem from a dead proxy.
How many proxies can I add on the Dolphin Anty free plan?
Fifty. The free plan gives five profiles for an unlimited time and caps proxies at fifty, and exceeding it produces the error that you have reached the proxy limit of your current plan. The ten dollar Starter tier lifts the proxy cap to unlimited.
