API documentation

  • ZONE — The zone name for which you want to get the info. view my Zones
  • CUSTOMER — Your account id which you can get from your control panel
  • PASSWORD — Your zone password. view my Zones
  • COUNTRY — The country code you wish to filter the request. (e.g '-country-us' for United states)
  • API_TOKEN — The token which you (or your account admin) created in account settings
  • If you're looking for documentation about using proxies, follow this link.
Choose language
Shell
Node.js
Java
C#
Python

Authentication via username and password will be deprecated on 01-Jan-2021. Please switch to tokens.

Statistics API

Get the bandwith stats for a Zone

API endpoint:GET /api/zone/bw

curl "https://luminati.io/api/zone/bw" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone/bw?customer=CUSTOMER&zone=ZONE&details=1" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"
Sample Response: details=1

Get the bandwith stats for all your Zones

API endpoint:GET /api/customer/bw

curl "https://luminati.io/api/customer/bw" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/customer/bw?customer=CUSTOMER&details=1" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"

Get the total cost and bandwith stats for a Zone

API endpoint:GET /api/zone/cost

curl "https://luminati.io/api/zone/cost" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone/cost?customer=CUSTOMER&zone=ZONE" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"

Manage your proxies API

Get amount of available IPs

API endpoint:GET /api/zone/count_available_ips

curl "https://luminati.io/api/zone/count_available_ips?customer=CUSTOMER&zone=ZONE[&plan={...}]" -H "Authorization: Bearer API_TOKEN"
Parameters:
  • customer=CUSTOMER[string] - your account id which you can get from your control panel (required)
  • zone=ZONE[string] - name of the Zone (required)
  • plan={...}[JSON object] - abstract plan parameters
    • ips_type=shared|selective[string] - type of the IPs
    • country=country_name[string] - IPs location country
    • country_city=country_name-city_name[string] - defines the city location of the IPs
    • city=true[boolean] - requred with [country_city] parameter
    • exclusive_sec=1234[string] - cooling period in seconds
    • domain_whitelist=d1.com d2.com d3...[string] - space separated list of domains. Note that for [curl] the spaces should be urlencoded (d1.com%20d2.com)
    • geo_db={...}[JSON object] - turns on/off using of the IP`s location databases
      • maxmind=true[boolean] - use this IP location DB
      • dbip=true[boolean] - use this IP location DB
      • google=true[boolean] - use this IP location DB
      • ip2location=true[boolean] - use this IP location DB
Sample Response: {count: 1234}
Examples:
Available IPs for current Zone plan:
curl "https://luminati.io/api/count_available_ips?customer=CUSTOMER&zone=ZONE" -H "Authorization: Bearer API_TOKEN"
Abstract plan, exclusive IPs:
curl "https://luminati.io/api/count_available_ips?customer=CUSTOMER&zone=ZONE&plan=\{\"ips_type\":\"selective\"\}" -H "Authorization: Bearer API_TOKEN"
Abstract plan, shared IPs located in United States:
curl "https://luminati.io/api/count_available_ips?customer=CUSTOMER&zone=ZONE&plan=\{\"country\":\"us\",\"ips_type\":\"shared\"\}" -H "Authorization: Bearer API_TOKEN"
abstract plan, exclusive ips located in United States:
curl "https://luminati.io/api/count_available_ips?customer=CUSTOMER&zone=ZONE&plan=\{\"country\":\"us\",\"ips_type\":\"selective\"\}" -H "Authorization: Bearer API_TOKEN"
abstract plan, exclusive ips located in United States, cooling period: 10 days:
curl "https://luminati.io/api/count_available_ips?customer=CUSTOMER&zone=ZONE&plan=\{\"country\":\"us\",\"ips_type\":\"selective\",\"exclusive_sec\":864000\}" -H "Authorization: Bearer API_TOKEN"
Abstract plan, shared IPs located in United States, Denver:
curl "https://luminati.io/api/count_available_ips?customer=CUSTOMER&zone=ZONE&plan=\{\"ips_type\":\"shared\",\"country_city\":\"us-denver\",\"city\":true\}" -H "Authorization: Bearer API_TOKEN"
Abstract plan, shared IPs located in US, exclusive for domains: amazon.com, fb.com:
curl "https://luminati.io/api/count_available_ips?customer=CUSTOMER&zone=ZONE&plan=\{\"ips_type\":\"selective\",\"country\":\"us\",\"domain_whitelist\":\"amazon.com fb.com\"\}" -H "Authorization: Bearer API_TOKEN"
Abstract plan, shared IPs located in US, geo IP databases: should persist in both: maxmind and dbip:
curl "https://luminati.io/api/count_available_ips?customer=CUSTOMER&zone=ZONE&plan=\{\"ips_type\":\"shared\"\},\"country\":\"us\",\"geo_db\":\{\"maxmind\":true,\"dbip\":true\}" -H "Authorization: Bearer API_TOKEN"

Get recent IPs attempting to use a Zone

API endpoint:GET /api/zone/recent_ips

curl "https://luminati.io/api/zone/recent_ips?customer=CUSTOMER&zones=ZONE" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone/recent_ips" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"
Sample Response: {"ZONE":["255.0.0.127","10.0.0.1"]}

Get recent IPs attempting to use any of your Zones

API endpoint:GET /api/zone/recent_ips

curl "https://luminati.io/api/zone/recent_ips?customer=CUSTOMER&zones=*" -H "Authorization: Bearer API_TOKEN"
Sample Response: {"ZONE_1":["255.0.0.127","10.0.0.1"],"ZONE_2":["255.0.0.127","10.0.0.1"]}

Get the available Data center/Static Residential IPs for a country

API endpoint:GET /api/zone/route_ips

curl "https://luminati.io/api/zone/route_ips?customer=CUSTOMER&zone=ZONE&country=COUNTRY" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone/route_ips" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD-country-COUNTRY"
Sample Response: 10.0.0.0/24

Get all the available Data center/Static Residential IPs

API endpoint:GET /api/zone/route_ips

curl "https://luminati.io/api/zone/route_ips?customer=CUSTOMER&zone=ZONE" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone/route_ips" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"
NOTE: add to the request '?expand=1' if you wish to expand the IPs in the response.
Sample Response: 11.0.0.1-11.0.0.8

Get all available Exclusive residential IPs per Zone

API endpoint:GET /api/zone/route_vips

curl "https://luminati.io/api/zone/route_vips?customer=CUSTOMER&zone=ZONE" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone/route_vips" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"
Sample Response: ["us_7922_fl_hollywood_0","ma_36903_01_tetouan_5","br_52894_mg_montesclaros_99","tr_9121_07_antalya_10"]

Account management API

Get total balance through API

API endpoint:GET /api/customer/balance

curl "https://luminati.io/api/customer/balance?customer=CUSTOMER" -H "Authorization: Bearer API_TOKEN"
Sample Response: {"balance":456,"pending_costs":123}
The value under balance shows the amount of money in your account.
The value under pending_costs shows the amount of money you will be billed for, as of this moment, in the next billing cycle

Get Zone info

API endpoint:GET /api/zone

curl "https://luminati.io/api/zone?customer=CUSTOMER&zone=ZONE" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"
Sample Response: {"ips":"any","password":["PASSWORD"],"plans":[{"start":"2019-07-15T18:08:59.269Z","type":"static","ips_type":"shared","ip_alloc_preset":"shared_block","bandwidth":"payperusage"}]}

Add a Zone

API endpoint:POST /api/zone

Parameters:
  • zone: object containingname (required), ips (whitelist) andpassword (string or array for multiple passwords).
  • plan: object containing plan options (their respective valid options can be seen in the example).
curl -X POST "https://luminati.io/api/zone" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"zone":{"name":"zone291231237"},"customer":"test_user","plan":{"type":"static|resident","ips_type":"shared|dedicated|selective","ip_alloc_preset":"shared_block","bandwidth":"payperusage|unlimited","mobile":false,"city":false,"asn":false,"vip":false,"vips_type":"shared|vip|domain|domain_p","vips":0,"domain_whitelist":"test.com fb.com","not_country":null,"vip_country":"any","exclusive_sec":0,"exclusive_type":"days","exclusive_num":0,"ips":0}}'
Request response will show the sanitized Zone.
Sample Response: {"plan":{"start":"2019-07-15T18:08:59.269Z","type":"static","ips_type":"shared","ip_alloc_preset":"shared_block","bandwidth":"payperusage"},"zone":{"ips":"any","password":["PASSWORD"],"plans":[{"start":"2019-07-15T18:08:59.269Z","type":"static","ips_type":"shared","ip_alloc_preset":"shared_block","bandwidth":"payperusage"}]}}

Remove Zone

API endpoint:DELETE /api/zone

curl -X DELETE "https://luminati.io/api/zone" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE"}'

Get Zone passwords

API endpoint:GET /api/zone/passwords

curl "https://luminati.io/api/zone/passwords?customer=CUSTOMER&zone=ZONE" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone/passwords" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"
Sample Response: {"passwords":["psw1","psw2"]}

Get Zone permissions

API endpoint:GET /api/zone/permissions

curl "https://luminati.io/api/zone/permissions?customer=CUSTOMER&zone=ZONE" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone/permissions" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"
Sample Response: {"perms":["city","google"]}

Get Zone status

API endpoint:GET /api/zone/status

curl "https://luminati.io/api/zone/status?customer=CUSTOMER&zone=ZONE" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone/status" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"
Sample Response: {"status":"active"}

Get active Zones

API endpoint:GET /api/zone/get_active_zones

curl "https://luminati.io/api/zone/get_active_zones?customer=CUSTOMER" -H "Authorization: Bearer API_TOKEN"
Sample Response: [{"name":"ZONE1","type":"dc"}]

Get Zone datacenter IPs

API endpoint:GET /api/zone/ips

Optional parameters:
  • ip_per_country: to get a total amount of IPs per country
curl "https://luminati.io/api/zone/ips?customer=CUSTOMER&zone=ZONE" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone/ips" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"
Request response will output all allocated IPs in the Zone including their respective country per database.
To get a total amount of IPs per country add ip_per_country into the query
Sample Response: {"ips":[{"ip":"1.1.1.1","maxmind":"au","ext":{"dbip":"au","ip2location":"au","google":"us"}},{"ip":"1.1.1.1","maxmind":"au","ext":{"dbip":"au","ip2location":"au","google":"us"}}]}Sample Response with ip_per_country query option{"au":3,"br":4,"us":20}

Add IPs

API endpoint:POST /api/zone/ips

Optional parameters:
  • country: new IPs' country (e.g. us)
  • country_city: new IPs' city (e.g. us-chicago)
curl -X POST "https://luminati.io/api/zone/ips" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE","count":2}'
Request response will output all allocated IPs in the Zone including the added IPs.
Sample Response: {"ips":["1.1.1.1","1.1.1.2"],"new_ips":["1.1.1.1"]}

Remove datacenter IPs

API endpoint:DELETE /api/zone/ips

curl -X DELETE "https://luminati.io/api/zone/ips" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE","ips":["ip1","ip2"]}'
Request response will output the IPs removed.
Sample Response: {"ips":["ip1","ip2"]}

Remove Exclusive residential IPs

API endpoint:DELETE /api/zone/vips

curl -X DELETE "https://luminati.io/api/zone/vips" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE","vips":["vip1","vip2"]}'
Request response will output the Exclusive residential IPs removed.
Sample Response: {"vips":["us_7922_fl_hollywood_0","ma_36903_01_tetouan_0"]}

Refresh Exclusive residential IPs

API endpoint:POST /api/zone/ips/refresh

curl -X POST "https://luminati.io/api/zone/ips/refresh" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE","vips":["vip1","vip2"]}'
Request response will output all allocated Exclusive residential IPs in the Zone including the refreshed Exclusive residential IPs.
Sample Response: {"vips":[{"vip":"tr_9121_07_antalya_10","country":"tr"},{"vip":"tr_9121_07_antalya_17","country":"tr"}]}
Each Exclusive residential IP refreshed costs $0.02/refresh/IP

Refresh Datacenter/Static residential IPs

API endpoint:POST /api/zone/ips/refresh

Optional parameters:
  • country: new IPs' country (e.g. us)
  • country_city: new IPs' city (e.g. us-chicago)
curl -X POST "https://luminati.io/api/zone/ips/refresh" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE","ips":["ip1","ip2"]}'
Request response will output all allocated IPs in the Zone including the refreshed IPs.
Sample Response: {"ips":["1.1.1.1","1.1.1.2"],"new_ips":["1.1.1.1"]}
If ALL IPs refresh needed, then ips parameter should be omitted. See pricing for refreshing datacenter IPs

Switch 100% uptime ON/OFF in zone

API endpoint:POST /api/zone/switch_100uptime

Parameters:
  • activate '100% uptime': "active":1
  • disable '100% uptime': "active":0
curl -X POST "https://luminati.io/api/zone/switch_100uptime" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE","active":1}'

Get peers IPs

API endpoint:GET /api/get_peers

Optional parameters:
  • zone: filter by Zone
  • country: filter by country
  • asn: filter by ASN (Autonomous System Number)
  • vip: filter by VIP number
curl "https://luminati.io/api/get_peers" -H "Authorization: Bearer API_TOKEN"
The response will output all available peers IPs considering provided filters. The peers permission is required.

Get all peers

API endpoint:GET /api/get_peers/all

The response will output all available peers IPs. The peers_all permission is required.
curl "https://luminati.io/api/get_peers/all" -H "Authorization: Bearer API_TOKEN"

Add domain to Zone whitelist/blacklist

API endpoint:POST /api/zone/domain_perm

TYPE can bewhitelist or blacklist.
curl -X POST "https://luminati.io/api/zone/domain_perm" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE","type":"TYPE","domain":"example.org"}'
Request response will output domains whitelist and blacklist in the Zone including the added domain.
Sample Response: {"whitelist":["test.com","example.org"]}

Remove domain from Zone whitelist/blacklist

API endpoint:DELETE /api/zone/domain_perm

TYPE can bewhitelist or blacklist.
curl -X DELETE "https://luminati.io/api/zone/domain_perm" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE","type":"TYPE","domain":"test.com"}'
Request response will output domains whitelist and blacklist in the Zone excluding the removed domain.
Sample Response: {"whitelist":["example.org"]}

Turn on/off Zone

API endpoint:POST /api/zone/change_disable

curl -X POST "https://luminati.io/api/zone/change_disable" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE","disable":1}'

Get account status

API endpoint:GET /api/status

curl "https://luminati.io/api/status?customer=CUSTOMER" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/status" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"
Sample Response: {"status":"active"}

Change account status

API endpoint:PUT /api/status

curl -X PUT "https://luminati.io/api/status" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","status":"STATUS"}'
STATUS can besuspend_manual or active.

Get a list of whitelisted IPs for a specific Zone

API endpoint:GET /api/zone/whitelist

curl "https://luminati.io/api/zone/whitelist?customer=CUSTOMER&zones=ZONE" -H "Authorization: Bearer API_TOKEN"
curl "https://luminati.io/api/zone/whitelist" -H "X-Lum-Auth: lum-customer-CUSTOMER-zone-ZONE-key-PASSWORD"
Sample Response: {"ZONE":["any","127.0.0.1"]}

Get a list of whitelisted IPs for all your Zones

API endpoint:GET /api/zone/whitelist

curl "https://luminati.io/api/zone/whitelist?customer=CUSTOMER&zones=*" -H "Authorization: Bearer API_TOKEN"
Sample Response: {"ZONE1":["any","127.0.0.1"],"ZONE2":["any"]}

Add IP to Zone whitelist

API endpoint:POST /api/zone/whitelist

curl -X POST "https://luminati.io/api/zone/whitelist" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE","ip":"1.2.1.2"}'

Remove IP from Zone whitelist

API endpoint:DELETE /api/zone/whitelist

curl -X DELETE "https://luminati.io/api/zone/whitelist" -H "Content-Type: application/json" -H "Authorization: Bearer API_TOKEN" -d '{"customer":"CUSTOMER","zone":"ZONE","ip":"1.2.1.2"}'

Others

Get current service status

API endpoint:GET /api/network_status/NETWORK_TYPE

curl "https://luminati.io/api/network_status/NETWORK_TYPE" -H "Authorization: Bearer API_TOKEN"
NETWORK_TYPE can be one of:
  • All: all
  • Residential: res
  • Datacenter: dc
  • Mobile: mobile
Sample Response: {"status":true}

Get country cities

API endpoint:GET /api/cities

curl "https://luminati.io/api/cities?country=US" -H "Authorization: Bearer API_TOKEN"

Proxy manager API

Get Proxy manager version

API endpoint:GET /api/version

curl "http://127.0.0.1:22999/api/version"
Sample Response: {"version":"1.189.434","argv":""}

Get latest Proxy manager versions

API endpoint:GET /api/last_version

curl "http://127.0.0.1:22999/api/last_version"
Sample Response: {"version":"1.189.434","newer":true,"versions":[{"ver":"1.189.434","type":"stable","changes":[{"type":"star","text":"Changelog entry"}]}]}

Get currently running NodeJS version

API endpoint:GET /api/node_version

curl "http://127.0.0.1:22999/api/node_version"
Sample Response: {"current":{"options":{"loose":false,"includePrerelease":false},"loose":false,"raw":"v12.16.1\n","major":12,"minor":16,"patch":1,"prerelease":[],"build":[],"version":"12.16.1"},"satisfied":true,"recommended":">=10.0"}

Generate token for token based authentication

API endpoint:GET /api/gen_token

curl "http://127.0.0.1:22999/api/gen_token"
Sample Response: {"token":"RZD9vaQQaL6En7"}

Whitelist IPs

API endpoint:POST /api/add_wip

TOKEN should be generated using Generate token API
curl -X POST "http://127.0.0.1:22999/api/add_wip" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d '{"ip":"1.1.1.1"}'

Whitelist IPs to access UI

API endpoint:POST /api/add_whitelist_ip

curl -X POST "http://127.0.0.1:22999/api/add_whitelist_ip" -H "Content-Type: application/json" -d '{"ip":"10.0.0.1"}'

Get effective configuration for all running proxies

API endpoint:GET /api/proxies_running

curl "http://127.0.0.1:22999/api/proxies_running"
Sample Response: [{"port":24000,"zone":"ZONE","proxy_type":"persist","customer":"CUSTOMER","password":"PASSWORD","whitelist_ips":[]}]

Get explicit configuration of running proxies

API endpoint:GET /api/proxies

curl "http://127.0.0.1:22999/api/proxies"
Sample Response: [{"port":24000,"zone":"ZONE","proxy_type":"persist","customer":"CUSTOMER","password":"PASSWORD","whitelist_ips":[]},{"port":22225,"zone":"ZONE","listen_port":22225,"customer":"CUSTOMER","password":"PASSWORD"}]

Get recent stats

API endpoint:GET /api/recent_stats

curl "http://127.0.0.1:22999/api/recent_stats"
Sample Response: {"ports":{},"status_code":[],"hostname":[],"protocol":[],"total":0,"success":0,"ssl_enable":true}

Create a new proxy port

API endpoint:POST /api/proxies

curl -X POST "http://127.0.0.1:22999/api/proxies" -H "Content-Type: application/json" -d '{"proxy":{"port":24000,"zone":"ZONE","proxy_type":"persist","customer":"CUSTOMER","password":"PASSWORD","whitelist_ips":[]}}'
Parameters:
  • proxy[JSON object]
    • port[integer] - Port for the HTTP proxy
    • proxy_type=persist[string] - Set to "persist" to save proxy into the configuration file.
    • multiply[integer] - Multiply the port definition given number of times
    • multiply_users[boolean]
    • users[array] - List of users. This option has to be used along with "multiply_users"
      • user[string]
    • ssl[boolean] - Enable SSL analyzing
    • iface[string] - Interface or IP to listen on
    • customer[string] - Luminati customer
    • zone[string] - Luminati zone
    • password[string] - Zone password
    • proxy[string] - Hostname or IP of super proxy
    • proxy_port[integer] - Super proxy port
    • proxy_connection_type=http|https|socks[string] - Determines what kind of connection will be used between LPM and Super Proxy
    • proxy_retry[integer] - Automatically retry on super proxy failure
    • insecure[boolean] - Enable SSL connection/analyzing to insecure hosts
    • country[string] - Country
    • state[string] - State
    • city[string] - City
    • asn[string] - ASN
    • ip[string] - Data center IP
    • vip[integer] - gIP
    • ext_proxies[array] - A list of proxies from external vendors. Format: [username:password@]ip[:port]
      • proxy[string]
    • ext_proxy_username[string] - Default username for external vendor ips
    • ext_proxy_password[string] - Default password for external vendor ips
    • ext_proxy_port[integer] - Default port for external vendor ips
    • dns=local|remote[string] - DNS resolving
    • reverse_lookup_dns[boolean] - Process reverse lookup via DNS
    • reverse_lookup_file[string] - Process reverse lookup via file
    • reverse_lookup_values[array] - Process reverse lookup via value
    • session=^[^\.\-]*$[string] - Luminati session for all proxy requests
    • sticky_ip[boolean] - Use session per requesting host to maintain IP per host
    • pool_size[integer]
    • rotate_session[boolean] - Session pool size
    • throttle[integer] - Throttle requests above given number
    • rules={...}[array] - Proxy request rules
    • route_err[string] - Block or allow requests to be automatically sent through super proxy on error
    • smtp[array]
    • override_headers=[string][boolean]
    • os[string] - Operating System of the Peer IP
    • headers[array] - Request headers
      • name[string]
      • value[string]
    • debug=full|none[string] - Luminati request debug info
    • socket_inactivity_timeout[integer]
    • multiply_ips[boolean]
    • multiply_vips[boolean]
    • max_ban_retries[integer]
    • preset[string]
Sample Response: {"port":24000,"zone":"ZONE","proxy_type":"persist","customer":"CUSTOMER","password":"PASSWORD","whitelist_ips":[]}

Delete proxy ports

API endpoint:POST /api/proxies/delete

curl -X POST "http://127.0.0.1:22999/api/proxies/delete" -H "Content-Type: application/json" -d '{"ports":[24000,24001]}'

Delete a proxy port

API endpoint:DELETE /api/proxies/{PORT}

PORT: existing proxy port number
curl -X DELETE "http://127.0.0.1:22999/api/proxies/{PORT}"

Update a proxy port

API endpoint:PUT /api/proxies/{PORT}

PORT: existing proxy port number
curl -X PUT "http://127.0.0.1:22999/api/proxies/{PORT}" -H "Content-Type: application/json" -d '{"proxy":{"port":24000,"zone":"ZONE","proxy_type":"persist","customer":"CUSTOMER","password":"PASSWORD","whitelist_ips":[]}}'
See params in Add Proxy API
Sample Response: {"port":24000,"zone":"ZONE","proxy_type":"persist","customer":"CUSTOMER","password":"PASSWORD","whitelist_ips":[]}

Get proxy port status

API endpoint:GET /api/proxy_status/{PORT}

PORT: existing proxy port number
curl "http://127.0.0.1:22999/api/proxy_status/{PORT}"
Sample Response: {"status":"ok","status_details":[]}

Ban an IP

API endpoint:POST /api/proxies/{PORT}/banip

PORT: existing proxy port number
curl -X POST "http://127.0.0.1:22999/api/proxies/{PORT}/banip" -H "Content-Type: application/json" -d '{"ip":"10.0.0.1","domain":"example.com","ms":60000}'

Ban IPs

API endpoint:POST /api/proxies/{PORT}/banips

PORT: existing proxy port number
curl -X POST "http://127.0.0.1:22999/api/proxies/{PORT}/banips" -H "Content-Type: application/json" -d '{"ip":["10.0.0.1","20.0.0.1"],"domain":"example.com","ms":60000}'

Unban an IP

API endpoint:POST /api/proxies/{PORT}/unbanip

PORT: existing proxy port number
curl -X POST "http://127.0.0.1:22999/api/proxies/{PORT}/unbanip" -H "Content-Type: application/json" -d '{"ip":"10.0.0.1","domain":"example.com"}'

Unban IPs

API endpoint:POST /api/proxies/{PORT}/unbanips

PORT: existing proxy port number
curl -X POST "http://127.0.0.1:22999/api/proxies/{PORT}/unbanips" -H "Content-Type: application/json" -d '{"ip":["10.0.0.1","20.0.0.1"],"domain":"example.com"}'

Ban an IP for all ports

API endpoint:POST /api/banip

curl -X POST "http://127.0.0.1:22999/api/banip" -H "Content-Type: application/json" -d '{"ip":"10.0.0.1","domain":"example.com","ms":60000}'

Refresh luminati sessions

API endpoint:GET /api/refresh_sessions/{PORT}

PORT: existing proxy port number
curl "http://127.0.0.1:22999/api/refresh_sessions/{PORT}"

Refresh luminati sessions

API endpoint:POST /api/refresh_sessions/{PORT}

PORT: existing proxy port number
curl -X POST "http://127.0.0.1:22999/api/refresh_sessions/{PORT}"

Get general settings

API endpoint:GET /api/settings

curl "http://127.0.0.1:22999/api/settings"
Sample Response: {"customer":"CUSTOMER","zone":"ZONE","password":"PASSWORD","www_whitelist_ips":[],"whitelist_ips":[],"fixed_whitelist_ips":[],"read_only":false,"config":"/home/user/luminati_proxy_manager/.luminati.json","test_url":"http://lumtest.com/myip.json","logs":1000,"log":"notice","har_limit":1024,"request_stats":true,"dropin":true,"pending_ips":[],"pending_www_ips":[],"zagent":false,"sync_config":true}

Update general settings

API endpoint:PUT /api/settings

curl -X PUT "http://127.0.0.1:22999/api/settings" -H "Content-Type: application/json" -d '{"zone":"ZONE","www_whitelist_ips":[],"whitelist_ips":[],"logs":1000,"request_stats":true}'
Parameters:
  • zone[string] - Default zone
  • www_whitelist_ips[array] - Whitelist ip list for granting access to browser admin UI
  • whitelist_ips[array] - Default for all proxies whitelist ip list for granting access to them
  • logs[boolean] - Enable logs for all proxies
  • request_stats[boolean] - Enable requests statistics
Sample Response: {"customer":"CUSTOMER","zone":"ZONE","password":"PASSWORD","www_whitelist_ips":[],"whitelist_ips":[],"fixed_whitelist_ips":[],"read_only":false,"config":"/home/user/luminati_proxy_manager/.luminati.json","test_url":"http://lumtest.com/myip.json","logs":1000,"log":"notice","har_limit":1024,"request_stats":true,"dropin":true,"pending_ips":[],"pending_www_ips":[],"zagent":false,"sync_config":true}

Get enabled zones configuration

API endpoint:GET /api/zones

curl "http://127.0.0.1:22999/api/zones"
Sample Response: {"name":"ZONE","perm":"country ip route_all route_dedicated","plan":{},"password":"PASSWORD"}

Refresh zones

API endpoint:POST /api/refresh_zones

curl -X POST "http://127.0.0.1:22999/api/refresh_zones"

Get allocated IPs in zone

API endpoint:GET /api/allocated_ips

curl "http://127.0.0.1:22999/api/allocated_ips?zone=ZONE"
Sample Response: {"ips":["10.0.0.1","20.0.0.1"]}

Get allocated gIPs in zone

API endpoint:GET /api/allocated_vips

curl "http://127.0.0.1:22999/api/allocated_vips?zone=ZONE"
Sample Response: {"ips":["gIP_1","gIP_2"]}

Refresh IPs or gIPs in zone

API endpoint:POST /api/refresh_ips

curl -X POST "http://127.0.0.1:22999/api/refresh_ips" -H "Content-Type: application/json" -d '{"zone":"ZONE","ips":["10.0.0.1"]}'
Sample Response: {"ips":[{"ip":"10.0.0.1","maxmind":"us","ext":{"dbip":"us","ip2location":"us","google":"us","def":"us"}},{"ip":"20.0.0.1","maxmind":"us","ext":{"dbip":"us","ip2location":"us","google":"us","def":"us"}}]}

Enable SSL analyzing on all proxy ports

API endpoint:POST /api/enable_ssl

curl -X POST "http://127.0.0.1:22999/api/enable_ssl"

Shutdown Proxy manager

API endpoint:POST /api/shutdown

curl -X POST "http://127.0.0.1:22999/api/shutdown"

Restart Proxy manager

API endpoint:POST /api/restart

curl -X POST "http://127.0.0.1:22999/api/restart"

Upgrade Proxy manager

API endpoint:POST /api/upgrade

curl -X POST "http://127.0.0.1:22999/api/upgrade"

Get all users

API endpoint:GET /api/lpm_users

curl "http://127.0.0.1:22999/api/lpm_users"
Sample Response: [{"email":"test@example.com","password":"password"}]

Add a user

API endpoint:POST /api/lpm_user

curl -X POST "http://127.0.0.1:22999/api/lpm_user" -H "Content-Type: application/json" -d '{"email":"test@example.com"}'

Get tail from the log file

API endpoint:GET /api/general_logs

curl "http://127.0.0.1:22999/api/general_logs?limit=5"

Get HAR logs

API endpoint:GET /api/logs

curl "http://127.0.0.1:22999/api/logs"
Optional parameters:
  • skip: number of requests to be skipped from the beginning
  • limit: maximum number of requests to be fetched
  • search: regex search query for the URL
  • port_from: lower bound for port number
  • port_to: upper bound for port number
  • status_code: filter requests by status code
  • sort: parameter to be sorted by
  • sort_desc: is descending sorting direction

Using different coding languages

Which coding languages can be used?

All API examples for account management are presented using Shell but can be used in a variety of coding languages.
To find all available coding languages check out the API Examples section in your account.