---
title: "Build up to 100 named sticky connections without buying or allocating ports"
method: POST
path: "/v1/traffic/build-urls"
tags: ["traffic"]
---

# Build up to 100 named sticky connections without buying or allocating ports

`POST /v1/traffic/build-urls`

## Request

- Base URL: `https://api.portproof.org`
- URL: `https://api.portproof.org/v1/traffic/build-urls`
- Auth: one of:
  - API key in cookie `pp_session`
  - HTTP bearer

Requires ports:write because results contain the owning organisation’s proxy password. Sessions are session_prefix_1 through session_prefix_count; repeating a prefix reuses them. All use the existing balance and gateway ports. Distinct sessions do not guarantee distinct devices or IPs. Formatting consumes no GB and makes no gateway connection.

## Request body

- object
  - `pool` 'mobile' | 'residential' | 'best', required
  - `country` string, required
  - `protocol` 'http' | 'socks5'
  - `count` integer, required
  - `session_prefix` string, required

## Response `200`

Default Response

- object
  - `connections` object[], required
    - `host` string, required
    - `port` integer, required
    - `protocol` 'http' | 'socks5', required
    - `username` string, required
    - `session` string, nullable, required
    - `url` string, required
    - `url_masked` string, required
    - `snippets` object, required
      - `curl` string, required
      - `python` string, required
      - `node` string, required
      - `playwright` string, required

## Other responses

- `400`: Default Response
- `401`: Default Response
- `409`: Default Response

---

[API](https://skmtc.dev/portproof/apis/portproof-api.md) · [All operations](https://skmtc.dev/portproof/apis/portproof-api/llms.txt) · [OpenAPI document](https://skmtc.dev/portproof/apis/portproof-api/revisions/4143916c0fac?raw)
