Returns proxy credentials for a geo-targeted exit IP
Returns proxy credentials for a geo-targeted exit IP. Residential, mobile/5G, SOCKS5, WireGuard. 249 countries, mid-session geo-swap. No signup.
10000 (raw units)
price
36
calls / 30d
2
unique payers
2026-09-17
updated
Provider
api.agentcamo.xyz · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x93958d39D88eb8372BB9C1c82c0d6C0c332848af",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "EtsKHjyVgwzwRzd2vZB9egs8agY1pkb3HPL2mp2oZybr",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "10000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"countryCode": "us",
"ttl": 5
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"country": "us",
"expiresAt": "2026-03-20T12:05:00.000Z",
"mode": "http",
"proxyAuth": "7f8b5984-a1c3-4e2f-b9d7-3c8e1f2a6b4d:eyJhbGciOiJIUzI1NiJ9.placeholder",
"proxyHost": "api.agentcamo.xyz",
"proxyPort": 8080,
"proxyType": "residential",
"sessionId": "7f8b5984-a1c3-4e2f-b9d7-3c8e1f2a6b4d",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uSWQiOiI3ZjhiNTk4NC1hMWMzLTRlMmYtYjlkNy0zYzhlMWYyYTZiNGQifQ.placeholder",
"ttl": 300,
"ttl_remaining": 300
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"countryCode": {
"description": "ISO 3166-1 alpha-2 country code for exit IP",
"type": "string"
},
"identity": {
"description": "Optional agent identity tag",
"type": "string"
},
"mode": {
"description": "Transport mode. http = residential/mobile (set proxyType), wireguard = full-tunnel VPN, socks5 = SOCKS5 proxy",
"enum": [
"http",
"wireguard",
"socks5"
],
"type": "string"
},
"proxyType": {
"description": "IP pool type. mobile = carrier IPs (T-Mobile, Verizon) for bot-detection bypass (default: residential)",
"enum": [
"residential",
"mobile"
],
"type": "string"
},
"ttl": {
"description": "Session TTL in minutes, 1-30 (default: 5)",
"type": "number"
}
},
"required": [
"countryCode"
]
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"bodyType",
"body",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"country": {
"description": "Active exit country code",
"type": "string"
},
"expiresAt": {
"description": "ISO 8601 session expiry",
"type": "string"
},
"mode": {
"description": "Transport mode (http, wireguard, socks5)",
"type": "string"
},
"proxyAuth": {
"description": "Basic auth credentials (sessionId:jwt)",
"type": "string"
},
"proxyHost": {
"description": "Proxy hostname",
"type": "string"
},
"proxyPort": {
"description": "Proxy port",
"type": "number"
},
"proxyType": {
"description": "IP pool type used (residential or mobile)",
"type": "string"
},
"sessionId": {
"description": "Session ID (UUID) for proxy auth and management",
"type": "string"
},
"token": {
"description": "JWT for proxy authentication and session management",
"type": "string"
},
"ttl": {
"description": "Total TTL in seconds",
"type": "number"
},
"ttl_remaining": {
"description": "Remaining TTL in seconds",
"type": "number"
}
},
"required": [
"sessionId",
"mode",
"token",
"country",
"expiresAt",
"proxyHost",
"proxyPort",
"proxyAuth"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
},
"ogImages": [
{
"alt": "Agent Camo – Geo-targeted residential proxies for AI agents • Pay with USDC on Base & Solana",
"height": 500,
"url": "https://pbs.twimg.com/profile_banners/2028644915794808832/1773614642/1500x500",
"width": 1500
},
{
"alt": "Agent Camo logo",
"height": 400,
"url": "https://pbs.twimg.com/profile_images/2033294119448002560/WFynywyR_400x400.jpg",
"width": 400
}
]
}Use it
curl
curl "https://api.agentcamo.xyz/sessions" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.agentcamo.xyz/sessions");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.agentcamo.xyz/sessions")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/8677.json, and this resource appears in /discovery/resources and /discovery/search.