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

# Quick start

Send your first proxied request in 5 minutes.

## 1. Get credentials

1. Sign in to the [dashboard](https://dashboard.helodata.com).
2. Open **Residential → Sub-users** and click **Create sub-user**.
3. Copy the sub-user name (e.g. `s1a2b3c4d5e`) and password.

The full proxy username you'll use in requests follows the [helodata username grammar](/getting-started/username-format.md). For this Quick start, the username is:

```
helo_s1a2b3c4d5e-type-res-region-us
```

Replace `s1a2b3c4d5e` with your actual sub-user name and `PASSWORD` with your password in the examples below.

## 2. Send a request

### curl

```bash
curl -x http://helo_s1a2b3c4d5e-type-res-region-us:PASSWORD@gate.helodata.io:7777 \
     https://ipv4.icanhazip.com
```

You should see an IP that is **not** your own — it's a US residential exit node.

### Python (requests)

```python
import requests

USER = "helo_s1a2b3c4d5e-type-res-region-us"
PASS = "PASSWORD"
proxy = f"http://{USER}:{PASS}@gate.helodata.io:7777"

r = requests.get(
    "https://ipv4.icanhazip.com",
    proxies={"http": proxy, "https": proxy},
    timeout=30,
)
print(r.text.strip())
```

### Node.js (fetch + undici)

```js
import { fetch, ProxyAgent } from "undici";

const user = "helo_s1a2b3c4d5e-type-res-region-us";
const pass = "PASSWORD";
const agent = new ProxyAgent(`http://${user}:${pass}@gate.helodata.io:7777`);

const res = await fetch("https://ipv4.icanhazip.com", { dispatcher: agent });
console.log((await res.text()).trim());
```

### Go (net/http)

```go
package main

import (
    "fmt"
    "io"
    "net/http"
    "net/url"
    "time"
)

func main() {
    proxyURL, _ := url.Parse("http://helo_s1a2b3c4d5e-type-res-region-us:PASSWORD@gate.helodata.io:7777")
    client := &http.Client{
        Transport: &http.Transport{Proxy: http.ProxyURL(proxyURL)},
        Timeout:   30 * time.Second,
    }
    resp, err := client.Get("https://ipv4.icanhazip.com")
    if err != nil { panic(err) }
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}
```

### PHP (cURL)

```php
<?php
$ch = curl_init('https://ipv4.icanhazip.com');
curl_setopt_array($ch, [
    CURLOPT_PROXY          => 'http://gate.helodata.io:7777',
    CURLOPT_PROXYUSERPWD   => 'helo_s1a2b3c4d5e-type-res-region-us:PASSWORD',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 30,
]);
echo trim(curl_exec($ch));
curl_close($ch);
```

## 3. Target a different country

Change the `region` segment of the username to an ISO-3166 country code:

```bash
curl -x http://helo_s1a2b3c4d5e-type-res-region-de:PASSWORD@gate.helodata.io:7777 \
     https://ipv4.icanhazip.com
```

The response IP now geolocates to Germany. Full list of geo modifiers in [Locations](/products/overview/locations.md).

## 4. Reuse the same IP

Add `-session-XXX-sesstime-N` to keep the same exit IP for N minutes:

```bash
curl -x http://helo_s1a2b3c4d5e-type-res-region-de-session-abc123-sesstime-30:PASSWORD@gate.helodata.io:7777 \
     https://ipv4.icanhazip.com
```

Run twice — both responses should be the same IP.

## 5. Try a different product

For **Mobile proxies**, swap the `type` segment to `mob`:

```bash
curl -x http://helo_s1a2b3c4d5e-type-mob-region-jp-asn-2516:PASSWORD@gate.helodata.io:7777 \
     https://ipv4.icanhazip.com
```

(That example pins KDDI in Japan via ASN 2516.)

For **ISP proxies**, there is no gateway and no username grammar. After purchase, the dashboard gives you a list of static IPs in `ip:port:user:pass` form. Each line is a standalone proxy:

```bash
curl -x http://helo_s1a2b3c4d5e:PASSWORD@198.51.100.42:8000 \
     https://ipv4.icanhazip.com
```

See [ISP Quick start](/products/overview-2/quick-start.md) for the full flow.

## What's next

* [Username format](/getting-started/username-format.md) — every segment, every option
* [Authentication](/products/overview/authentication.md) — switch from credentials to IP whitelist
* [Sessions & rotation](/products/overview/sessions-and-rotation.md) — sticky vs rotating strategies
* [Integrations](/integrations/integrations.md) — Selenium, Puppeteer, Scrapy, etc.
* [Troubleshooting](/troubleshooting/troubleshooting.md) — if your first request didn't work
