# PUBLIC API

## Welcome to RenlaerAPI

Welcome to RenlaerAPI! Here you'll find all the documentation you need to get up and running with the Renlaer API.

## Want to jump right in?

Feeling like an eager beaver? Jump in to the quick start docs and get making your first request:

{% content-ref url="/pages/wZvKb4SFJyF2iKwTCNQR" %}
[Authentication](/authentication)
{% endcontent-ref %}

## Want to deep dive?

Dive a little deeper and start exploring our API reference to get an idea of everything that's possible with the API:

{% content-ref url="/pages/O38X25i04ixb6clSq0gb" %}
[API Reference](/reference/api-reference)
{% endcontent-ref %}


# Authentication

Get UserId and Token

Your API requests are authenticated using API keys. Any request that doesn't include an API key will return an error.

Get UserId and Token from dashboard to authenticate to public API

<figure><img src="/files/3OkHanULCh2bPwe6ofro" alt=""><figcaption></figcaption></figure>


# API Reference

Please refer to this documentation in OpenAPI format to manage proxy users via Public API. The API allows you to create, delete, and modify proxy users, set their limits, see current usage, and disable and enable them.


# Get subscriptions

Detailed information about your current subscription

## Detailed information about your current subscription

<mark style="color:green;">`POST`</mark> `https://api.renlaer.com/V1/OpenApi/OpenApiGetPlanInfo`

#### Headers

| Name                                           | Type   | Description                       |
| ---------------------------------------------- | ------ | --------------------------------- |
| UserId<mark style="color:red;">\*</mark>       | String | "Authentication" generated userId |
| Token<mark style="color:red;">\*</mark>        | String | "Authentication" generated token  |
| Content-Type<mark style="color:red;">\*</mark> | String | application/json                  |

{% tabs %}
{% tab title="200: OK "Code":1000,"Message":"Successful"" %}

```json
{
    "Code": 1000,
    "Message": "Successful",
    "Data": {
        "PlanName": "Starter",
        "PlanTrafficGb": 10.00,
        "TrafficGb": 10.00000,
        "ExpirationDate": "2023-08-25T07:03:21",
        "Expired": false,
        "Price": 80.00,
        "PricePerGB": 8.00,
        "PlanType": 3,
        "PlanresidueTrafficGb": 10.00000
    }
}
```

{% endtab %}
{% endtabs %}


# Get channels

Get a list of active sub channels

## Get a list of active sub channels

<mark style="color:green;">`POST`</mark> `https://api.renlaer.com/V1/OpenApi/OpenApiGetChannelList`

#### Headers

| Name                                           | Type   | Description                       |
| ---------------------------------------------- | ------ | --------------------------------- |
| UserId<mark style="color:red;">\*</mark>       | String | "Authentication" generated userId |
| Token<mark style="color:red;">\*</mark>        | String | "Authentication" generated token  |
| Content-Type<mark style="color:red;">\*</mark> | String | application/json                  |

#### Request Body

| Name      | Type    | Description                     |
| --------- | ------- | ------------------------------- |
| ChannelId | Integer | Fill in 0 to query all channels |

{% tabs %}
{% tab title="200: OK "Code":1000,"Message":"Successful"" %}

```json
{
    "Code": 1000,
    "Message": "Successful",
    "Data": [
        {
            "ChannelId": 6,
            "RenlaerChannelStatus": 2,
            "ChannelName": "name",
            "ChannelPassword": password",
            "UseTrafficGb": 3.14,
            "LimieTrafficGb": 2.00,
            "CreateTime": "2023-06-13T10:08:41"
        }
    ]
}
```

{% endtab %}
{% endtabs %}


# Get channel traffic

Get traffic usage of specified channel

## Get traffic usage of specified channel

<mark style="color:green;">`POST`</mark> `https://api.renlaer.com/V1/OpenApi/OpenApiGetUseTraffic`

#### Headers

| Name                                           | Type   | Description                       |
| ---------------------------------------------- | ------ | --------------------------------- |
| UserId<mark style="color:red;">\*</mark>       | String | "Authentication" generated userId |
| Token<mark style="color:red;">\*</mark>        | String | "Authentication" generated token  |
| Content-Type<mark style="color:red;">\*</mark> | String | application/json                  |

#### Request Body

| Name                                       | Type    | Description                                                                                                                                                                                                                                                         |
| ------------------------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ChannelId                                  | Integer | If not filled, query the traffic used by all channels.                                                                                                                                                                                                              |
| DateType<mark style="color:red;">\*</mark> | String  | Available parameters: 1=today 2=last 7 days 3=last 30 days 4=custom. If custom type is selected you can provide StartTime and EndTime parameters or leave them empty and then they will have default values, sub-user creation date, and current date respectively. |
| StartTime                                  | date    | Use date format yyyy-mm-dd                                                                                                                                                                                                                                          |
| EndTime                                    | date    | Use date format yyyy-mm-dd                                                                                                                                                                                                                                          |

{% tabs %}
{% tab title="200: OK "Code":1000,"Message":"Successful"" %}

```json
{
    "Code": 1000,
    "Message": "Successful",
    "Data": {
        "Items": [
            {
                "ChannelId": 8,
                "UseTraffic": 0.00000,
                "UseTime": "2023-07-29T00:00:00"
            }
        ],
        "UseTrafficGb": {
            "TotalTrafficGb": 0.00000
        }
    }
}

```

{% endtab %}
{% endtabs %}


# Create channel

Create a new sub channel

## Create a new sub channel

<mark style="color:green;">`POST`</mark> `https://api.renlaer.com/V1/OpenApi/OpenApiCreateChannel`

#### Headers

| Name                                           | Type   | Description                       |
| ---------------------------------------------- | ------ | --------------------------------- |
| UserId<mark style="color:red;">\*</mark>       | String | "Authentication" generated userId |
| Token<mark style="color:red;">\*</mark>        | String | "Authentication" generated token  |
| Content-Type<mark style="color:red;">\*</mark> | String | application/json                  |

#### Request Body

| Name                                          | Type    | Description                                                                             |
| --------------------------------------------- | ------- | --------------------------------------------------------------------------------------- |
| ChannelName<mark style="color:red;">\*</mark> | String  |                                                                                         |
| ChannelLimitTrafficGb                         | Integer | Available flow values. If not filled or filled with 0, the traffic used is not limited. |

{% tabs %}
{% tab title="200: OK "Code":1000,"Message":"Successful"" %}

```json
{
    "Code": 1000,
    "Message": "Successful",
    "Data": {
        "ChannelId": id,
        "ChannelStatus": 1,
        "ChannelName": "name",
        "ChannelPassword": "password",
        "UsedTraffic": 0.0,
        "ChannelLimitTrafficGb": 0.0,
        "CreateTime": "2023-07-29T02:58:17.4265414+00:00"
    }
}
```

{% endtab %}
{% endtabs %}


# Update channel

Update password or traffic limit of specified sub channel

## Update password or traffic limit of specified sub channel

<mark style="color:green;">`POST`</mark> `https://api.renlaer.com/V1/OpenApi/OpenApiEditChannel`

#### Headers

| Name                                           | Type   | Description                       |
| ---------------------------------------------- | ------ | --------------------------------- |
| UserId<mark style="color:red;">\*</mark>       | String | "Authentication" generated userId |
| Token<mark style="color:red;">\*</mark>        | String | "Authentication" generated token  |
| Content-Type<mark style="color:red;">\*</mark> | String | application/json                  |

#### Request Body

| Name                                        | Type    | Description                                                          |
| ------------------------------------------- | ------- | -------------------------------------------------------------------- |
| ChannelId<mark style="color:red;">\*</mark> | Integer |                                                                      |
| ChannelName                                 | String  |                                                                      |
| ChannelLimitTrafficGb                       | Integer |                                                                      |
| Enable                                      | Boolean | true=open channel，false=close channel                                |
| ChannelPassword                             | String  | Password must be 6 characters, a combination of numbers and letters. |

{% tabs %}
{% tab title="200: OK "Code":1000,"Message":"Successful"" %}

```json
{
    "Code": 1000,
    "Message": "Successful",
    "Data": true
}
```

{% endtab %}
{% endtabs %}


# Proxy generation

Generate endpoints you want from any country,state and city

## Generate endpoints you want from any country,state and city

<mark style="color:green;">`POST`</mark> `https://api.renlaer.com/V1/OpenApi/OpenApiGenerateCustomEndpoints`

#### Headers

| Name                                           | Type   | Description                       |
| ---------------------------------------------- | ------ | --------------------------------- |
| UserId<mark style="color:red;">\*</mark>       | String | "Authentication" generated userId |
| Token<mark style="color:red;">\*</mark>        | String | "Authentication" generated token  |
| Content-Type<mark style="color:red;">\*</mark> | String | application/json                  |

#### Request Body

| Name                                                | Type    | Description                                                                                                                                                                                          |
| --------------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ChannelId<mark style="color:red;">\*</mark>         | Integer |                                                                                                                                                                                                      |
| Location<mark style="color:red;">\*</mark>          | String  | Capitalized country alpha-2 code, continental random, or global random.[view all available countries](/location-settings/state-and-city)[,states and cities.](/location-settings/state-and-city)     |
| StickySessionTime<mark style="color:red;">\*</mark> | Integer | <p>Session time in minutes, available values:<code>5，10，15，30，60，90.</code></p><p>Fill in <mark style="color:red;"><code>0</code></mark> , which means that a new IP is changed for each request</p> |
| Count<mark style="color:red;">\*</mark>             | Integer | Count of routes that will be generated and returned. Min value is 1, max value depends on param page and specific location.                                                                          |
| Domain<mark style="color:red;">\*</mark>            | String  | <p>Default is <code>Global</code>.</p><p>This means you can use it anywhere in the world, at the fastest speed.</p>                                                                                  |
| State                                               | String  | [View allavailable countries,states and cities.](/location-settings/state-and-city)                                                                                                                  |
| City                                                | String  | [View allavailable countries,states and cities.](/location-settings/state-and-city)                                                                                                                  |

{% tabs %}
{% tab title="200: OK "Code":1000,"Message":"Successful"" %}

```json
{
    "Code": 1000,
    "Message": "Successful",
    "Data": [
        accessdomain:port:customer_US_032_0226_5_ss-SoPzCGvB:password"
    ]
}
```

{% endtab %}
{% endtabs %}


# Update proxy

Update your proxies

## Update proxy

<mark style="color:blue;">`GET`</mark> `https://api.renlaer.com/V1/OpenApi/OpenApiUpdateProxy`

#### Query Parameters

| Name                                       | Type   | Description |
| ------------------------------------------ | ------ | ----------- |
| username<mark style="color:red;">\*</mark> | String | username    |

#### Headers

| Name                                           | Type   | Description                       |
| ---------------------------------------------- | ------ | --------------------------------- |
| UserId<mark style="color:red;">\*</mark>       | String | "Authentication" generated userId |
| Token<mark style="color:red;">\*</mark>        | String | "Authentication" generated token  |
| Content-Type<mark style="color:red;">\*</mark> | String | application/json                  |

{% tabs %}
{% tab title="200: OK "Code":1000,"Message":"Successful"" %}

```json
{
    "Code": 1000,
    "Message": "Successful",
    "Data": true
}
```

{% endtab %}
{% endtabs %}


# Location Settings

Renlaer Residential proxy network covers 190 locations and offers country, city, and state-level geo-location targeting.

You can find more information on selecting country, city or state parameters in the pages listed below:

{% content-ref url="/pages/7MCIq7mhcOLYQhioZhuH" %}
[Country](/location-settings/country)
{% endcontent-ref %}

{% content-ref url="/pages/yGAIGHWKiTZS8JarkFQe" %}
[State and City](/location-settings/state-and-city)
{% endcontent-ref %}


# Country

Residential Proxies Country

You can choose <mark style="color:blue;">global random</mark>, <mark style="color:blue;">continent random</mark>, <mark style="color:blue;">specified country</mark>：

{% file src="/files/an8V8SDy63LY5zV9qQUh" %}

<table><thead><tr><th width="414">Optional location</th><th width="271">Location code</th></tr></thead><tbody><tr><td>Global random</td><td>Global</td></tr><tr><td>North American random</td><td>NA</td></tr><tr><td>South american random</td><td>SA</td></tr><tr><td>European random</td><td>EU</td></tr><tr><td>Asian random</td><td>AS</td></tr><tr><td>Oceania Random</td><td>OA</td></tr><tr><td>African random</td><td>AF</td></tr><tr><td>United States</td><td>US</td></tr><tr><td>Canada</td><td>CA</td></tr><tr><td>Mexico</td><td>MX</td></tr><tr><td>Dominica</td><td>DO</td></tr><tr><td>Panama</td><td>PA</td></tr><tr><td>Jamaica</td><td>JM</td></tr><tr><td>El Salvador</td><td>SV</td></tr><tr><td>Puerto rico</td><td>PR</td></tr><tr><td>Guatemala</td><td>GT</td></tr><tr><td>Honduras</td><td>HN</td></tr><tr><td>Costa rica</td><td>CR</td></tr><tr><td>Trinidad and Tobago</td><td>TT</td></tr><tr><td>Barbados</td><td>BB</td></tr><tr><td>Nicaragua</td><td>NI</td></tr><tr><td>Curacao</td><td>CW</td></tr><tr><td>Bahamas</td><td>BS</td></tr><tr><td>Guadeloupe</td><td>GP</td></tr><tr><td>Martinique</td><td>MQ</td></tr><tr><td>Saint lucia</td><td>LC</td></tr><tr><td>Saint martin</td><td>SX</td></tr><tr><td>Antigua and Barbuda</td><td>AG</td></tr><tr><td>Grenada</td><td>GD</td></tr><tr><td>Bermuda</td><td>BM</td></tr><tr><td>Dominica</td><td>DM</td></tr><tr><td>Saint Vincent and the Grenadines</td><td>VC</td></tr><tr><td>Aruba</td><td>AW</td></tr><tr><td>Turks and Caicos Islands</td><td>TC</td></tr><tr><td>The British Virgin Islands</td><td>VG</td></tr><tr><td>St. Maarten</td><td>MF</td></tr><tr><td>Saint Kitts and Nevis</td><td>KN</td></tr><tr><td>Bonaire</td><td>BQ</td></tr><tr><td>Anguilla</td><td>AI</td></tr><tr><td>Belize</td><td>BZ</td></tr><tr><td>Cayman Islands</td><td>KY</td></tr><tr><td>Haiti</td><td>HT</td></tr><tr><td>Greenland</td><td>GL</td></tr><tr><td>United States Virgin Islands</td><td>VI</td></tr><tr><td>Brazil</td><td>BR</td></tr><tr><td>Argentina</td><td>AR</td></tr><tr><td>Bolivia</td><td>BO</td></tr><tr><td>Ecuador</td><td>EC</td></tr><tr><td>Colombia</td><td>CO</td></tr><tr><td>Uruguay</td><td>UY</td></tr><tr><td>Chile</td><td>CL</td></tr><tr><td>Venezuela</td><td>VE</td></tr><tr><td>Peru</td><td>PE</td></tr><tr><td>Paraguay</td><td>PY</td></tr><tr><td>Guyana</td><td>GY</td></tr><tr><td>French Guiana</td><td>GF</td></tr><tr><td>Suriname</td><td>SR</td></tr><tr><td>Spain</td><td>ES</td></tr><tr><td>France</td><td>FR</td></tr><tr><td>Russia</td><td>RU</td></tr><tr><td>Italy</td><td>IT</td></tr><tr><td>Germany</td><td>DE</td></tr><tr><td>United Kingdom</td><td>GB</td></tr><tr><td>Ukraine</td><td>UA</td></tr><tr><td>Serbia</td><td>RS</td></tr><tr><td>Portugal</td><td>PT</td></tr><tr><td>Belgium</td><td>BE</td></tr><tr><td>Netherlands</td><td>NL</td></tr><tr><td>Albania</td><td>AL</td></tr><tr><td>Ireland</td><td>IE</td></tr><tr><td>Greece</td><td>GR</td></tr><tr><td>Bosnia and Herzegovina</td><td>BA</td></tr><tr><td>Belarus</td><td>BY</td></tr><tr><td>Austria</td><td>AT</td></tr><tr><td>Czech republic</td><td>CZ</td></tr><tr><td>Poland</td><td>PL</td></tr><tr><td>Switzerland</td><td>CH</td></tr><tr><td>Latvia</td><td>LV</td></tr><tr><td>Former yurt macedonia</td><td>MK</td></tr><tr><td>Hungary</td><td>HU</td></tr><tr><td>Lithuania</td><td>LT</td></tr><tr><td>Bulgaria</td><td>BG</td></tr><tr><td>Moldova</td><td>MD</td></tr><tr><td>Sweden</td><td>SE</td></tr><tr><td>Croatia</td><td>HR</td></tr><tr><td>Romania</td><td>RO</td></tr><tr><td>Slovakia</td><td>SK</td></tr><tr><td>Estonia</td><td>EE</td></tr><tr><td>Slovenia</td><td>SI</td></tr><tr><td>Luxembourg</td><td>LU</td></tr><tr><td>Denmark</td><td>DK</td></tr><tr><td>Malta</td><td>MT</td></tr><tr><td>Norway</td><td>NO</td></tr><tr><td>Finland</td><td>FI</td></tr><tr><td>Montenegro</td><td>ME</td></tr><tr><td>Iceland</td><td>IS</td></tr><tr><td>Andorra</td><td>AD</td></tr><tr><td>Jersey</td><td>JE</td></tr><tr><td>Guernsey</td><td>GG</td></tr><tr><td>San marino</td><td>SM</td></tr><tr><td>Isle of Man</td><td>IM</td></tr><tr><td>Gibraltar</td><td>GI</td></tr><tr><td>Monaco</td><td>MC</td></tr><tr><td>Liechtenstein</td><td>LI</td></tr><tr><td>Philippines</td><td>PH</td></tr><tr><td>Indonesia</td><td>ID</td></tr><tr><td>Malaysia</td><td>MY</td></tr><tr><td>Bangladesh</td><td>BD</td></tr><tr><td>India</td><td>IN</td></tr><tr><td>Vietnam</td><td>VN</td></tr><tr><td>Turkey</td><td>TR</td></tr><tr><td>UAE</td><td>AE</td></tr><tr><td>Pakistan</td><td>PK</td></tr><tr><td>Iraq</td><td>IQ</td></tr><tr><td>Israel</td><td>IL</td></tr><tr><td>Kazakhstan</td><td>KZ</td></tr><tr><td>Thailand</td><td>TH</td></tr><tr><td>Singapore</td><td>SG</td></tr><tr><td>Uzbekistan</td><td>UZ</td></tr><tr><td>Bahrain</td><td>BH</td></tr><tr><td>Lebanon</td><td>LB</td></tr><tr><td>South Korea</td><td>KR</td></tr><tr><td>Nepal</td><td>NP</td></tr><tr><td>Palestine</td><td>PS</td></tr><tr><td>Oman</td><td>OM</td></tr><tr><td>Jordan</td><td>JO</td></tr><tr><td>Myanmar</td><td>MM</td></tr><tr><td>Kuwait</td><td>KW</td></tr><tr><td>Japan</td><td>JP</td></tr><tr><td>Armenia</td><td>AM</td></tr><tr><td>Syria</td><td>SY</td></tr><tr><td>Azerbaijan</td><td>AZ</td></tr><tr><td>Cambodia</td><td>KH</td></tr><tr><td>Georgia</td><td>GE</td></tr><tr><td>Cyprus</td><td>CY</td></tr><tr><td>Kyrgyzstan</td><td>KG</td></tr><tr><td>Qatar</td><td>QA</td></tr><tr><td>Mongolia</td><td>MN</td></tr><tr><td>Brunei</td><td>BN</td></tr><tr><td>Iran</td><td>IR</td></tr><tr><td>Maldives</td><td>MV</td></tr><tr><td>Sri Lanka</td><td>LK</td></tr><tr><td>Tajikistan</td><td>TJ</td></tr><tr><td>Laos</td><td>LA</td></tr><tr><td>Bhutan</td><td>BT</td></tr><tr><td>Yemen</td><td>YE</td></tr><tr><td>Australia</td><td>AU</td></tr><tr><td>New Zealand</td><td>NZ</td></tr><tr><td>Guam</td><td>GU</td></tr><tr><td>Fiji</td><td>FJ</td></tr><tr><td>New caledonia</td><td>NC</td></tr><tr><td>French Polynesia</td><td>PF</td></tr><tr><td>Tonga</td><td>TO</td></tr><tr><td>Norfolk island</td><td>NF</td></tr><tr><td>Northern mariana</td><td>MP</td></tr><tr><td>Wallis and futuna</td><td>WF</td></tr><tr><td>South Africa</td><td>ZA</td></tr><tr><td>Morocco</td><td>MA</td></tr><tr><td>Tunisia</td><td>TN</td></tr><tr><td>Egypt</td><td>EG</td></tr><tr><td>Kenya</td><td>KE</td></tr><tr><td>Algeria</td><td>DZ</td></tr><tr><td>Senegal</td><td>SN</td></tr><tr><td>Cote d'Ivoire</td><td>CI</td></tr><tr><td>Republic of Congo)</td><td>CG</td></tr><tr><td>Mali</td><td>ML</td></tr><tr><td>Togo</td><td>TG</td></tr><tr><td>Mauritius</td><td>MU</td></tr><tr><td>Nigeria</td><td>NG</td></tr><tr><td>Gabon</td><td>GA</td></tr><tr><td>Angola</td><td>AO</td></tr><tr><td>Reunion</td><td>RE</td></tr><tr><td>Burkina Faso</td><td>BF</td></tr><tr><td>Libya</td><td>LY</td></tr><tr><td>Ghana</td><td>GH</td></tr><tr><td>Ethiopia</td><td>ET</td></tr><tr><td>Cameroon</td><td>CM</td></tr><tr><td>Madagascar</td><td>MG</td></tr><tr><td>Rwanda</td><td>RW</td></tr><tr><td>Cape verde</td><td>CV</td></tr><tr><td>Botswana</td><td>BW</td></tr><tr><td>Uganda</td><td>UG</td></tr><tr><td>Mozambique</td><td>MZ</td></tr><tr><td>Somalia</td><td>SO</td></tr><tr><td>Zambia</td><td>ZM</td></tr><tr><td>Sao tome and principe</td><td>ST</td></tr><tr><td>Mauritania</td><td>MR</td></tr><tr><td>Equatorial Guinea</td><td>GQ</td></tr><tr><td>Congo (Kinshasa)</td><td>CD</td></tr><tr><td>Tanzania</td><td>TZ</td></tr><tr><td>Guinea</td><td>GN</td></tr><tr><td>Zimbabwe</td><td>ZW</td></tr><tr><td>Benin</td><td>BJ</td></tr><tr><td>Seychelles</td><td>SC</td></tr><tr><td>Sierra Leone</td><td>SL</td></tr><tr><td>Djibouti</td><td>DJ</td></tr><tr><td>Mayotte</td><td>YT</td></tr><tr><td>Lesotho</td><td>LS</td></tr><tr><td>Sudan</td><td>SD</td></tr><tr><td>Gambia</td><td>GM</td></tr><tr><td>Liberia</td><td>LR</td></tr><tr><td>Guinea Bissau</td><td>GW</td></tr><tr><td>Malawi</td><td>MW</td></tr><tr><td>Chad</td><td>TD</td></tr></tbody></table>


# State and City

Residential Proxies Country，State，City

You can choose to <mark style="color:blue;">specify state, city targeting</mark>：

{% file src="/files/FqfMg5rCRTYqsxazVHsu" %}


