Luminati FAQ


Overview

How can I set up a Luminati free trial account?

Click here to set up a 7-day free trial.

I signed up but didn't receive any email from Luminati. What should I do?

Please contact sales@luminati.io and we will get back to you as soon as possible.

Why should I use Luminati, if I’m not being blocked by my target websites?

Block rate is not a reliable indicator of accessibility: there are commercially available tools that help retailers and brands figure out that automated systems are attempting to access their site, and in such cases allow access but provide misleading information. With Luminati, you get the data a private user gets.

How is Luminati different from TOR?

Compared with Tor, Luminati has a different model of service: While TOR has around 20K IPs, which are all marked and identified, Luminati's peer to peer (P2P) network has over 17 million residential IPs that are not identified as Proxies/Tor. Our architecture, which has an inbuilt IP rotation management layer, allows you to use our P2P network for sending your HTTP / HTTPS requests via millions of IPs in every country and every city worldwide. With the right architecture on your side, you can achieve a failure rate of less than 1%.

Can I know how many IPs are available in a specific country?

Yes, this is easily done by going to the interactive diagram:
After you select the country from the drop-down menu, the number of available IPs appears below.

Is the communication between relays encrypted?

Yes, for requests to the Super proxy you can use either HTTP or HTTPS. The communication protocol is encrypted by using a proprietary algorithm.

Is there any way that the target website can trace back the origin to us?

No, we secure the traffic at the IP level; The IP the site is observing is a residential IP, and the traffic is encrypted. It is up to you to secure all other levels, as we assume you already do.

How is Luminati faster than other proxy solutions?

Luminati has an inbuilt smart IP rotation management layer. Each request you make goes to one of our super proxies - load balancing servers, which then provide you with the IP address that is most likely to be available in the requested location.
While sending a single request through Luminati proxy can be slower, Luminati proxy enables sending an unlimited number of concurrent sessions and has an extremely high success rate. To speed up using Luminati, it is advisable to initiate as many concurrent sessions as required. With the right architecture, you can outperform any other solution.

What is the impact on speed, due to additional hops?

While having additional hops (3 with Luminati Proxy and 2 without it) does slow a single request, this has no effect on the overall speed of using Luminati Proxy. The reason is twofold: an unlimited number of concurrent sessions available, and an extremely high success rate.

What is the maximum limit (hits per minute) at which requests can be sent through the network?

There are no limitations; we have customers who send more than 20m requests per day.

Accepted usage

Is crawling an acceptable use case?

We allow you to use our service, provided you are using it for legal and legitimate uses and in compliance with our license agreement. It is up to you to make sure that the way you use the service complies with the laws applicable in your country.

Is crawling a particular site legal?

The use of a crawler to extract data from a website may be done legally in relevant business relations. Under certain circumstances and in some specific jurisdictions, crawling may be in conflict with applicable regulation or in violation of the particular terms of service of the crawled site. Therefore, prior to engaging in crawling activities of any sort, you should consult with a lawyer authorized to provide legal advice in the territory, and read carefully the applicable terms of service.

Getting started

Where can I find my credentials (username & password)?

Your credentials can be found in each zone page from the Zones page. Please notice that your credentials might be different for each zone.

How can I activate my account?

Please contact sales@luminati.io and we will activate your account.

How can I have a production account?

Please choose the plan you would like to have from our plans. After send us an email to sales@luminati.io with the plan you chose and we will get back to you as soon as possible.

Whitelist IPs

For security reasons the IP address of every machine which runs Luminati has to be added to the whitelist of every zone you will use.

How can I whitelist IPs inside Luminati control panel?

  1. Enter 'Zones' page in your Luminati control panel: https://luminati.io/cp/zones
  2. Click the zone name.
  3. Click "Change" next to Whitelist IPs.
  4. Click "Add" to add IPs to whitelist. You are allowed to add IPs, ranges, subnets or netmasks.

Can I configure the Whitelist to include ANY IP?

Click "Add" to add IP's to whitelist and write 'Any'. Please note that choosing 'Any IP' will weaken the security measures taken to protect your account.

How can I whitelist IPs using an API?

You can whitelist your IP using this API:
curl -k -X POST --data "email={USER_EMAIL}&password={USER_PASSWORD}&customer={CUSTOMER_NAME}&zone={ZONE}&ip={IP}" https://luminati.io/api/whitelist/add

Is it possible to get more granular usage statistics?

There are several options to get more granular data.

What is the dashboard Timezone?

The dashboard Timezone is UTC.

Troubleshooting

How do I reset my account password?

You can reset your account password through the password recovery page.
Note that this link will also appear on an unsuccessful login attempt.

What information should I send to Hola when I report an issue?

To report an issue, provide us with:

Email this information together with your issue to support@luminati.io

How do I handle a 502 error message (Bad Gateway - super proxies are refusing connections)?

Our API can be configured to request a new IP when you encounter a 502 error message:

How do I handle a 407 error message (Proxy authentication required)?

Encountering a 407 error message means that the client must first authenticate itself with the proxy. Resolving this issue requires adding the requested IPs, which are now refused connection, to the whitelist. For details, see Configure Whitelist IPs. If the issue persists, contact support@luminati.io.

Luminati proxy manager

What is Luminati proxy manager?

A forward HTTP/HTTPS proxy on your side, to accelerate / compress / rotate / distribute / manage / monitor / report / log / debug traffic to your proxies around the world.
With Luminati proxy manager you can drive the Luminati residential IPs or Luminati static IPs.
Complements the Luminati service with additional features.

How do I install Luminati proxy manager?

Luminati proxy manager is an open source project developed by Hola. A complete set of commands for the installation can be found on the project GitHub page.

You can also watch this video guide - how to install the Luminati Proxy Manager.

What credentials to use?

Luminati proxy manager constructs the Luminati username from the given customer name and the settings specified for each proxy.

You can extract the customer name from the username given on https://luminati.io/cp/api_example .

If the username shows: lum-customer-CUSTOMER-zone-gen

Then the customer name is just: CUSTOMER

It also needs the gen zone password provided on the gen zone settings.

Can I access Luminati proxy manager from multiple machines?

Yes, you can access Luminati proxy manager from multiple machines. Just make sure to add the relevant port of the proxy you configured to the IP address of Luminati proxy manager machine.

Can I run multiple instances of Luminati proxy manager on the same machine?

Yes, multiple instances of Luminati proxy manager can be run on the same machine. Make sure to configure different ports (UI & Proxies) for each instance and to disable the drop-in mode proxy.

Can I configure Luminati's P2P network to provide an IP that does not change during the session?

Your use of a residential IP on the Luminati network can be assured only as long as that device is idle, connected to an outlet, and on Wifi.

For as long as a peer is available on our network, it is possible to maintain a stable connection with it Luminati's session pool features.

Re-using an IP for multiple requests is done as follows:

Does Luminati proxy manager support multiple proxy providers?

No, currently Luminati proxy manager doesn't support multiple proxy providers.

Does Luminati proxy manager support multiple proxies?

Yes, Luminati proxy manager supports multiple proxies.
You can configure it from Luminati proxy manager UI and from the command line.

How to enable logging?

Logging can be controlled by the --log flag. The Proxy Manager has the following logging levels:

  1. none
  2. error (default)
  3. warn
  4. info
  5. debug
  6. silly

Can the Proxy manager save request/response history?

The Luminati Proxy Manager can log HTTP request/response history, by enabling the “--history” flag. When history mode is enabled, both request and response’s headers will be saved to a local database. They can later be accessed under the “Proxies” section. The history option can also track HTTPS, by enabling the “--ssl” flag. For additional details, see the Luminati proxy manager GitHub page.

How can I view the request/response history database?

The request history is stored in a sqlite3 DB which can be examined using the sqlite3 command-line tool. You can provide the argument --database_history [filename] in order to specify where the history should be stored.

The request history is stored in a table called "request" within the database. You can examine the table definition like this:

$ sqlite3 history.db
sqlite> .schema request
CREATE TABLE request(port INTEGER
                 , url TEXT
                 , method TEXT
                 , request_headers undefined
                 , request_body undefined
                 , response_headers undefined
                 , status_code INTEGER
                 , status_message TEXT
                 , timestamp INTEGER
                 , elapsed INTEGER
                 , response_time INTEGER
                 , node_latency INTEGER
                 , proxy_peer TEXT
                 , country TEXT
                 , timeline undefined
                 , super_proxy undefined
                 , username undefined
                 , content_size INTEGER
                 , context TEXT
                 );

You can then run sql statements against the 'request' table either inside the sqlite3 REPL environment or directly from the command line. For example, to get the first ten requests with the proxy port, request url, and timestamp:

$ sqlite3 history.db "SELECT port, url, timestamp FROM request LIMIT 10"
24000|http://lumtest.com/myip.json|1488984785367
24000|http://lumtest.com/myip.json|1488984785367
24000|http://lumtest.com/myip.json|1488984785364
24000|http://ipinfo.io/|1488984785358
24000|http://ipinfo.io/|1488984795009

You can look at the table schema above to see exactly which columns are available. The output format of the results and many other things can be controlled by options to the sqlite3 command.

Do I need to take any specific security measures when using Luminati proxy manager?

It is important to ensure that Luminati proxy manager is only accessible when working either in environments that are strictly under your control or via a secured connection such as VPN.

How to change my existing code to work with Luminati proxy manager?

Luminati proxy manager supports a drop-in proxy on port 22225 configured to behave exactly as our super proxies behave on their port 22225.
To change an existing code to use the proxy manager you need to follow the following steps:

  1. Install and run Luminati proxy manager on a machine your code can access
  2. Change your code, configuration or hosts file so that instead of accessing zproxy.luminati.io it will access the Luminati proxy manager machine.

You can make sure the drop-in proxy is disabled by specifying the command line argument: --no-dropin

How to configure SOCKS5 protocol?

For HTTP support, simply specify SOCKS port in the configuration for a proxy.

For HTTPS or call that make use of IP instead of domain names - like from mobile emulators. You will also need to add a resolve file, to perform IP to domain name resolution.
You specify it by adding: --resolve PATH to the running of the program.
The resolve file itself follows the hosts file format:

184.73.155.216 lumtest.com
54.83.59.224 lumtest.com

Make sure to list all domains you are going to use, with all their IPs. You can easily add a domain with all its IPs from the resolve file editor available in the proxy-manager tools page

Integration

How do I integrate Luminati as my proxy network?

The recommended way to integrate Luminati is through the open source Luminati proxy manager. Alternatively, you can find the Luminati API here.

How do I integrate Luminati to my browser or to a web browser automation tool?

To integrate Luminati to your browser or to a web browser automation tool such as Selenium, use our Local Proxy Manager open source code. To Install the Luminati proxy manager follow the simple instructions on github.

Which protocols are supported?

Luminati supports HTTP (port 80), HTTPS (SSL over port 443), and TLS.

Can I use Luminati on more than one device?

Yes, you are not limited by the number of devices, IPs, sessions, concurrent connections, or Geo-Locations. We charge based only on the traffic going through our network. Please see the basic package for more information.

How many concurrent sessions can I use?

We do not place a limit on the number of concurrent sessions.

How do I configure IP rotation when using Luminati?

When using the commands listed in the Luminati proxy manager GitHub page, the "Requests per session" parameter is defined by using: --max_requests Requests per session [default: 50] Our API allows you to manage the rotation on your end by using the session parameters. This can be done by adding the session to the proxy username:
lum-customer-Customer-zone-YourZone-session-rand39484 Changing the session number changes the IP as well.

Can I select the ISP or ASN of the IP?

Yes, you can select an IP per ASN. Please contact us at sales@luminati.io, to add this premium feature to your Luminati account.

How can I select an IP per country?

The country codes have the standard ISO coding.
You can find the right code for a specific country by using our interactive diagram and selecting a country from the drop-down menu.

Can I select an IP per city?

Yes, we offer a premium feature that allows selecting the location of the IP at a city level. To enable a city zone in your account, please contact your sales representative.
For instructions regarding the selection of a city, see How to use the Luminati API .

How can I disconnect a browser session?

You can use either of the following methods to disconnect a browser session:

Only change the proxy username as explained in our API

How do I keep the same IP over different requests?

If you want to exit from the same IP over multiple requests, you should use the same session ID and make sure you exit from the same super proxy for the entire duration of your session.
For example: curl --proxy zproxy1.luminati.io:22225 --proxy-user lum-customer-CUSTOMER-zone-YOURZONE-session-rand1:YOURPASS "http://lumtest.com/myip.json" curl --proxy zproxy1.luminati.io:22225 --proxy-user lum-customer-CUSTOMER-zone-YOURZONE-session-rand1:YOURPASS "http://lumtest.com/myip.json"

How do I get statistics, recent IPs, and data center IPs?

Go to the API samples page to see how to use each of our APIs.

Are the details included in the proxy-authorization header visible to the target site?

When the connection is established by using HTTP, the proxy-authorization header is stripped from the request before the request is routed to the target site.
When HTTPS is used, the removal of the proxy-authorization header depends on your framework.
Under normal functioning this header is sent only in the CONNECT part of the request, in which case it will not get to the target site. This is the most common scenario, and therefore
under normal circumstance and in most frameworks there is no need to worry about the proxy-authorization header being visible to the target site

However, if for some reason your framework sends this header also in the GET/POST part of the HTTPS request we have no access to the proxy-authorization header and cannot remove it.
It is highly recommended to test this issue in advance, by sending a request to https://lumtest.com/echo.json and examining the headers reported in the response.
If the proxy-authorization header is exposed it will appear in the response.

Performance and best practices

Can I request an IP change every 15 seconds?

Yes, our code snippet defines an IP change by number of requests (the default is 40), but you can modify your code so that it would change every number of seconds as well.

Does Luminati compress the requests to the target site?

No - the request will be sent as you specified it.
Example:
Make a request to lumtest.com/echo.json→ it will show you the headers it received
You will see it's not changed
HTTP:
curl -H "accept-encoding: deflate" --proxy zproxy.luminati.io:22225 --proxy-user lum-customer-xxx-zone-gen:xxx "http://lumtest.com/echo.json" {"ip":"182.56.199.157","country":"IN","geoip":2232796061,"geoip_country":"IN","geo":{"city":"","region":"","postal_code":"","latitude":20,"longitude":77},"method":"GET","httpVersion":"1.1","url":"/echo.json","headers":{"host":"lumtest.com","x-real-ip":"182.56.199.157","x-forwarded-for":"182.56.199.157","x-forwarded-proto":"https","x-forwarded-host":"lumtest.com","user-agent":"curl/7.46.0","accept":"*/*","accept-encoding":"deflate"}} HTTPS:
curl -H "accept-encoding: deflate" --proxy zproxy.luminati.io:22225 --proxy-user lum-customer-xxx-zone-gen:xxx "https://lumtest.com/echo.json" {"ip":"82.80.37.34","country":"IL","geoip":674550570,"geoip_country":"IL","geo":{"city":"","region":"","postal_code":"","latitude":31.5,"longitude":34.75},"method":"GET","httpVersion":"1.1","url":"/echo.json","headers":{"host":"lumtest.com","x-real-ip":"82.80.37.34","x-forwarded-for":"82.80.37.34","x-forwarded-proto":"http","x-forwarded-host":"lumtest.com","accept":"*/*","user-agent":"curl/7.46.0","accept-encoding":"deflate"}}

How can I see my current bandwidth usage with your API?

You can see your current bandwidth usage with the following curl request: curl -H "X-Hola-Auth: lum-customer-CUSTOMER-zone-gen-key-PASSWORD" "https://luminati.io/api/bw"

What happens if a target website blocks the IP?

It shouldn’t happen with the correct usage of our system, but if it does, just open a new session with a different IP.

Can you recommend any ways for us to get faster proxies and drop the slow ones?

In the 200 Response there is a field called: x-hola-timeline-debug
The time in the field is the latency between the last IP and the site. You can use that to measure up to evaluate IPs.

How do I exclude a specific IP?

You cannot remove specific IPs, because the super proxy allocates them randomly; however, you can make a simple query to get the specific IP you want to exclude: Go to http://lumtest.com/myip and disconnect (change session).

Why did I get the same IP after changing the session ID?

Sometimes an HTTP client caches the proxy username/password, and as a result you may get the same IP even after changing a session. Please ensure that your code accurately follows Luminati's 'high performance' sample, according to the language you use. This sample contains a specific code, which ensures that the HTTP client library you use does not cache the proxy when switching sessions.

Super proxy IP caching

zproxy.luminati.io will get the most available 3 super proxy IPs. You can directly connect to each of those IPs by using your credentials.
Caching the super proxy IPs might improve latency eliminating additional hop. It is recommended to cache the super proxy IPs every 6-7 days.

Billing and payments

Do you have any advanced pricing plans that cover unlimited data volume?

No, our pricing model is based on bandwidth usage. The rate per GB is determined based on a minimum monthly commitment; the higher the commitment, the lower the rate. Please contact our sales team and specify your expected usage, to allow them to send you a user-defined quote. You can sign up for a 7-day free trial to evaluate the value of our solution and determine your expected monthly bandwidth usage.

Do you offer a monthly subscription?

All of our pricing plans are on a month-to-month basis, based on our license agreement.

Does the cost structure differ by country?

No, all countries are charged the same rate per GB.

Which forms of payment do you accept?

We have an automated billing system that supports payments that were carried out through PayPal or credit card.

How do I register for payment through PayPal?

Please go to the billing page and select "PayPal" as your payment method. Now you can click the "pay now" button, and you will be redirected automatically to PayPal.

How do I register for payment through credit card?

Please go to the billing page and click on "Register new credit card" to complete your transaction.

How is Bandwidth calculated?

The bandwidth is calculated according to the sum of data transmitted to and from the target site: request headers+request data (POST)+response headers+response data.
Please note that traffic used during your trial will be listed on your dashboard but will not be counted towards your bill.

Do I need to log in online to deposit the prepayment funds? What is the link and login details for this?

Yes, we send a prepayment billing request to your email which can be completed from the billing page.

Is it best to upload credit card details?

Yes, adding a credit card will enable us to process your payment immediately and activate your account.

What is the Luminati pricing model?

Luminati price model is 'pay as you go' with a minimum commitment per month, the higher the monthly commitment the lower the price per GB. For example, the Basic plan for residential IPs is a monthly commitment of $500/month and a $12.5 price per GB. Learn more at our pricing page. All of our plans are monthly plans with auto renewal.

Why should I use Luminati when I can build my own proxy network and pay much less per GB?

When building your own proxy network, you've leased servers with IPs, and you were allowed "unlimited" traffic from each IP. So if you consider the amount of traffic that you can stream from each such server, it seems that you are only paying a few cents per GB! But is that the case?
There are three factors that affect your real cost per GB:

For example - A network of dedicated servers running 5TB/month, with a $0.1 price per GB, has a cost of $500 on traffic. However, this network has only 30% utilization, resulting in a threefold increase of the effective cost to $1,500; the network's failure rate is 30%, which increase the cost by 50% to $2,250; and the developer cost increases the cost to $10,250/month. Therefore, the effective price per GB is $2.05.
With Luminati you can generate the same amount of traffic at a lower effective price, with a lower failure rate, and without collecting misleading information due to static IPs.