• Products
  • Pricing
veyora
  • Network
  • Docs
Log in Start free
  • Products
  • Pricing
  • Network
  • Docs
  • Log in
Start free

Documentation

API Reference

Everything you need to integrate Veyora's residential proxies and Web Unlocker into your application.

  • Quick start
  • Proxy gateway
  • Targeting
  • Web Unlocker
  • API keys
  • Errors
  • Limits

Quick start

Create an account at /signup. Every account starts with $1.00 free credit — enough for 5,000 Web Unlocker requests or roughly 0.6 GB of proxy traffic. Your proxy credentials and API keys are in the dashboard.

Your first request in 30 seconds

curl -x gate.veyora.io:8443 \
     -U "your-username:your-password" \
     https://httpbin.org/ip

Replace your-username and your-password with the credentials from your dashboard.

Proxy gateway

The proxy gateway accepts standard HTTP, HTTPS (CONNECT) and SOCKS5 connections. Point any HTTP client, browser, or scraping framework at the gateway and authenticate with Basic auth.

Connection details

ParameterValue
Hostgate.veyora.io
Port8443
ProtocolHTTP / HTTPS (CONNECT) / SOCKS5
AuthBasic (username:password)

cURL

curl -x gate.veyora.io:8443 \
     -U "USER:PASS" \
     https://example.com

Python (requests)

import requests

proxies = {
    "http":  "http://USER:PASS@gate.veyora.io:8443",
    "https": "http://USER:PASS@gate.veyora.io:8443",
}

r = requests.get("https://example.com", proxies=proxies)
print(r.text)

Node.js (undici)

import { ProxyAgent, fetch } from 'undici';

const agent = new ProxyAgent('http://USER:PASS@gate.veyora.io:8443');
const res = await fetch('https://example.com', { dispatcher: agent });
console.log(await res.text());

Playwright

const browser = await chromium.launch({
  proxy: {
    server: 'http://gate.veyora.io:8443',
    username: 'USER',
    password: 'PASS',
  },
});

Puppeteer

const browser = await puppeteer.launch({
  args: ['--proxy-server=http://gate.veyora.io:8443'],
});
const page = await browser.newPage();
await page.authenticate({ username: 'USER', password: 'PASS' });
await page.goto('https://example.com');

Scrapy

# settings.py
DOWNLOADER_MIDDLEWARES = {
    "scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware": 1,
}
HTTP_PROXY = "http://USER:PASS@gate.veyora.io:8443"

Targeting options

Append flags to your username to control the exit IP. Options combine in this order: -mobile, then -country-xx, then -session-name.

UsernameEffect
USERRandom residential IP, rotates every request
USER-country-frResidential IP in France (any two-letter ISO code)
USER-session-job1Sticky IP for 10 minutes (any name up to 32 alphanumeric chars)
USER-country-de-session-cartSticky German IP
USER-mobileMobile carrier IP (4G/5G) — billed from wallet at mobile rate
USER-mobile-country-usMobile IP in the US
USER-mobile-country-gb-session-s1Sticky mobile IP in the UK

Country codes

Use standard ISO 3166-1 alpha-2 codes: us, gb, de, fr, jp, br, in, au, etc. Leave it off to use the full 195-country pool.

Web Unlocker API

The Web Unlocker fetches a public web page for you. If the page is blocked, it automatically retries on new residential and mobile IPs. You pay only for successful responses — blocked or failed requests are free.

Pricing

$0.20 per 1,000 successful requests. Every account starts with $1.00 free credit (5,000 requests). Failed and blocked requests are not billed.

Endpoint

MethodURL
POSThttps://your-domain/v1/unlock

Authentication

Include your API key in the Authorization header as a Bearer token.

Authorization: Bearer YOUR_API_KEY

Request body (JSON)

FieldTypeRequiredDescription
urlstringYesThe public URL to fetch (http or https)
countrystringNoTwo-letter country code for the exit IP
sessionstringNoSession name to reuse the same IP and cookies (up to 10 min)

cURL example

curl -X POST https://your-domain/v1/unlock \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"url": "https://example.com"}'

With country and session

curl -X POST https://your-domain/v1/unlock \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{"url": "https://example.com", "country": "de", "session": "job1"}'

Python

import requests

r = requests.post(
    "https://your-domain/v1/unlock",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"url": "https://example.com", "country": "fr"},
)
print(r.json())

Node.js

const res = await fetch('https://your-domain/v1/unlock', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ url: 'https://example.com' }),
});
const data = await res.json();
console.log(data);

Response

A successful response returns the fetched page:

{
  "status": 200,
  "url": "https://example.com",
  "body": "<!doctype html>...",
  "headers": { "content-type": "text/html; charset=UTF-8", ... }
}

API keys

API keys authenticate Web Unlocker requests. Create and manage them in your dashboard under the API Keys section.

  • Each account can hold up to 10 API keys.
  • Keys are shown once at creation — copy and store them securely.
  • We store only a hash of each key; lost keys must be replaced.
  • Revoke a key from the dashboard at any time. Revocation is immediate.
  • All keys on an account share the same wallet balance.

Error codes

HTTP StatusMeaning
400Bad request — missing or invalid fields
401Unauthorized — missing or invalid API key / proxy credentials
402Payment required — insufficient balance
403Forbidden — account disabled or URL blocked by policy
407Proxy authentication required — missing credentials on gateway
429Too many requests — rate limited
502Bad gateway — upstream connection failed
503Service unavailable — all attempts blocked (Web Unlocker)

Rate limits & billing

Proxy gateway

  • Traffic is metered by the byte: residential at the per-GB rate, mobile at the mobile rate (shown in your dashboard).
  • Prepaid GB packs are consumed first for residential traffic; the wallet pays the rest.
  • Sticky sessions last up to 10 minutes.
  • Requests to private/internal IPs are blocked (SSRF protection).

Web Unlocker

  • $0.20 per 1,000 successful requests (charged per request from wallet).
  • Blocked and failed requests are not billed.
  • Only GET requests on standard web ports (80, 443).
  • Cannot send custom cookies or credentials to the target site.
  • Some sites are refused by policy (ticket resale, sneaker drops, etc.).
  • Respect a reasonable request rate for each destination.

Wallet

  • All purchases are in USDT on BNB Smart Chain (BEP-20).
  • Balance is prepaid in USD micro-units; no withdrawals or transfers.
  • Larger top-ups include a bonus (shown before checkout).
  • All sales are final — see our refund policy.

Need help?

Contact us through the support form. Include your username or API key name (never the key itself) and any relevant request details.

veyora

Residential proxy access with clear pricing, usage controls, and human support.

Products

  • Residential proxies
  • Web Unlocker
  • Pricing

Company

  • About
  • Contact & support
  • Customer account

Resources

  • Documentation
  • How the network works
  • Frequently asked questions

Legal

  • Terms of service
  • Privacy policy
  • Acceptable use
  • Refund policy

Need help? Send a support request

© 2026 Veyora. All rights reserved.