Docs menu
Docs Reference
Strands Agents
Give a Strands agent a tool that reads pages through residential, datacenter or mobile IPs in any country.
Last verified: October 2026What it does
The strands-proxmint package gives a Strands agent a proxmint_fetch tool. The agent passes a URL and, if it wants, a country, and gets back the final URL, the status, the title and the page as readable text.
Requests go straight from your code to the gateway, from the IPs and location you pick, and use the bandwidth of your own product. The source is on GitHub and the package on PyPI.
Install and connect
Install the package and create an API key under Settings in the dashboard (the same read-only key the customer API uses):
The key looks up the proxy login of the product you choose, so there is nothing else to copy. If you would rather not use a key, set PROXMINT_USERNAME and PROXMINT_PASSWORD to the proxy login from your product page, or pass username and password.
Use it in an agent
proxmint_fetch is ready to use: residential IPs, credentials from the environment. Agent() runs on the Strands default model; pass model= to use another provider.
For another product, a default location or one IP across calls, create a ProxmintTools and give the agent its proxmint_fetch:
When the gateway refuses a request, for example because the product is out of bandwidth or no IP matches the targeting, the agent gets an error result with a one-line reason and what to change. The error codes page lists them all.
Options
| Option | Default | What it does |
|---|---|---|
api_key | PROXMINT_API_KEY | The API key. Or pass username and password, the proxy login from your product page. |
product | "residential" | residential, premium-residential, datacenter or mobile. |
country | any | Default exit country as a two-letter code, used when a call names none. |
state, city, zip_code, asn | none | Finer targeting inside the country. Needs country. A call that names another country drops it. |
session_minutes | none | Keep one exit IP across calls for 1 to 120 minutes. Default: a new IP on every call. |
output | "text" | text returns readable text, html the raw page. |
max_chars | 50000 | Longer pages are cut here. |
timeout | 60 | Seconds per request. |
Good to know
- State, city, ZIP and ASN targeting can meter at twice the bandwidth; the targeting page says which products.
- Pages load over the destination ports the network forwards, which cover the usual web ports (see port access). A short list of sites is refused outright (see blocked websites).
- Each product allows up to 2,000 concurrent connections, so an agent can fetch several pages at once.
- The tool does not run JavaScript. It reads what the server sends.