> For the complete documentation index, see [llms.txt](https://help.proxidize.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.proxidize.com/per-gb-proxies/per-gb-connection-details-and-username-format.md).

# Per GB Connection Details and Username Format

Connect to Proxidize Per GB proxies by hand: the host, ports, and how to build the username to pick a country, state, city, ISP and sticky session.

Every Mobile Per GB and Residential Per GB proxy uses the same host and ports, and the username decides where your traffic exits.

The dashboard builds the username for you as you change an access point's settings, so most people copy it from **Proxy Details**.

This page explains the format, so you can build usernames in your own scripts instead.

***

## Host and ports

| Setting         | Value                                                                       |
| --------------- | --------------------------------------------------------------------------- |
| **Host**        | `pg.proxi.es` (or the IP shown when **Hostname** is set to **IP Hostname**) |
| **HTTP port**   | `20000`                                                                     |
| **SOCKS5 port** | `20002`                                                                     |
| **Password**    | The access point's password, shown in **Proxy Details**                     |

The same host and ports serve Mobile Per GB and Residential Per GB.

The username tells them apart.

***

## How the username is built

Every Per GB username starts with the access point's base username, which depends on the access point.

| Access point                              | Base username                                                                           |
| ----------------------------------------- | --------------------------------------------------------------------------------------- |
| **Default**                               | Your user ID, for example `USERID`                                                      |
| A named access point, such as `myproject` | Your user ID, an underscore, then the access point name, for example `USERID_myproject` |

Each access point has its own password, shown in **Proxy Details**.

After the base username come the segments, one per setting, each written as a short key and a value joined by hyphens.

| Segment             | What it sets                                                                                     | Example                    |
| ------------------- | ------------------------------------------------------------------------------------------------ | -------------------------- |
| `-s-<session>`      | A sticky session, named with letters and digits only. Leave it out for a new IP on every request | `-s-job42`                 |
| `-co-<country>`     | Country, as a two-letter code                                                                    | `-co-US`, `-co-DE`         |
| `-st-<state>`       | State or region, without spaces. Works without a city                                            | `-st-Texas`, `-st-Bavaria` |
| `-ci-<city>`        | City, without spaces                                                                             | `-ci-<city name>`          |
| `-c-<ISP ID>`       | A specific ISP, by its numeric ID                                                                | `-c-<ISP ID>`              |
| `-type-residential` | Required on Residential Per GB. Leave it out on Mobile Per GB                                    | `-type-residential`        |

So a named access point called `myproject`, targeting Texas with a sticky session, has a username like `USERID_myproject-s-job42-co-US-st-Texas`.

Use the segments in the order shown above, which is the order the dashboard produces.

Any segment you leave out means "random" for that setting.

{% hint style="warning" %}
Residential Per GB usernames must end with `-type-residential`.
{% endhint %}

{% hint style="info" %}
To get your user ID and exact city and ISP values, set them on an access point in the dashboard and copy the username it produces from **Proxy Details**.
{% endhint %}

IP whitelist access points authenticate by your public IP, so they don't use a username or password.

***

## Examples

<figure><img src="https://3163533074-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiAQa47xivOtQQ7mQZOnQ%2Fuploads%2FXWVVW1FyghRRn19sf6Ns%2F09-per-gb-username.jpg?alt=media&#x26;token=3c7ead76-b501-4887-b398-79c47b19fa8f" alt=""><figcaption></figcaption></figure>

In these examples, `USERID_myproject` is a named access point's base username and `PASSWORD` is that access point's password.

For the **Default** access point, use your user ID on its own instead.

{% tabs %}
{% tab title="Mobile Per GB" %}
{% code title="Any U.S. location, new IP on every request" %}

```bash
curl -x "http://USERID_myproject-co-US:PASSWORD@pg.proxi.es:20000" https://ipv4.icanhazip.com
```

{% endcode %}

{% code title="California, sticky session" %}

```bash
curl -x "http://USERID_myproject-s-job42-co-US-st-California:PASSWORD@pg.proxi.es:20000" https://ipv4.icanhazip.com
```

{% endcode %}
{% endtab %}

{% tab title="Residential Per GB" %}
{% code title="France, new IP on every request" %}

```bash
curl -x "http://USERID_myproject-co-FR-type-residential:PASSWORD@pg.proxi.es:20000" https://ipv4.icanhazip.com
```

{% endcode %}

{% code title="Texas, sticky session, over SOCKS5" %}

```bash
curl -x "socks5h://USERID_myproject-s-job42-co-US-st-Texas-type-residential:PASSWORD@pg.proxi.es:20002" https://ipv4.icanhazip.com
```

{% endcode %}
{% endtab %}
{% endtabs %}

***

## Sticky sessions

The value after `-s-` is your session name, such as `job42`.

{% hint style="info" %}
A session name can use ASCII letters (`A` to `Z`, `a` to `z`) and digits (`0` to `9`) only, up to 256 characters.

Hyphens, underscores, spaces and other symbols are not valid in a session name.
{% endhint %}

Requests that reuse the same session name keep the same IP for as long as the session holds, typically about 1 to 3 hours on Residential and 1 to 4 hours on Mobile, depending on the ISP.

Change the session name to get a different IP from the pool, which is how you build large lists of sticky proxies in a script.

To build a list in the dashboard instead, use the [Per GB Session Builder](/per-gb-proxies/pergb-session-builder.md).

***

## Quick FAQ

<details>

<summary>Why does Residential need -type-residential?</summary>

Mobile Per GB and Residential Per GB share the same host and ports, so the segment tells the gateway to use the residential pool. Mobile Per GB usernames do not include it.

</details>

<details>

<summary>Can I target a state outside the United States?</summary>

Yes.

On Residential Per GB, you can target a state or region in any country, such as `-co-DE-st-Bavaria`, or a city.

</details>

***

## Related articles

* [Mobile Per GB](/per-gb-proxies/mobile-pergb.md)
* [Residential Per GB](/per-gb-proxies/residential-pergb.md)
* [Per GB Access Points](/per-gb-proxies/per-gb-access-points.md)
* [Per GB Session Builder](/per-gb-proxies/pergb-session-builder.md)
* [Limits and Specs](/reference/limits-and-specs.md)

***

## <mark style="color:$primary;">Need help?</mark>

If you have any questions, concerns, or need further clarification, feel free to reach out to us via live chat or email us directly at <support@proxidize.com>.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.proxidize.com/per-gb-proxies/per-gb-connection-details-and-username-format.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
