Skip to content

lr2bmail/proxy11-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

proxy11

npm Node License: MIT

Official Node.js client for the Proxy11 proxy API.

Use it to fetch fresh proxy lists, filter by country or anonymity type, rotate through proxies, and export simple ip:port files.

Install

npm install proxy11

Quick Start

const { ProxyClient } = require("proxy11");

const client = new ProxyClient("YOUR_API_KEY");

const proxies = await client.get({ limit: 50, country: "us" });
const proxy = await client.random({ proxyType: "anonymous" });
const proxyList = await client.asList({ limit: 100 });

Examples

Get Proxies

const proxies = await client.get({
  limit: 50,
  country: "us",
  proxyType: "anonymous",
  speed: 1.0,
});

Get ip:port List

const proxies = await client.asList({ limit: 50 });
// ["103.152.112.166:8080", "45.77.56.114:4145"]

Random Proxy

const proxy = await client.random({ country: "us" });
const proxyDetails = await client.randomProxy();

Save to File

const count = await client.save("proxies.txt", { country: "us" });
console.log(`saved ${count} proxies`);

Rotator

const rotator = await client.rotator({
  country: "us",
  proxyType: "anonymous",
  autoRefresh: true,
  refreshAfter: 50,
});

for (let i = 0; i < 100; i += 1) {
  const proxy = await rotator.next();
  console.log(proxy);
  // if proxy fails:
  // rotator.markDead(proxy);
}

Error Handling

const { APIError, NoProxiesError, ProxyClient } = require("proxy11");

const client = new ProxyClient("YOUR_API_KEY");

try {
  const proxy = await client.random({ country: "us" });
  console.log(proxy);
} catch (error) {
  if (error instanceof NoProxiesError) {
    console.log("No proxies matched the filters");
  } else if (error instanceof APIError) {
    console.log(`Proxy11 API error: ${error.message}`);
  } else {
    throw error;
  }
}

API

Method Description
get(filters) Return proxy rows as objects
asList(filters) Return proxies as ip:port strings
random(filters) Return one random ip:port proxy
randomProxy(filters) Return one random proxy object
save(path, filters) Save ip:port proxies to a file
rotator(filters) Create an async proxy rotator

Filters

Parameter Type Description
limit number Max proxies to return, capped by your plan
country string Country name or two-letter country code
port number Proxy port
speed number Max response time in seconds
proxyType string anonymous or transparent

Links

License

MIT

Packages

 
 
 

Contributors