Proxy Types
The Scraper API integrates seamlessly with Evomi’s global proxy network, giving you access to residential and datacenter proxies across 150+ countries. Choose the right proxy type for your use case to optimize success rates and costs.
Proxy Types
Residential Proxies (Default)
Real IP addresses from ISPs worldwide, providing the highest success rate against anti-bot protection.
Cost Multiplier: 5×
| Feature | Description |
|---|---|
| IP Type | Real residential IPs from ISPs |
| Success Rate | Highest (bypasses most anti-bot measures) |
| Speed | Fast |
| Rotating | Yes (session support available) |
| Countries | 150+ countries |
Best For:
- Geo-restricted content (streaming, e-commerce)
- Sites with strict anti-bot protection
- Social media platforms
- Sneaker sites and ticket vendors
- High-value scraping targets
Example:
curl -X POST "https://scrape.evomi.com/api/v1/scraper/realtime" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"proxy_type": "residential",
"proxy_country": "US"
}'Datacenter Proxies
High-speed datacenter IPs optimized for performance and cost.
Cost Multiplier: 1× (no premium)
| Feature | Description |
|---|---|
| IP Type | Datacenter IPs |
| Success Rate | High for most sites |
| Speed | Fastest |
| Rotating | Yes (session support available) |
| Countries | 50+ countries |
Best For:
- Public APIs and JSON endpoints
- News sites and blogs
- Documentation and knowledge bases
- High-volume scraping
- Development and testing
- Cost-sensitive projects
Example:
curl -X POST "https://scrape.evomi.com/api/v1/scraper/realtime" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://api.example.com/data",
"proxy_type": "datacenter",
"proxy_country": "DE"
}'Cost Comparison
| Configuration | Credits | Calculation |
|---|---|---|
| Request + Datacenter | 1 | 1 × 1 × 1 |
| Request + Residential | 5 | 1 × 1 × 5 |
| Browser + Datacenter | 5 | 1 × 5 × 1 |
| Browser + Residential | 25 | 1 × 5 × 5 |
| Auto + Datacenter (no JS) | 1 | 1 × 1 × 1 |
| Auto + Datacenter (with JS) | 5.5 | (1 × 0.5) + 5 |
| Auto + Residential (with JS) | 27.5 | (5 × 0.5) + 25 |
Country Selection
Target any country using two-letter ISO 3166-1 alpha-2 codes:
Popular Countries
| Code | Country | Code | Country |
|---|---|---|---|
US |
United States | GB |
United Kingdom |
DE |
Germany | FR |
France |
JP |
Japan | AU |
Australia |
CA |
Canada | BR |
Brazil |
IN |
India | IT |
Italy |
ES |
Spain | NL |
Netherlands |
SG |
Singapore | KR |
South Korea |
MX |
Mexico | SE |
Sweden |
Example:
{
"url": "https://example.com",
"proxy_type": "residential",
"proxy_country": "JP"
}Session Management
Maintain the same IP address across multiple requests using session IDs—perfect for multi-step workflows like login flows, shopping carts, or paginated scraping.
Session ID Requirements
- Length: 6-8 characters
- Format: Alphanumeric (a-z, A-Z, 0-9)
- Case-sensitive:
session1≠SESSION1 - Persistence: Same ID = same IP across requests
Use Cases
Login and Browse:
# Step 1: Login page
curl -X POST "https://scrape.evomi.com/api/v1/scraper/realtime" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/login",
"proxy_session_id": "user001",
"proxy_country": "US"
}'
# Step 2: Dashboard (same IP)
curl -X POST "https://scrape.evomi.com/api/v1/scraper/realtime" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/dashboard",
"proxy_session_id": "user001",
"proxy_country": "US"
}'Shopping Cart Flow:
{
"proxy_session_id": "cart789",
"proxy_country": "US"
}Use the same session ID for:
- Browse products
- Add to cart
- View cart
- Checkout
Paginated Scraping:
{
"proxy_session_id": "scrape1",
"proxy_country": "GB"
}Maintain the same IP when scraping multiple pages of results to avoid detection.
Custom Proxy Override
Bring your own proxy by providing a complete proxy URL:
{
"url": "https://example.com",
"proxy_overwrite": "http://username:[email protected]:8080"
}Supported Protocols:
http://username:password@host:porthttps://username:password@host:portsocks5://username:password@host:port
proxy_overwrite, the proxy_country parameter is ignored. However, pricing still uses the proxy_type multiplier for cost calculation.Proxy Behavior by Mode
The proxy configuration applies differently based on the scraping mode:
| Mode | Proxy Usage |
|---|---|
request |
Proxy used for HTTP request |
browser |
Proxy used for browser connection |
auto |
Proxy used for initial request, then browser if upgraded |
Best Practices
Choose the Right Proxy Type
Use Datacenter When:
- Scraping public content
- Cost optimization is priority
- Target site has minimal anti-bot protection
- High-volume scraping of simple sites
Use Residential When:
- Accessing geo-restricted content
- Target has strict anti-bot measures
- Social media or e-commerce scraping
- Success rate is more important than cost
Optimize Session Usage
Do:
- Use sessions for related requests (login → browse → action)
- Keep session IDs unique per workflow
- Reuse sessions within a reasonable timeframe
Don’t:
- Use the same session ID across unrelated workflows
- Share session IDs between different users/accounts
- Keep sessions active indefinitely
Monitor Success Rates
Track which proxy type works best for your targets:
# Python example
results = {
'datacenter_success': 0,
'residential_success': 0
}
# Try datacenter first
response = scrape(url, proxy_type='datacenter')
if response.status_code == 200:
results['datacenter_success'] += 1
else:
# Fall back to residential
response = scrape(url, proxy_type='residential')
results['residential_success'] += 1Country Selection Strategy
For Geo-Restricted Content:
{
"proxy_country": "GB" // Match the target country
}For General Scraping:
{
"proxy_country": "US" // Largest IP pool, best performance
}For Regional E-commerce:
{
"proxy_country": "DE" // Match customer location
}Proxy Errors
Connection Refused
{
"success": false,
"error": "Proxy connection failed"
}Solutions:
- Try a different proxy_country
- Switch to residential proxies for better success rate
- Check if the target site is blocking your proxy type
Timeout
{
"success": false,
"error": "Request timeout"
}Solutions:
- Increase
wait_secondsfor slow-loading sites - Try datacenter proxies for faster connections
- Use
async=truefor long-running requests