Integration Guides
Simple copy-paste examples to get started quickly.
On this page
Quick Start
Connection Details
Residential Proxy: residential.birdproxies.com:8080
ISP Proxy: Use the IP:Port provided in your dashboard
Username: Your BirdProxies username
Password: Your BirdProxies passwordPython
Basic Request
import requests
proxies = {
'http': 'http://username:[email protected]:8080',
'https': 'http://username:[email protected]:8080'
}
response = requests.get('https://httpbin.org/ip', proxies=proxies)
print(response.json())With Error Handling
import requests
from requests.exceptions import RequestException
proxies = {
'http': 'http://username:[email protected]:8080',
'https': 'http://username:[email protected]:8080'
}
try:
response = requests.get('https://httpbin.org/ip', proxies=proxies, timeout=10)
print(f"Success! Proxy IP: {response.json()['origin']}")
except RequestException as e:
print(f"Error: {e}")Node.js
Using Axios
const axios = require('axios');
const HttpsProxyAgent = require('https-proxy-agent');
const proxyAgent = new HttpsProxyAgent(
'http://username:[email protected]:8080'
);
axios.get('https://httpbin.org/ip', {
httpsAgent: proxyAgent,
timeout: 10000
})
.then(response => {
console.log('Proxy IP:', response.data.origin);
})
.catch(error => {
console.error('Error:', error.message);
});Using node-fetch
const fetch = require('node-fetch');
const HttpsProxyAgent = require('https-proxy-agent');
const proxyAgent = new HttpsProxyAgent(
'http://username:[email protected]:8080'
);
fetch('https://httpbin.org/ip', { agent: proxyAgent })
.then(res => res.json())
.then(data => console.log('Proxy IP:', data.origin))
.catch(err => console.error('Error:', err));cURL
Basic Request
curl -x http://username:[email protected]:8080 https://httpbin.org/ipWith Headers
curl -x http://username:[email protected]:8080 \
-H "User-Agent: Mozilla/5.0" \
-H "Accept: application/json" \
https://httpbin.org/ipDownload File
curl -x http://username:[email protected]:8080 \
-o output.html \
https://example.comSelenium (Browser Automation)
Selenium is perfect for web scraping JavaScript-heavy websites and social media automation.
Chrome with Proxy
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# Setup Chrome options
chrome_options = Options()
chrome_options.add_argument('--proxy-server=http://residential.birdproxies.com:8080')
# Create driver with proxy authentication extension
driver = webdriver.Chrome(options=chrome_options)
# Note: For authenticated proxies, you'll need a Chrome extension
# or use a proxy authentication pluginUsing Selenium Wire (Recommended for Authentication)
from seleniumwire import webdriver
# Configure proxy
proxy_options = {
'proxy': {
'http': 'http://username:[email protected]:8080',
'https': 'http://username:[email protected]:8080',
'verify_ssl': False,
}
}
# Create driver
driver = webdriver.Chrome(seleniumwire_options=proxy_options)
# Navigate to website
driver.get('https://httpbin.org/ip')
print(driver.page_source)
driver.quit()Puppeteer
Puppeteer is ideal for web scraping, e-commerce price monitoring, and headless browser automation.
Basic Browser Automation
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
args: [
'--proxy-server=http://residential.birdproxies.com:8080'
]
});
const page = await browser.newPage();
// Authenticate proxy
await page.authenticate({
username: 'your_username',
password: 'your_password'
});
await page.goto('https://httpbin.org/ip');
const content = await page.content();
console.log(content);
await browser.close();
})();C# / .NET
Using HttpClient
using System;
using System.Net;
using System.Net.Http;
class Program
{
static async Task Main()
{
var proxy = new WebProxy
{
Address = new Uri("http://residential.birdproxies.com:8080"),
Credentials = new NetworkCredential("username", "password")
};
var handler = new HttpClientHandler
{
Proxy = proxy,
UseProxy = true
};
using var client = new HttpClient(handler);
var response = await client.GetStringAsync("https://httpbin.org/ip");
Console.WriteLine(response);
}
}Go
Basic Request
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
)
func main() {
proxyURL, _ := url.Parse("http://username:[email protected]:8080")
client := &http.Client{
Transport: &http.Transport{
Proxy: http.ProxyURL(proxyURL),
},
}
resp, err := client.Get("https://httpbin.org/ip")
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}PHP
Using cURL
<?php
$proxy = 'residential.birdproxies.com:8080';
$proxyAuth = 'username:password';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://httpbin.org/ip');
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyAuth);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error: ' . curl_error($ch);
} else {
echo $response;
}
curl_close($ch);
?>Using Guzzle
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client([
'proxy' => 'http://username:[email protected]:8080'
]);
$response = $client->request('GET', 'https://httpbin.org/ip');
echo $response->getBody();
?>Java
Using HttpURLConnection
import java.net.*;
import java.io.*;
public class ProxyExample {
public static void main(String[] args) throws Exception {
Proxy proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("residential.birdproxies.com", 8080));
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(
"username", "password".toCharArray());
}
});
URL url = new URL("https://httpbin.org/ip");
HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);
BufferedReader reader = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
}
}OpenClaw (AI Agent)
OpenClaw is an open-source AI agent framework for browser automation and web scraping. BirdProxies integrates with both the browser tool and web_fetch HTTP client. See the full OpenClaw proxy setup guide for detailed instructions.
Browser Proxy Configuration
{
"browser": {
"proxy": {
"server": "http://gate.birdproxies.com:7777",
"username": "YOUR_USERNAME",
"password": "YOUR_PASSWORD"
}
}
}HTTP Proxy (web_fetch)
# Add to your .env file
HTTP_PROXY=http://USER:[email protected]:7777
HTTPS_PROXY=http://USER:[email protected]:7777
NO_PROXY=127.0.0.1,localhost**Important:** Set NO_PROXY=127.0.0.1,localhost to prevent proxy routing from breaking OpenClaw's internal CDP health checks.
For sticky sessions (multi-page workflows), append -session-RANDOM to your username. For country targeting, append -country-us or any ISO code.
Troubleshooting
Common Issues
- •Increase timeout to 30 seconds
- •Check if your IP is whitelisted (ISP proxies)
- •Verify credentials are correct
- •Check username and password
- •Ensure proxy format is correct: `http://user:pass@host:port`
- •Some tools require URL encoding for special characters in password
- •Add `verify=False` in Python requests
- •Use `--insecure` flag in cURL
- •Disable SSL verification in your HTTP client (development only)
1. Test with cURL first: curl -x http://user:pass@host:port https://httpbin.org/ip
2. Check if residential proxies are active in your dashboard
3. For ISP proxies, verify the specific IP:Port is correct
4. Contact support if issues persist
**Need more help?** See our Troubleshooting Guide or Best Practices.
