Skip to main content

Reseller API

Request format:

Send all parameters via Body → form-data. Requests with raw JSON bodies will be rejected/ignored.

Idempotency-Key Header​

Idempotency-Key:

Supported mutating endpoints accept the optional Idempotency-Key header to protect against duplicate requests.

  • Header: Idempotency-Key (string, maximum 128 characters, for example UUIDv4).
  • TTL: 24 hours.
  • Scope: isolated by the idempotency key, API type (isp / dc / scraper / main), and specific event.
  • Optional: if the header is not provided, the API works as before.
  • Read endpoints: (/info, /keys, /balance, etc.) ignore this header.
  • First request: a pending record is created, the operation is executed, then the completed status, HTTP status code, and response body are stored.
  • Successful replay (same key + same body): the stored response is returned with the Idempotent-Replayed: true response header.
  • Payload conflict (same key + different body): returns 409 Conflict.
  • Parallel request: if the first request is still pending for less than 15 minutes, returns 409 Conflict (already in progress).
Proxy type detection:

In response objects that contain proxy login details, the type field identifies the login type. Available values are proxylist and nolist. After creation, proxylist and nolist logins may take 1–2 minutes to become active.

Get Statistics​

Path:

https://api.infatica.io/stats

  • Method: GET
  • Summary: Get Statistics
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • The request will return the last invoice date, the total/used/left traffic

Example of success response:

{
"last_invoice_at": "YYYY-MM-DD HH:mm:ss",
"traffic_total": 2199023255552,
"traffic_used": "69802101",
"traffic_left": 2198953453451
}

Get online statistics​

Returns a list of all countries and the number of IPs available in each country. The data is updated every 5 minutes.

Path, Residential:

https://api.infatica.io/nodes-info

Path, Mobile:

https://api.infatica.io/mobile-nodes-info

Path, Datacenter:

https://api.infatica.io/dc-nodes-info

  • Method: GET
  • Summary: Get online of available proxies by country
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • The request will return the statistics of available proxies by countries

Example of success response:

{
"AD":20,"AE":1394,"AF":56,"AG":581
}

Get online and unique statistics​

Path:

https://api.infatica.io/online-info

  • Method: POST
  • Summary: Get online and unique statistics
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in body:
    • "country" - optional, two-letter uppercase country code according to ISO 3166-1.If the parameter is not provided, the selection will include all countries.
    • "type" - optional, the proxy type. By default, the method returns online status for residential proxies. Pass "mobile" to check mobile proxies, or "dc" to check datacenter proxies.
    • "period" - optional, "hour" or "day" – the period for which the data should be retrieved..
    • "interval" - optional, from 1 and above. The interval for which the data is required.

The parameters period and interval only work together. If they are not provided, the selection will default to 1 day.

  • Responses:
    • The request will return the online and unique statistics by countries

The data is updated every hour.

Example of success response:

[
{
"AF": {
"1 day": {
"online": 1817,
"unique": 286
}
}
},
{
"AL": {
"1 day": {
"online": 10148,
"unique": 928
}
}
}
]

Get a detailed list of all geos​

Returns a detailed list of all geos with ASN codes and shows the current number of IPs for each entry.

Path, Residential IPv4:

https://api.infatica.io/count-by-geo

Path, Mobile:

https://api.infatica.io/count-by-geo-mob

Path, Datacenter:

https://api.infatica.io/count-by-geo-dc

Path, Residential IPv6:

https://api.infatica.io/count-by-geo-v6

  • Method: GET
  • Summary: Get a detailed list of all geos with ASNs codes
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • The request returns the detailed list of all geos with ASNs codes for proxies.

Example of success response:

[
{
"country": "US",
"subdivision": "Florida",
"city": "Hollywood",
"isp": "AT&T Internet",
"asn": 7018,
"zip": "33020",
"nodes": 158
},
{
"country": "AR",
"subdivision": "Corrientes",
"city": "Corrientes",
"isp": "Corrientes Telecomunicaciones S.a.p.e.m.",
"asn": 270044,
"zip": "3400",
"nodes": 8
}
]

Get list of all available keys​

Path:

https://api.infatica.io/keys

  • Method: GET
  • Summary: Get list of all available keys for all packages
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • The query will return a list of all available keys for all packages

Example of success response:

{"description":"Keys found","results":["key_1","key_2","key_3","key_4","key_6","key_N"]}

Get subdivision codes​

Path:

https://api.infatica.io/subdivision-codes

  • Method: GET
  • Summary: Get subdivision codes
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • The request will return list of all available subdivision codes

Example of success response:

[
[
{
"subdivision": "'Asir Region",
"code": 1
},
{
"subdivision": "A'ana",
"code": 2
},
{
"subdivision": "Aargau",
"code": 3
},
{
"subdivision": "Abai Region",
"code": 4
}
]
]

Get ISP codes​

Path:

https://api.infatica.io/isp-codes

  • Method: GET
  • Summary: Get ISP codes
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • The request will return list of all available ISP codes

Example of success response:

[
[
{
"isp": "# 160,North Usman Road, Third Floor",
"code": 1
},
{
"isp": "# 203, Express tower",
"code": 2
},
{
"isp": "# 26, Bannerghatta Road, J. P. Nagar, Phase III",
"code": 3
},
{
"isp": "# 3BEo, Sangkat Beoun Prolit, Khan 7Makara, Phnom Penh.",
"code": 4
}
]
]

Get ZIP codes​

Path:

https://api.infatica.io/zip-codes

  • Method: POST
  • Summary: Get ZIP codes
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in body:
    • "country" - optional, two-letter uppercase country code according to ISO 3166-1.
  • Responses:
    • The request will return list of all available ZIP codes

Example of success response:

[
[
{
"zip": "730-0851",
"country": "JP",
"subdivision": "Hiroshima",
"city": "Hiroshima"
},
{
"zip": "690-2101",
"country": "JP",
"subdivision": "Shimane",
"city": "Matsue"
},
{
"zip": "750-0011",
"country": "JP",
"subdivision": "Yamaguchi",
"city": "Shimonoseki"
},
{
"zip": "693-0061",
"country": "JP",
"subdivision": "Shimane",
"city": "Izumo"
}
]
]

Get traffic usage of the package​

Path:

https://api.infatica.io/traffic-details

  • Method: POST
  • Summary: Get traffic consumption of the package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in body:
    • "key" - package key, required. Accepts a single package key or a comma-separated list of package keys. When multiple keys are provided, the request returns data for all specified packages in a single response. We recommend passing no more than 1000 keys per request;
    • "period" - period (daily, weekly, monthly, all), required;
  • Responses:
    • The request will return detailed information on traffic usage for the selected package for the selected period (daily - 24 hours, weekly - 7 days, monthly - 30 days, all - 59 days )
  • Response caching:
    • daily - no caching;
    • weekly - responses are cached for 5 minutes;
    • monthly - responses are cached for 1 hour;
    • all - responses are cached for 1 hour.
    • Repeated requests made within the cache period may return the same traffic usage data until the cache is refreshed.

Example of success response (weekly):

{
"login_name_1": {
"2024-04-03 03:00:00": 14661077,
"2024-04-03 04:00:00": 17455068
},
"login_name_2": {
"2024-04-03 03:00:00": 25661077,
"2024-04-03 04:00:00": 49455068
},
"login_name_N": {
"2024-04-03 03:00:00": 38661077,
"2024-04-03 04:00:00": 15455068
}
}

Get top targets for package​

Returns up to 20 target hosts accessed through the specified package, including the number of requests and traffic usage for each target.

Path:

https://api.infatica.io/package/{packagekey}/targets-details

  • Method: POST
  • Summary: Get top targets for package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Parameters in body:
    • "period" - Reporting period. Available values: daily, weekly, monthly, required;
    • "login" - Proxy list login. If provided, the response will include data only for the specified login, not required;
  • Responses:
    • The request returns up to 20 targets for the selected package and period;
    • "target" - Target hostname and port;
    • "requests" - Total number of requests to the target;
    • "traffic" - Traffic usage in bytes.

Example of success response:

[
{
"target": "google.com:443",
"requests": 3761,
"traffic": 872005824
},
{
"target": "amazon.com:443",
"requests": 12,
"traffic": 118637673
},
{
"target": "infatica.io:443",
"requests": 255,
"traffic": 32094539
}
]

Create log export for package​

Creates a request to export proxy request logs for the specified package. The request is placed in a processing queue.

Path:

https://api.infatica.io/package/{packagekey}/log-export-create

🔥 Log Export Processing:

Depending on the current queue, preparing the export may take a significant amount of time. You can configure a webhook notification to be notified when the export is ready.

Do not request unnecessarily large date ranges. A single export file is limited to approximately 100,000,000 rows. If the generated log contains more rows, all records exceeding this limit will be truncated.

Exported files are stored for 24 hours. Only one archive is retained for each package. When a new export request is created, the previous archive for that package is deleted.

  • Method: POST
  • Summary: Create log export for package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Parameters in body:
    • "start_date" - Start date and time of the requested period. Format: YYYY-MM-DD HH:mm:ss, required;
    • "end_date" - End date and time of the requested period. Format: YYYY-MM-DD HH:mm:ss, required;
  • Responses:
    • If the request is accepted, it will be added to the processing queue;
    • "export_id" - ID of the created export request.
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"success": true,
"export_id": 52
}

Get log export information for package​

Returns the status and download information for the latest log export created for the specified package.

Path:

https://api.infatica.io/package/{packagekey}/log-export-info

  • Method: GET
  • Summary: Get log export information for package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Responses:
    • While the export is still being prepared, its status will be returned as Pending;
    • When the export is completed, the response will include the export ID, status, download URL, and creation date;
    • "export_id" - ID of the export request;
    • "status" - Current export status;
    • "download_url" - URL for downloading the compressed log archive;
    • "created_at" - Date and time when the export request was created.

Example of success response:

{
"description": "Export records found",
"results": [
{
"export_id": 52,
"status": "completed",
"download_url": "https://arch.infatica.io/downloads/fileName.csv.gz",
"created_at": "2026-07-22 14:01:52"
}
]
}

Create new package​

Path:

https://api.infatica.io/package

Package Creation Time and Webhook Notifications:

The package is created in a queue order. Depending on the system load, the creation time of a new package may take from 2 seconds to one minute. There is a webhook available for precise notifications when the package is created.

  • Method: POST
  • Summary: Create new package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in body:
    • "expired_at" - Date and time the package ended. Format: 2021-01-01 23:59:59, no required;
    • "limit_traffic_common" - Common traffic limit in bytes, no required;
    • "limit_traffic_monthly" - Monhtly limit in bytes, no required;
    • "limit_traffic_weekly" - Weekly limit in bytes, no required;
    • "limit_traffic_daily" - Daily limit in bytes, no required;

Each traffic limit is applied only when its value is greater than 0.

  • Responses:
    • "200": description: "Package successfully added to queue"
    • "400": description: "Invalid parameters"
    • "403": description: "Empty or wrong api_key header or wrong package key"
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"description": "Package successfully added to queue",
"results": {
"package_key": "key123",
"created_at": "2025-09-29T10:56:47Z",
"expired_at": "2025-10-29T10:56:47Z",
"is_suspended": false,
"is_active": false,
"status": "Pending",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": false
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": []
}
}

Update package​

Path:

https://api.infatica.io/package/{packagekey}

  • Method: POST
  • Summary: Update package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Parameters in body:
    • "limit_traffic_common" - Common traffic limit in bytes, no required;
    • "limit_traffic_monthly" - Monhtly limit in bytes, no required;
    • "limit_traffic_weekly" - Weekly limit in bytes, no required;
    • "limit_traffic_daily" - Daily limit in bytes, no required;

Each traffic limit is applied only when its value is greater than 0.

  • Responses:
    • "200": description: "Package successfully updated"
    • "400": description: "Invalid parameters"
    • "403": description: "Empty or wrong api_key header or wrong package key"
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"description": "Package successfully updated",
"results": {
"package_key": "key123",
"created_at": "2025-09-29T10:56:47Z",
"expired_at": false,
"is_suspended": false,
"is_active": true,
"status": "Active",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 10000000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": []
}
}

Update proxy list password​

Path:

https://api.infatica.io/package/{packagekey}/pwd-regenerate

  • Method: POST
  • Summary: Update proxy list Password
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Parameters in body:
    • "id" - ID of proxy list, required;
    • "name" - Name of proxy list, required;
  • Responses:
    • "200": description: "Password successfully regenerated"
    • "400": description: "Invalid parameters"
    • "403": description: "Empty or wrong api_key header or wrong package key"
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"description": "Password successfully regenerated",
"results": {
"package_key": "package_key",
"created_at": "2025-10-16T11:32:21Z",
"expired_at": false,
"is_suspended": false,
"is_active": true,
"status": "Active",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 123466543
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": [
{
"id": 18759314,
"name": "proxy-list-name",
"login": "proxy-list-login",
"password": "proxy-list-password",
"network": "",
"rotation": 3600,
"rotation_mode": 0,
"geo": [
{
"country": "",
"region": "",
"city": "",
"isp": ""
}
],
"format": 1,
"type": "proxylist",
"os": ""
}
]
}
}

Get package information​

Path:

https://api.infatica.io/package/{packagekey}

  • Method: GET
  • Summary: Get package information
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Responses:
    • "200": description: "Package found"
    • "403": description: "Empty or wrong api_key header or wrong package key"

Example of success response:

{
"description": "Package found",
"results": {
"package_key": "key123",
"created_at": "2025-09-29T10:56:47Z",
"expired_at": false,
"is_suspended": false,
"is_active": true,
"status": "Active",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 10000000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": []
}
}

Get all packages information​

Path:

https://api.infatica.io/packages

  • Method: GET
  • Summary: Get all packages information
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • "200": description: "Packages found"
    • "403": description: "Empty or wrong api_key header or wrong package key"

Example of success response:

{
"description": "Packages found",
"results": [
{
"package_key": "key1",
"created_at": "2025-05-04T10:36:08Z",
"expired_at": "2026-01-01T23:59:59Z",
"is_suspended": false,
"is_active": true,
"status": "Active",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 100000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": [
{
"id": 123,
"name": "list-1",
"login": "list-1",
"password": "123",
"network": "",
"rotation": 3600,
"rotation_mode": 0,
"geo": [
{
"country": "",
"region": "",
"city": "",
"isp": ""
}
],
"format": 1,
"type": "proxylist",
"os": ""
},
{
"id": 456,
"name": "list-2",
"login": "list-2",
"password": "456",
"network": "",
"rotation": 3600,
"rotation_mode": 0,
"geo": [
{
"country": "",
"region": "",
"city": "",
"isp": ""
}
],
"format": 1,
"type": "nolist",
"os": ""
}
]
},
{
"package_key": "key2",
"created_at": "2025-09-29T10:56:47Z",
"expired_at": false,
"is_suspended": false,
"is_active": true,
"status": "Active",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 10000000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": []
}
]
}

Get filtered packages information​

Path:

https://api.infatica.io/packages

  • Method: POST
  • Summary: Get filtered packages information
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in body:
    • "packages" - Comma separated string of keys, no required;
  • Responses:
    • "200": description: "Packages found"
    • "403": description: "Empty or wrong api_key header or wrong package key"

Example of success response:

{
"description": "Packages found",
"results": [
{
"package_key": "key1",
"created_at": "2025-05-04T10:36:08Z",
"expired_at": "2026-01-01T23:59:59Z",
"is_suspended": false,
"is_active": true,
"status": "Active",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 100000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": [
{
"id": 123,
"name": "list-1",
"login": "list-1",
"password": "123",
"network": "",
"rotation": 3600,
"rotation_mode": 0,
"geo": [
{
"country": "",
"region": "",
"city": "",
"isp": ""
}
],
"format": 1,
"type": "proxylist",
"os": ""
},
{
"id": 456,
"name": "list-2",
"login": "list-2",
"password": "456",
"network": "",
"rotation": 3600,
"rotation_mode": 0,
"geo": [
{
"country": "",
"region": "",
"city": "",
"isp": ""
}
],
"format": 1,
"type": "nolist",
"os": ""
}
]
},
{
"package_key": "key2",
"created_at": "2025-09-29T10:56:47Z",
"expired_at": false,
"is_suspended": false,
"is_active": true,
"status": "Active",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 10000000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": []
}
]
}

Prolongate package​

Path:

https://api.infatica.io/package/{packagekey}/prolongate

  • Method: POST
  • Summary: Prolongate package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Parameters in body: "expired_at" - Date and time the package ended. Format: 2021-01-01 23:59:59, required;
  • Responses:
    • "200": description: "Package prolongated"
    • "422": description: "Error executing request statement"
    • "403": description: "Empty or wrong api_key header or wrong package key"
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"description": "Package prolongated",
"results": {
"package_key": "key123",
"created_at": "2025-09-29T10:56:47Z",
"expired_at": "2026-01-01T23:59:59Z",
"is_suspended": false,
"is_active": true,
"status": "Active",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 10000000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": []
}
}

Suspend package​

Path:

https://api.infatica.io/package/{packagekey}/suspend

  • Method: POST
  • Summary: Suspend package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Responses:
    • "200": description: "Package suspended"
    • "403": description: "Empty or wrong api_key header or wrong package key"
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"description": "Package suspended",
"results": {
"package_key": "key123",
"created_at": "2025-09-29T10:56:47Z",
"expired_at": "2026-01-01T23:59:59Z",
"is_suspended": true,
"is_active": false,
"status": "Suspended",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 10000000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": []
}
}

Resume package​

Path:

https://api.infatica.io/package/{packagekey}/resume

  • Method: POST
  • Summary: Resume package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Parameters in body (only for DEACTIVATED packages):
    • "expired_at" - Date and time the package ended. Format: 2021-01-01 23:59:59, required;
    • "limit_traffic_common" - Common traffic limit in bytes, no required;
    • "limit_traffic_monthly" - Monhtly limit in bytes, no required;
    • "limit_traffic_weekly" - Weekly limit in bytes, no required;
    • "limit_traffic_daily" - Daily limit in bytes, no required;

Each traffic limit is applied only when its value is greater than 0.

  • Responses:
    • "200": description: "Package resumed"
    • "403": description: "Empty or wrong api_key header or wrong package key"
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"description": "Package resumed",
"results": {
"package_key": "key123",
"created_at": "2025-09-29T10:56:47Z",
"expired_at": "2026-01-01T23:59:59Z",
"is_suspended": false,
"is_active": true,
"status": "Active",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 10000000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": []
}
}

Deactivate package​

Path:

https://api.infatica.io/package/{packagekey}/deactivate

  • Method: POST
  • Summary: Deactivate package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Responses:
    • "200": description: "Package deactivated"
    • "403": description: "Empty or wrong api_key header or wrong package key"
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"description": "Package deactivated",
"results": {
"package_key": "key123",
"created_at": "2025-09-29T10:56:47Z",
"expired_at": false,
"is_suspended": false,
"is_active": false,
"status": "Terminated",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 10000000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": []
}
}

Usage for all packages​

Path:

https://api.infatica.io/usage

  • Method: POST/GET
  • Summary: Usage for all packages
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • "200": description: "Traffic data found"
    • "403": description: "Empty or wrong api_key header"

Example of success response:

{
"description": "Traffic data found",
"results": [
{
"key": "key1",
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
{
"key": "key2",
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 2227159
}
]
}

Usage for all packages with pagination​

The request will return traffic usage information for all packages with pagination. Each page contains up to 5000 records. The response includes the total number of records, the current page, and the total number of pages.

Path:

https://api.infatica.io/usage-pagination

  • Method: POST
  • Summary: Get traffic usage for all packages with pagination
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in body:
    • "page" - page number, integer, optional. If this parameter is not provided, page 1 will be returned;
  • Responses:
    • "200": description: "Traffic data found."
    • "403": description: "Empty or wrong api_key header"

Example of success response:

{
"description": "Traffic data found. 1863 records. Page 1 from 12",
"results": {
"page": 1,
"total": 12,
"items": [
{
"key": "key123",
"daily": 0,
"weekly": 0,
"monthly": null,
"common": 0
},
{
"key": "key124",
"daily": 0,
"weekly": 0,
"monthly": null,
"common": 0
}
]
}
}

Usage for package​

Path:

https://api.infatica.io/package/{packagekey}/usage

  • Method: GET
  • Summary: Usage for package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in path:
    • "packagekey"- Key of the package, required;
  • Responses:
    • "200": description: "Traffic data found"
    • "403": description: "Empty or wrong api_key header or wrong package key"

Example of success response:

{
"description": "Traffic data found",
"results": {
"key": "key123",
"daily": 422388854,
"weekly": 422388854,
"monthly": 43220591937,
"common": 844602295032
}
}

List countries for proxylist​

Path:

https://api.infatica.io/countries

  • Method: POST/GET
  • Summary: List countries for proxylist
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • "200": array of countries
    • "403": description: "Empty or wrong api_key header"

Example of success response:

{
"AF": "Afghanistan",
"AX": "Åland Islands",
"AL": "Albania",
"DZ": "Algeria",
"AS": "American Samoa",
"AD": "Andorra",
"AO": "Angola",
"AI": "Anguilla",
"AG": "Antigua and Barbuda",
"AR": "Argentina",
"AM": "Armenia",
"AW": "Aruba",
"AU": "Australia",
"AT": "Austria",
"AZ": "Azerbaijan",
"BS": "Bahamas",
"BH": "Bahrain",
"BD": "Bangladesh",
"...": "..."
}

List regions by country for proxylist​

Path:

https://api.infatica.io/regions/{country_iso_code}

  • Method: POST/GET
  • Summary: List regions by country for proxylist
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in path:
    • "country_iso_code" Country ISO code, required;
  • Responses:
    • "200": array of regions
    • "403": description: "Empty or wrong api_key header"

Example of success response:

[
"Burgenland",
"Carinthia",
"Lower Austria",
"Salzburg",
"Styria",
"Tyrol",
"Upper Austria",
"Vienna",
"Vorarlberg",
"..."
]

List cities by country and region for proxylist​

Path:

https://api.infatica.io/cities/{country_iso_code}/{region_name}

  • Method: POST/GET
  • Summary: List cities by country and region for proxylist
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in path:
    • "country_iso_code" - Country ISO code, required;
    • "region_name" - Name of the region, required;
  • Responses:
    • "200": array of cities
    • "403": description: "Empty or wrong api_key header"

Example of success response:

[
"Vienna",
"Simmering",
"Ottakring",
"Floridsdorf",
"..."
]

List ISPs by country, region and city for proxylist​

Path:

https://api.infatica.io/isps/{country_iso_code}/{region_name}/{city_name}

  • Method: POST/GET
  • Summary: List ISPs by country, region and city for proxylist
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in path:
    • "country_iso_code" - Country ISO code, required;
    • "region_name" - Name of the region, required;
    • "city_name" - Name of the city, required;
  • Responses:
    • "200": array of ISPs
    • "403": description: "Empty or wrong api_key header"

Example of success response:

[
"kabelplus GmbH",
"..."
]

All DB for geolocations​

Path:

https://api.infatica.io/geo

  • Method: GET
  • Summary: All DB for geolocations
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • "200": JSON-data of database
    • "403": description: "Empty or wrong api_key header"

Example of success response:

[
{
"code": "AD",
"name": "Andorra",
"regions": [
{
"name": "Andorra la Vella",
"code": 118,
"cities": [
{
"name": "Andorra la Vella",
"isps": [
"Andorra Telecom, S.a.u."
]
}
]
}
]
},
{
"code": "AE",
"name": "United Arab Emirates",
"regions": [
{
"name": "Abu Dhabi",
"code": 10,
"cities": [
{
"name": "Abu Dhabi",
"isps": [
"e& UAE",
"DU Telecom"
]
}
]
},
{
"name": "Sharjah",
"code": 2668,
"cities": [
{
"name": "Sharjah",
"isps": [
"e& UAE",
"DU Telecom"
]
}
]
},
{
"name": "Dubai",
"code": 799,
"cities": [
{
"name": "Dubai",
"isps": [
"e& UAE",
"DU Telecom"
]
}
]
},
{
"name": "Ajman",
"code": 44,
"cities": [
{
"name": "Ajman",
"isps": [
"e& UAE",
"DU Telecom"
]
}
]
}
]
}
]

List formats for proxylist​

Path:

https://api.infatica.io/formats

  • Method: POST/GET
  • Summary: List formats for proxylist
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • "200": array of formats
    • "403": description: "Empty or wrong api_key header"

Example of success response:

{
"1": "login:password@host:port",
"2": "host,port,login,password",
"3": "http://login:password@host:port",
"4": "socks5://login:password@host:port",
"5": "login:password:host:port",
"6": "host:port:login:password",
"7": "login@password@host@port"
}

Generate proxylist for package​

Please note that proxies become active within 1–2 minutes after creating the proxy list.

Path:

https://api.infatica.io/package/{packagekey}/generate

  • Method: POST

  • Summary: Generate proxylist for package

  • Parameters in header:

    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in path:

    • "packagekey" - Key of the package, required;
  • Parameters in body:

    • "proxy-list-name" - Name for proxy list, required;
    • "proxy-list-login" - Login for proxy list, required;
    • "proxy-list-password" - Password for proxy list, not required and it cannot be empty. If not provided, a password will be generated automatically;
    • "proxy-list-country" - String country ISO code or array of country ISO codes for proxy list, not required;
    • "proxy-list-region" - Name of the region for proxy list. The parameter will be used only if proxy-list-country set like a string, not an array, not required;
    • "proxy-list-city" - Name of the city for proxy list. The parameter will be used only if proxy-list-country set like a string, not an array, not required;
    • "proxy-list-isp" - Name of the ISP for proxy list. The parameter will be used only if proxy-list-country set like a string, not an array, not required;
    • "proxy-list-zip" - ZIP code for proxy list. The parameter will be used only if proxy-list-country set like a string, not an array, not required;
    • "proxy-list-os" - Operating system for proxy list. Accepts a string or an array. Available values: windows, macos, linux, android, ios, not required;
    • "proxy-list-rotation-period" - Rotation period for the proxy list in seconds, 0 - for each request, -1 - sticky; 3600 - default, not required;
    • "proxy-list-rotation-mode" - Proxy list rotation mode on failure / Values: 0 - instant, 1 - 5 seconds, 2 - no rotation; / 'instant' - is default value, not required;
    • "proxy-list-format" - Format for proxy list output, not required;
    • "proxy-list-network" - IP, subnet, or comma-separated list. Use a comma as the only separator; do not add spaces or any other symbols, not required;
  • Responses:

    • "200": description: "List successfully generated"
    • "400": description: "Empty or wrong api_key header or wrong package key"
    • "422": description: "Error executing request statement"
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"description": "List successfully generated",
"results": {
"id": 18619665,
"name": "example123",
"login": "example123",
"password": "2I1tsdOT",
"network": "",
"rotation": 3600,
"rotation_mode": 0,
"geo": [
{
"country": "",
"region": "",
"city": "",
"isp": ""
}
],
"format": 1,
"type": "proxylist",
"os": "windows,ios"
}
}

Generate nolist api-tool for package​

Path:

https://api.infatica.io/package/{packagekey}/api-tool

  • Method: POST

  • Summary: Generate nolist api-tool for package

  • Parameters in header:

    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in path:

    • "packagekey" - Key of the package, required;
  • Parameters in body:

    • "proxy-list-name" - Name for proxy list, required;
    • "proxy-list-login" - Login for proxy list, required;
    • "proxy-list-password" - Password for proxy list, not required and it cannot be empty. If not provided, a password will be generated automatically;
  • Responses:

    • "200": description: "List successfully generated"
    • "400": description: "Empty or wrong api_key header or wrong package key"
    • "422": description: "Error executing request statement"
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"description": "List successfully generated",
"results": {
"id": 18619670,
"login": "example456",
"password": "qzmx3O0Z",
"Same info as HTTPS proxy URL": "http://example456:qzmx3O0Z@pool.infatica.io:10092",
"Same info as SOCKS5 proxy URL": "socks5://example456:qzmx3O0Z@pool.infatica.io:10092"
}
}

The nolist option allows you to generate proxy access without creating a fixed proxy list. Instead of receiving a predefined list of proxies, you get login credentials (username and password) that can be used directly in your requests.

Authentication works the same way as with a regular proxy list - you simply use the provided username and password for proxy access.

The key difference is that when generating a nolist, you do not specify a geographic location during creation. By default, it is set to World Mix, meaning all available locations are included. You can then pass the required parameters (such as geo or other options) directly in the proxy username within the request, for example: example456_c_US:qzmx3O0Z@pool.infatica.io:10092.

In this case, the geo parameter (US) and other options are passed directly in the username, allowing you to control proxy behavior per request without generating a new proxy list.

Instructions on how to work with these logins via API: https://infatica.io/documentation/api-tool/

Update proxylist for package​

Path:

https://api.infatica.io/package/{packagekey}/updatelist

  • Method: POST

  • Summary: Update proxylist for package

  • Parameters in header:

    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in path:

    • "packagekey" - Key of the package, required;
  • Parameters in body:

    • "id" - (ID of proxy list), required;
    • "name" - (Name of proxy list), required;
    • "proxy-list-country" - String country ISO code or array of country ISO codes for proxy list, not required;
    • "proxy-list-region" - Name of the region for proxy list. The parameter will be used only if proxy-list-country set like a string, not an array, not required;
    • "proxy-list-city" - Name of the city for proxy list. The parameter will be used only if proxy-list-country set like a string, not an array, not required;
    • "proxy-list-isp" - Name of the ISP for proxy list. The parameter will be used only if proxy-list-country set like a string, not an array, not required;
    • "proxy-list-zip" - ZIP code for proxy list. The parameter will be used only if proxy-list-country set like a string, not an array, not required;
    • "proxy-list-rotation-period" - (Rotation period for proxy list in second / Default 3600), not required;
  • Responses:

    • "200": description: "List successfully updated"
    • "400": description: "Empty or wrong api_key header or wrong package key"
    • "422": description: "Error executing request statement"
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"description": "List successfully updated",
"results": {
"package_key": "key123",
"created_at": "2025-09-29T10:56:47Z",
"expired_at": "2026-01-01T23:59:59Z",
"is_suspended": false,
"is_active": true,
"status": "Active",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 10000000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": [
{
"id": 18619665,
"name": "example123",
"login": "example123",
"password": "2I1tsdOT",
"network": "",
"rotation": 3600,
"rotation_mode": 0,
"geo": [
{
"country": "US",
"region": "",
"city": "",
"isp": ""
}
],
"format": 1,
"type": "proxylist",
"os": ""
},
{
"id": 18619670,
"name": "example456",
"login": "example456",
"password": "qzmx3O0Z",
"network": "",
"rotation": 3600,
"rotation_mode": 0,
"geo": [
{
"country": "",
"region": "",
"city": "",
"isp": ""
}
],
"format": 1,
"type": "nolist",
"os": ""
}
]
}
}

All proxylists for the package​

Path:

https://api.infatica.io/package/{packagekey}/lists

  • Method: POST/GET
  • Summary: All proxylists for the package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Responses:
    • "200": description: "Lists found"
    • "403": description: "Empty or wrong api_key header or wrong package key"

Example of success response:

{
"description": "Lists found",
"results": [
{
"id": 18619665,
"name": "example123",
"login": "example123",
"password": "2I1tsdOT",
"network": "",
"rotation": 3600,
"rotation_mode": 0,
"geo": [
{
"country": "US",
"region": "",
"city": "",
"isp": ""
}
],
"format": 1,
"type": "proxylist",
"os": ""
},
{
"id": 18619670,
"name": "example456",
"login": "example456",
"password": "qzmx3O0Z",
"network": "",
"rotation": 3600,
"rotation_mode": 0,
"geo": [
{
"country": "",
"region": "",
"city": "",
"isp": ""
}
],
"format": 1,
"type": "nolist",
"os": ""
}
]
}

Show all proxies in proxylist for package​

Path:

https://api.infatica.io/package/{packagekey}/viewlist

  • Method: POST
  • Summary: Show all proxies in proxylist for package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Parameters in body:
    • "id" - ID of proxy list, required;
    • "name" - Name of proxy list, required;
  • Responses:
    • "200": array of proxies in list
    • "403": description: "Empty or wrong api_key header or wrong package key"
    • "422": description: "Error executing request statement"

Example of success response:

[
"example123:2I1tsdOT@pool.infatica.io:10000",
"example123:2I1tsdOT@pool.infatica.io:10001",
"example123:2I1tsdOT@pool.infatica.io:10002",
"example123:2I1tsdOT@pool.infatica.io:10003",
"example123:2I1tsdOT@pool.infatica.io:10004",
"example123:2I1tsdOT@pool.infatica.io:10005",
"example123:2I1tsdOT@pool.infatica.io:10006",
"example123:2I1tsdOT@pool.infatica.io:10007",
"example123:2I1tsdOT@pool.infatica.io:10008",
"example123:2I1tsdOT@pool.infatica.io:10009",
"example123:2I1tsdOT@pool.infatica.io:10010",
"example123:2I1tsdOT@pool.infatica.io:10011",
"example123:2I1tsdOT@pool.infatica.io:10012",
"example123:2I1tsdOT@pool.infatica.io:10013",
"example123:2I1tsdOT@pool.infatica.io:10014",
"example123:2I1tsdOT@pool.infatica.io:10015",
"example123:2I1tsdOT@pool.infatica.io:10016",
"example123:2I1tsdOT@pool.infatica.io:10017"
]

Remove proxylist for package​

Path:

https://api.infatica.io/package/{packagekey}/removelist

  • Method: POST
  • Summary: Remove proxylist for package
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
    • "Idempotency-Key" - Optional idempotency key for duplicate request protection, string up to 128 characters (for example, UUIDv4);
  • Parameters in path:
    • "packagekey" - Key of the package, required;
  • Parameters in body:
    • "id" - ID of proxy list, required;
    • "name" - Name of proxy list, required;
  • Responses:
    • "200": description: "List successfully removed"
    • "403": description: "Empty or wrong api_key header or wrong package key"
    • "422": description: "Error executing request statement"
    • "409": description: "Idempotency conflict: same key with a different body, or request already in progress"

Example of success response:

{
"description": "List successfully removed",
"results": {
"package_key": "key123",
"created_at": "2025-09-29T10:56:47Z",
"expired_at": "2026-01-01T23:59:59Z",
"is_suspended": false,
"is_active": true,
"status": "Active",
"proxy_count": 10000,
"proxy_package_filter": [],
"traffic_limits": {
"daily": false,
"weekly": false,
"monthly": false,
"common": 10000000
},
"traffic_usage": {
"daily": 0,
"weekly": 0,
"monthly": 0,
"common": 0
},
"lists": []
}
}

Check Blacklist IP​

Path:

https://api.infatica.io/check-ip-block/ip-address - where ip-address is the IP address you want to check.

Example: https://api.infatica.io/check-ip-block/203.0.113.10

  • Method: GET
  • Summary: Check Blacklist IP
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • If the IP is blocked, it returns: IP is blocked from YYYY-MM-DD HH:mm:ss (UTC)
    • If the IP is not blocked, it returns: IP is not blocked

Example of success response:

"203.0.113.10 is not blocked"

Remove IP from Blacklist​

Path:

https://api.infatica.io/ip-unblock/ip-address - where ip-address is the IP address you want to remove from the blacklist.

Example: https://api.infatica.io/ip-unblock/203.0.113.10

After the IP is removed from the blacklist, it may take up to 1 hour to become active again.

  • Method: GET
  • Summary: Remove IP from Blacklist
  • Parameters in header:
    • "api-key" - User-reseller's API key, required;
  • Responses:
    • If you try to remove an IP that is not blacklisted, it returns: IP is not blocked
    • If the IP was successfully removed from the blacklist, it returns: IP was deleted from block

Example of success response:

"203.0.113.10 was deleted from block"