Products
Datacenter proxies from $19/mo Rotating proxies from $49/mo ISP proxies from $33/mo Dedicated proxies from $3.50/mo UDP proxies from $5/mo Try proxies
Use cases
Data & scraping AI services Social media & messaging E-commerce & finance Media & entertainment Marketing & ads Automation & tools All use cases →
Pricing
Full pricing table All locations Money-back guarantee
Resources
Blog REST API MCP server Setup guides FAQ For business About us Affiliate program
New dashboard
English
English Русский
For developers

Proxy automation for your code and your AI agents

Everything you do in the Dashboard is available two other ways:

  1. The REST API, for scripts and services.
  2. The MCP server, for Cursor, Claude Code, and other agents.
MCP server
URL
https://papaproxy.net/account_new/api/v1/mcp

Add the header Authorization: Bearer <api_key>, and your agent gets 50 tools for working with your account. The full configuration is in the MCP section.

Try it without a key
Prompt
Read https://papaproxy.net/developers.md. Using the public endpoints described there (no API key needed), show which countries have datacenter proxies in stock right now and quote 100 US IPs for 1 month. Then tell me what you could do with my PapaProxy.net account once I connect the MCP server with an API key.

Works with any agent that can open web pages and send HTTP requests, such as Cursor or Claude Code.

REST API or MCP: pick by who makes the decision

The two interfaces reach the same account operations. The difference is where the logic lives: in code you wrote and tested, or in an agent that interprets a request and chooses the calls itself. Many teams use both — the API for production pipelines, MCP for ad hoc work and troubleshooting.

REST API

Your code decides. Predictable, repeatable, easy to test.
  • A scraper fetches the current proxy list at the start of every run, so a list refresh doesn’t leave it with outdated IPs.
  • A provisioning script orders IPs for a new environment and adds its server to IP whitelisting in the same order request.
  • An internal finance report pulls the balance, ledger entries, and invoice PDFs once a month.
  • Webhooks notify your backend about account events, so you don’t have to poll.

MCP server

You describe the outcome. The agent chooses the tools.
  • One-off requests in plain English: “add 200 German IPs to my datacenter plan”.
  • Troubleshooting: the agent compares usage over time, errors by category, and top destinations, then suggests what to change.
  • Routine housekeeping — renewals, whitelist edits, credential rotation, support tickets — without opening the Dashboard.
  • Prototyping: ask the agent to run an operation and show the response before you write the same call in code.

Your first request in three steps

You can start before you even create a key: the country list with live stock and price quotes are open to everyone.

  1. Check available locations and stock

    Returns every country with an ISO code and the number of IPs currently available. Set product_kind to proxy_datacenter or proxy_isp. Quotes and orders also accept proxy_personal for dedicated proxies.

    bash
    curl -s "https://papaproxy.net/account_new/api/v1/billing/countries?product_kind=proxy_datacenter"
  2. Get a price for your country mix

    A quote is free and non-binding. The response includes the price per segment, the volume discount, and the monthly total in cents. Set period_months to 3, 6, or 12 to see the term discount.

    bash
    curl -s -X POST https://papaproxy.net/account_new/api/v1/billing/composite/quote \
      -H "Content-Type: application/json" \
      -d '{
        "product_kind": "proxy_datacenter",
        "period_months": 1,
        "segments": [
          {"country": "US", "count": 300},
          {"country": "DE", "count": 200}
        ]
      }'
  3. Create a key and call your account

    In the Dashboard, open Settings → API keys, name the key, and select only the scopes it needs. The full key is displayed once, right after creation — store it in a secrets manager or an environment variable.

    bash
    export PAPA_API_KEY="fb_..."
    
    curl -s https://papaproxy.net/account_new/api/v1/customer/services \
      -H "Authorization: Bearer $PAPA_API_KEY"

What the REST API covers

Every path below starts with the base URL. Request and response schemas, error codes, and a “try it” console are in the API reference in your Dashboard.

AreaMain endpointsScope
Catalog and pricingGET /billing/countries, POST /billing/composite/quote, GET /customer/catalogcatalog:read
Orders and renewalsPOST /billing/composite/order, POST /customer/services/{id}/renew, POST /customer/services/{id}/cancel, POST /billing/services/{id}/add-ipsservices:write, wallet:spend
Add-onsGET /billing/services/{id}/addons/available, purchase and disable add-ons such as UDPservices:write, wallet:spend
Proxy accessGET /customer/services/{id}/proxy/ips, proxy/auth, proxy/whitelist, proxy/config for rotating plansservices:read, services:write
IP refreshPOST /customer/services/{id}/proxy/refresh, GET …/proxy/refresh-statusservices:write
Sticky sessionsList, rotate, and delete sessions; set the session mode and TTL for rotating plansservices:read, services:write
UsageGET /customer/services/{id}/usageusage:read
Balance and invoicesGET /customer/wallet/balance, /ledger, POST /customer/wallet/deposit/init, invoice PDFswallet:read, wallet:deposit
Support ticketsGET and POST /customer/tickets, POST /customer/tickets/{id}/replytickets:read, tickets:write
Profile and keysGET and PATCH /customer/me, /customers/me/api-keyscustomer:read, customer:write
Webhooks/customer/webhooks: endpoints, event types, deliveries, test events, redeliverywebhooks

Placing an order from code

The order request takes the same segments as the quote, plus the IPs to whitelist and an idempotency key. If a network error makes you retry, the same order returns the existing service instead of charging you twice.

bash
curl -s -X POST https://papaproxy.net/account_new/api/v1/billing/composite/order \
  -H "Authorization: Bearer $PAPA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "product_kind": "proxy_datacenter",
    "period_months": 1,
    "segments": [
      {"country": "US", "count": 300},
      {"country": "DE", "count": 200}
    ],
    "whitelist_ips": ["203.0.113.10"],
    "use_balance": true,
    "idempotency_key": "eu-us-500-2026-10"
  }'
Before your first order: whitelist_ips is required for proxy orders — without it, the request is rejected with HTTP 422 before any charge. use_balance: true pays from your account balance; without it, payment goes through a payment processor checkout.

MCP server: the Dashboard as tools for your agent

The Model Context Protocol lets an agent discover and call tools on a remote server. Connect the PapaProxy.net server once, and your agent gets 50 tools to work with your account the way you would: check stock, compare prices, buy, configure, and report back in the chat.

Connect it

Paste the configuration into your client’s MCP settings — in Cursor, that’s .cursor/mcp.json in your project or ~/.cursor/mcp.json for all projects. The server name is up to you.

mcp.json
{
  "mcpServers": {
    "papaproxy": {
      "url": "https://papaproxy.net/account_new/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer fb_YOUR_API_KEY"
      }
    }
  }
}

Claude Code adds the same server from the command line:

bash
claude mcp add --transport http papaproxy \
  https://papaproxy.net/account_new/api/v1/mcp \
  --header "Authorization: Bearer fb_YOUR_API_KEY"

Any other MCP client that supports remote servers with custom headers works with the same URL and header.

How an agent buys proxies

list_countries1. Check stockISO country codes and the number of IPs available right now, so the agent doesn’t plan an order that can’t be filled.
quote_composite2. Price the mixThe exact price for the country mix and term. Quotes are free and don’t reserve or charge anything.
order_composite3. Buy from the balancePayment comes from your account balance, with a price guard and an idempotency key, so a retry doesn’t create a duplicate order.

What else the agent can do

ServicesCancel with a prorated refund, toggle auto-renewal, resume a suspended service, replace or add IPs.
Proxy settingsRotating-proxy connection details, credential rotation, IP whitelisting, per-IP connection limits.
Add-onsSee which add-ons a plan supports, buy them, or cancel with a prorated refund.
AnalyticsUsage summary and time series, top destinations, errors by category, and recommendations.
BillingInvoices with PDF download, available payment methods, balance top-ups, and deposit status.
SupportOpen a ticket, read the conversation, reply, and close it when the issue is resolved.
AccountProfile details, the IP the agent connects from, and login history.
Rotating plansSticky sessions: list, rotate, or reset them, and adjust the session TTL.

Requests that work well

“What would 1,000 ISP proxies across the US and Spain cost for 3 months? Don’t buy anything yet.”
“Our office IP changed to 198.51.100.24 — update IP whitelisting on all active services.”
“Why did errors increase on my datacenter plan yesterday? Break them down by category.”
“Which services expire this month, and which of them have auto-renewal turned off?”

Scopes: give each key only what it needs

A request succeeds only if the key holds the scope that endpoint requires. Scopes apply the same way to REST calls and MCP tools, so a key without wallet:spend can’t pay for anything through either interface.

ScopeWhat it allows
catalog:readProducts, countries, and prices
services:readYour services, proxy lists, credentials, whitelist entries, and refresh status
services:writeChange credentials and IP whitelisting, refresh IPs, manage sticky sessions, cancel services
usage:readUsage statistics for your services
wallet:readBalance, ledger, and invoice PDFs
wallet:depositStart a balance top-up and get a checkout URL
wallet:spendPay from your balance: purchases, renewals, add-ons, extra IPs, and paid IP refreshes
tickets:readRead support tickets
tickets:writeOpen tickets and reply
customer:readProfile details
customer:writeUpdate profile details
webhooksManage webhook endpoints and deliveries

Typical key setups

Monitoring

services:read, usage:read

For dashboards, alerting, and an agent that only analyzes. It can see everything about your services and change nothing.

Provisioning

catalog:read, services:read, services:write, wallet:read, wallet:spend

For scripts and agents that order and configure proxies. Keep the balance at the level you’re comfortable letting automation spend.

Webhooks: get notified instead of polling

Register an HTTPS URL and choose the events you care about; GET /customer/webhooks/events returns the current list of event types. The endpoint secret appears only once, in the creation response, so save it right away.

Safeguards for automation that spends money

Spending is a separate scopeWithout wallet:spend, a key can read, quote, and configure, but it can’t pay for anything.
Only your balanceAgent purchases are paid from your account balance. Card details stay with the payment processor and aren’t available to the agent.
Safe retriesOrders, paid IP refreshes, and top-ups accept an idempotency key, so a repeated request returns the original result.
Revocable keysEach key shows when and from which IP it was last used. Revoke it in the Dashboard or with DELETE /customers/me/api-keys/{id}.
We recommend a separate key for each integration and environment, so you can revoke one without affecting the rest. Don’t paste keys into prompts or commit them to a repository — keep them in your MCP client config or a secrets manager.

Frequently asked questions

Does API or MCP access cost extra?

No. The REST API and the MCP server are available on every account at no additional charge. You pay only for the proxies and add-ons you order, at the same prices as in the Dashboard.

Do I need programming experience to use the MCP server?

No. You paste one configuration block with your API key into your MCP client, then describe what you need in plain English. The agent picks the tools and shows the results in the chat. Programming is only needed if you want to call the REST API from your own code.

Which AI agents can connect?

Any MCP client that supports remote servers and lets you set an Authorization header — for example, Cursor and Claude Code. The connection details are the same for every client: the server URL and your API key.

Can an agent spend more than I intend?

An agent can pay only from your account balance, and only if its key includes the wallet:spend scope. For analysis and price checks, create a key without that scope. For purchasing, keep the balance at the amount you’re willing to let it spend, and ask the agent to show a quote before it orders.

Do the API and MCP work with rotating proxies?

Yes. For rotating plans, there’s no IP list to export: you get the gateway connection details and manage sticky sessions — their mode, TTL, and forced rotation. For datacenter, ISP, and dedicated proxies, you work with IP lists, credentials, and IP whitelisting.

Where is the full API reference?

In your Dashboard: API reference. It’s generated from the OpenAPI 3.1 specification and lists every endpoint with its parameters, required scope, and response schema. For an AI agent, there’s also a Markdown version of this page.