> For the complete documentation index, see [llms.txt](https://docs.9proxy.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.9proxy.com/getting-started/residential-proxy-by-gb/making-requests.md).

# Making Requests

Our Residential Proxies support flexible IP targeting, random or sticky sessions, and custom ISP filtering - all controlled through a structured username. Once you understand the format, you can easily generate powerful, targeted proxy sessions without needing extra setup.

## 1. Proxy Access Components

You’ll need:

* **Hostname**: Fixed - provided in your dashboard
* **Port**: Fixed - provided in your dashboard
* **Username**: Structured with targeting options (see below)
* **Password**: Your sub-user password

<figure><img src="/files/kwaIOZauk8QDLcNNCNPt" alt=""><figcaption></figcaption></figure>

**Example:**

* **Username**: subaccount-country-us-sst-15-ssid-device1
* **Password**: your\_password
* **Proxy**: your\_proxy\_host:your\_port

### 1.1. Username Structure

All targeting and session options are embedded in your username using this general format:

\<sub-user’s username>-country-\<country\_code>-st-\<state\_code>-city-\<city\_name>-isp-\<isp\_code>-sst-\<session\_time>-ssid-\<session\_id>

<figure><img src="/files/XhEY01REaNOuujW5QXxG" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
**Note**: Not all parameters are required. You can mix and match the parameters depending on your use case - whether you're using rotating IPs, sticky sessions, or both. See use cases below.
{% endhint %}

<table><thead><tr><th width="184.5555419921875">Segment</th><th width="263.5555419921875">Example Value</th><th>Explanation</th></tr></thead><tbody><tr><td><strong>Sub-user’s username</strong></td><td>9proxy</td><td>Your unique sub-account name. This is used to identify your proxy session and is issued in your account dashboard.</td></tr><tr><td><strong>country</strong></td><td>country-us</td><td>Specifies the target country using a two-letter country code. In this example, traffic is routed through the United States.</td></tr><tr><td><strong>st</strong></td><td>st-ohio</td><td>(Optional) Adds a filter by state or region. Helps narrow IP selection to a specific area within the country.</td></tr><tr><td><strong>city</strong></td><td>city-newyork</td><td>(Optional) Adds city-level targeting to improve geo-accuracy. Use underscores for cities with spaces.</td></tr><tr><td><strong>isp</strong></td><td>isp-as22773_Cox_Communications_Inc.</td><td>(Optional) Filters IPs based on ISP name or ASN. Useful for advanced fingerprint matching or ISP-specific use cases.</td></tr><tr><td><strong>sst</strong></td><td>sst-15</td><td>Required for sticky sessions. Sets how long (in minutes) the IP stays fixed before rotating (e.g. 15 minutes).</td></tr><tr><td><strong>ssid</strong></td><td>ssid-ID1</td><td>(Optional, but recommended for parallel use) Defines a unique session ID to allow multiple sticky IPs from the same config.</td></tr></tbody></table>

### 1.2. Modes of Operation

#### 1.2.1. Rotating IP Mode (Random)

Each request gets a fresh IP. You don’t need to specify sst or ssid.

Use When: Speed is more important than continuity — e.g., scraping, price monitoring.

{% hint style="success" %}

## Example

\# Basic US IP, no stickiness

subaccount-country-us

<br>

\# Rotating IP from New York, US

subaccount-country-us-city-newyork

<br>

\# Rotating IP with ISP filtering

subaccount-isp-as22773\_Cox\_Communications\_Inc.
{% endhint %}

{% hint style="success" %}
**Tip**: For fastest response, target only by country. Adding city/state/ISP narrows the IP pool. Avoid over-filtering with state + city + isp unless necessary - this can limit IP availability.
{% endhint %}

#### 1.2.2. Sticky IP Mode

Keeps the same IP for a session of sst minutes. Optional ssid lets you create multiple sticky IPs from the same configuration.

Use When: You need IP persistence — e.g., logging into accounts, managing sessions, or running bots.

Required:

* sst: Session duration (in minutes)
* Optional: ssid: Unique session ID to get multiple IPs under same config

{% hint style="success" %}

## Example

\# US IP held for 15 minutes

subaccount-country-us-sst-15

<br>

\# Hanoi IP, sticky for 20 mins

subaccount-country-vn-city-hanoi-sst-20

<br>

\# Parallel sticky sessions from same config

subaccount-country-us-sst-15-ssid-id1

subaccount-country-us-sst-15-ssid-id2

<br>
{% endhint %}

Each unique ssid gives you a different IP, even if other parameters are the same.

## 2. Sample cURL Request

```
// example

curl -x yourproxyhost:yourport \
     -U "subuser-country-us-sst-15-ssid-bot01:yourpassword" \
     https://ipinfo.io

```

## 3. Choose the Right Setup

<table><thead><tr><th width="271.666748046875">Use Case</th><th>Required Fields</th><th>Notes</th></tr></thead><tbody><tr><td><strong>Fastest random IPs</strong></td><td>country</td><td>No sst, no ssid</td></tr><tr><td><strong>Geolocated rotating IPs</strong></td><td>country, city/isp</td><td>Optional state, city, isp</td></tr><tr><td><strong>Sticky sessions (single device)</strong></td><td>country, sst</td><td>Keeps IP fixed during session time</td></tr><tr><td><strong>Sticky across devices/apps</strong></td><td>country, sst, ssid</td><td>Use different ssid per instance</td></tr></tbody></table>

{% columns %}
{% column %}

#### Support Channels:

{% endcolumn %}

{% column %}

* **Email**: <support@9proxy.com>
* **Live Chat**: Available on[ 9proxy.com](https://9proxy.com)
* **Telegram**: @Official9Proxy
  {% endcolumn %}
  {% endcolumns %}


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.9proxy.com/getting-started/residential-proxy-by-gb/making-requests.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
