Proxy Configuration

SessionKit routes browser traffic through high-quality proxies. Choose between residential, datacenter, and ISP proxies depending on your use case.

Proxy Types

Type Speed Detectability Cost Best For
residential Medium Very low $$$ Anti-bot sites, social media
datacenter Fast Medium $ High-volume scraping
isp Fast Low $$ Balanced speed + stealth
mobile Slow Very low $$$$ Mobile-specific targets

Basic Usage

const session = await sk.sessions.create({
  proxy: {
    type: 'residential',
    country: 'US',
  },
})

Geo-Targeting

Target specific regions, cities, or even ASNs:

// Country-level targeting
const session = await sk.sessions.create({
  proxy: { type: 'residential', country: 'GB' },
})

// Region-level targeting
const session = await sk.sessions.create({
  proxy: { type: 'residential', country: 'US', region: 'us' },
})

// City-level targeting
const session = await sk.sessions.create({
  proxy: {
    type: 'residential',
    country: 'US',
    city: 'New York',
  },
})

Available Regions

  • us — United States
  • eu — European Union
  • asia — Asia Pacific
  • latam — Latin America

Sticky Sessions

By default, proxies rotate on each request. Enable sticky: true to maintain the same IP for the entire session duration:

const session = await sk.sessions.create({
  proxy: {
    type: 'residential',
    country: 'US',
    sticky: true, // Same IP for entire session
  },
})

When to use sticky: Login flows, multi-page journeys, and any scenario where IP changes would trigger re-authentication.

Proxy Rotation

For high-volume scraping, use a fleet with automatic proxy rotation:

const fleet = await sk.fleets.create({
  name: 'scraping-pool',
  size: 50,
  proxy: {
    type: 'datacenter',
    region: 'us',
    rotate: true, // New IP per request
  },
})

Bandwidth & Limits

Plan Residential GB/mo Datacenter GB/mo Concurrent Sessions
Free 1 GB 10 GB 5
Pro 25 GB 100 GB 50
Scale 200 GB Unlimited 500
Enterprise Custom Custom Custom

Error Handling

try {
  const session = await sk.sessions.create({
    proxy: { type: 'residential', country: 'US' },
  })
} catch (error) {
  if (error.code === 'PROXY_POOL_EXHAUSTED') {
    // No proxies available in requested region
    // Try a different region or proxy type
  }
  if (error.code === 'BANDWIDTH_EXCEEDED') {
    // Monthly bandwidth limit reached
    // Upgrade plan or wait for reset
  }
}