Cheaper than IPinfo's full IP data service? How to keep your subscription costs low

At IPinfo, our pricing strategy is simple: We focus on the highest level of accuracy possible and do not compromise on this at all.

This strategy plays out in two ways when it comes to our competitors landscape.

  1. Intentional accuracy compromise: This is common with legacy providers who will provide, or sometimes sell, a service where the accuracy is fundamentally compromised to upsell you a higher accuracy product.
  2. Inherent accuracy compromise: Some IP data providers do not have the infrastructure or experience to provide accurate IP data services. Due to the inherent accuracy compromise, they can price their product cheaper and sell on volume pricing.

Addressing accuracy compromise, volume pricing.

We do not suffer from intentional nor inherent accuracy compromises of any sort, so you pay a premium for our data. But does this mean you could not help yourself when you have budget limitation? Of course not!

Because competing IP geolocation services can keep their business investment low by making accuracy compromises, they can offer super cheap subscriptions. They charge based on volume of requests you make and that is their scaling strategy.

Even though your budget may not allow you to choose us, we can support you by reducing the amount of API calls you make to your existing provider and reduce your monthly subscription costs that are reliant on their volume-based pricing. By layering our free service into your existing process, you can significantly reduce your subscription cost by minimizing the number of requests you make!

IPinfo Lite as your foundation

The strategy is simple: use IPinfo Lite (database or API) as a first layer of enrichment. Remember, the IPinfo Lite service is designed for unlimited requests and it is entirely free.

  • The database can support an infinite amount of requests because it is a static offline database that you can download and query every day.
  • The API service supports unlimited requests anyway. Our customers make billions of requests for free. We have a dedicated API infrastructure to support that.

So, use them as a first layer of enrichment before using existing IP data providers. That way, you can reduce your volume pricing significantly and keep your cost as low as possible.


Complete IP data: Geolocation - city, zipcode etc.

IPinfo Lite service only provides granular data up to the country level. This is intentional because we have the highest accuracy possible in the industry and we want to share our data for free within the confines of maintaining a revenue model.

Many API services provide free or low cost city level data. And we charge for our city level data. But if you do not have the budget to buy our data, here is what you can do.

Use IPinfo Lite as a first layer of enrichment. Get the country data first from us for free. If you are dealing with firewall, access restriction, DRMs, product delivery, dynamic pricing, etc., chances are you do not always need city-level granular data.

The country-level data will act as the first layer of enrichment. But, say you want to geolocate to a city after you have identified the country, then in those cases selectively call your existing IP geolocation provider’s API. This will significantly reduce your volume cost.

Now, what if there is a conflict between our country data and your paid geolocation API’s country data? Just default to IPinfo and use the capital city of the country, or use our free legacy API service to get the city-level data. The reason is that nobody beats us in accuracy, so when we point to a location, consider it to be the source of truth. In those cases, trusting the alternative IP geolocation provider will give you mostly “advertised location” data.

Complete IP data: Privacy Detection & Reputation scoring

Our primary mode of privacy service and anonymous IP detection is based on behavior-based scans. The depth of our data is enormous. However, competing IP geolocation services can provide you with some VPN service flags for a subscription price. Now, if you run a web service like I do and consistently enrich the abusive IP data, you will certainly see patterns emerge. The common cloud provider, common ASNs, etc.

So, build a list of AS domains first using IPinfo Lite and existing providers. Then implement your restrictions on those AS domains. You query IPinfo Lite and check those domains first. If they are part of the blocked AS domain list, then you just restrict those IPs.

If they are not, then you make your call to your existing provider. This would radically reduce the number of paid calls you make and reduce volume pricing issues.

Keep updating your suspicious as_domain lists and create dynamic lists with TTL, logic like prefix sizes of ASN etc. If you invest a little bit of time, you can build your own IP reputation service that you can customize and that you own.

I will give you an example. I am not using any paid service from IPinfo. I will use only free services here.

These are the malicious IP addresses that were caught by Fail2ban enriched IPinfo Lite.

$ grep "Ban" /var/log/fail2ban.log | awk '{print $NF}' | sort | uniq | ipinfo summarize
Summary
- Total   650
- Unique  650
- Anycast 0
- Bogon   0
- Mobile  15
- VPN     40
- Proxy   2
- Hosting 390
- Tor     0
- Relay   0

Top ASNs
- AS14061 DigitalOcean, LLC                           67 (10.3%)
- AS136052 PT Cloud Hosting Indonesia                 48 (7.4%)
- AS135377 UCLOUD INFORMATION TECHNOLOGY (HK) LIMITED 48 (7.4%)
- AS4811 China Telecom (Group)                        21 (3.2%)
- AS4766 Korea Telecom                                21 (3.2%)

Top Usage Types
- Hosting   347 (53.4%)
- ISP       237 (36.5%)
- Business  57 (8.8%)
- Education 3 (0.5%)

Top Routes
- 45.78.192.0/21 (AS150436)  6 (0.9%)
- 14.103.112.0/21 (AS4811)   6 (0.9%)
- 14.103.120.0/21 (AS4811)   5 (0.8%)
- 103.76.120.0/24 (AS136052) 5 (0.8%)
- 103.67.78.0/24 (AS136052)  5 (0.8%)

Top Countries
- Indonesia     70 (10.8%)
- China         68 (10.5%)
- Hong Kong     51 (7.8%)
- United States 45 (6.9%)
- Vietnam       39 (6.0%)

Top Cities
- Jakarta, Jakarta, ID         62 (9.5%)
- Hong Kong, Hong Kong, HK     45 (6.9%)
- Singapore, Singapore, SG     30 (4.6%)
- Shanghai, Shanghai, CN       24 (3.7%)
- Frankfurt am Main, Hesse, DE 20 (3.1%)

Top Regions
- Jakarta, ID   62 (9.5%)
- Hong Kong, HK 45 (6.9%)
- Singapore, SG 30 (4.6%)
- Shanghai, CN  24 (3.7%)
- Hesse, DE     21 (3.2%)

Top Carriers
- Airtel    4 (0.6%)
- Telkomsel 2 (0.3%)
- Vinaphone 1 (0.2%)
- Wind Tre  1 (0.2%)
- AIS       1 (0.2%)

Top Privacy Services
- TunnelBear 1 (0.2%)

Top Domains
- cloudhost.web.id      45 (6.9%)
- viettel.vn            9 (1.4%)
- googleusercontent.com 8 (1.2%)
- pbiaas.com            6 (0.9%)

Now using IPinfo Lite, I am going to enrich all 650 IP addreses and see the ASN Domains.

idx as_domain count cumulative_count cumulative_percentage country_codes
1 digitalocean.com 67 67 10.31% [‘CA’ ‘AU’ ‘SG’ ‘IN’ ‘US’ ‘NL’ ‘GB’ ‘DE’]
2 ucloud.cn 48 115 17.69% [‘SG’ ‘IN’ ‘US’ ‘MY’ ‘HK’ ‘TH’ ‘VN’ ‘JP’]
3 idcloudhost.com 48 163 25.08% [‘ID’]
4 chinatelecom.com.cn 34 197 30.31% [‘CN’]
5 kt.com 21 218 33.54% [‘KR’]
6 viettel.com.vn 19 237 36.46% [‘BI’ ‘VN’]
7 microsoft.com 17 254 39.08% [‘FR’ ‘QA’ ‘NL’ ‘GB’ ‘SG’ ‘AE’ ‘PL’ ‘DE’ ‘US’ ‘IN’]
8 byteplus.com 15 269 41.38% [‘SG’ ‘ID’]
9 chinatelecom.cn 13 282 43.38% [‘CN’]
10 unmanaged.uk 13 295 45.38% [‘RO’]
11 skbroadband.com 8 303 46.62% [‘KR’]
12 google.com 8 311 47.85% [‘BE’ ‘ID’ ‘GB’ ‘ES’ ‘US’ ‘IN’]
13 cloudhost.asia 8 319 49.08% [‘SG’]
14 tencent.com 8 327 50.31% [‘ID’ ‘JP’ ‘BR’ ‘SG’ ‘US’ ‘DE’]
15 ionos.com 7 334 51.38% [‘DE’ ‘US’ ‘GB’]
16 oracle.com 7 341 52.46% [‘JP’ ‘BR’ ‘AU’ ‘KR’ ‘IN’ ‘US’]
17 ovhcloud.com 6 347 53.38% [‘CA’ ‘FR’ ‘DE’ ‘PL’]
18 volcengine.com 6 353 54.31% [‘CN’]
19 telmex.com 5 358 55.08% [‘MX’]
20 telin.net 5 363 55.85% [‘ID’]

Now, if you selectively control restriction of IP addresses from the above ASN domain, you can reduce 50% of malicious traffic. Consequently, this means you can reduce 50% of your API calls to a paid service and reduce volume pricing.

ProbeNet, data product team, privacy team, research team, integration and partnership, etc. - all our initiatives are designed with one idea in mind: data. Data does not mean only data quality. It means data experience and data accessibility.

You suffering through bad data is something we take personally, regardless of your budget. So, we are committed to bringing as much free high-quality data to you as we rationally can.

We have a great support and community and at the end of the day our customer base includes mission-critical and foundational organizations that support tech and internet as a concept and an industry. We are committed to bringing our data to everyone.

Even if you do not have a budget to purchase a service, we would like to support you in bringing your existing costs down. Use our free service; if you scale and your service becomes profitable, we hope that one day you will appreciate our accuracy and justify paying the premium.

Abdullah

Thanks for this interesting article. I thought I would give it a go. My main server that I use on a local home network gave me issues with the following error.

grep "Ban" /var/log/fail2ban.log | awk '{print $NF}' | sort | uniq | ipinfo summarize

err: POST https://ipinfo.io/summarize?cli=1: 429 You've hit the daily limit for the unauthenticated API. Please visit https://ipinfo.io/signup to get 50k requests per month for free.

I have my token configured and ipinfo quota gives:-

Usage

- Total Requests 50000

- Remaining Requests 48880

- Requests Made Today 67

- Requests Made This Month 1120

2% of total 50000 used

[## ] 2%

I then tried it on 3 other servers that I freshly installed the CLI on and they all worked fine even without configuring the token!

To break it down a bit I piped the IP addresses to a file and tried with

ipinfo summarize /tmp/testdata

and get the same result.

Have also tried on another local test vm on local network and same again.

Not sure what the issue is here!!

Steve

Hi Steve,

Thank you for posting in the community again. It is nice to talk to you again.

Code:

grep "Ban" /var/log/fail2ban.log | awk '{print $NF}' | sort | uniq | ipinfo summarize

Result

err: POST https://ipinfo.io/summarize?cli=1: 429 You've hit the daily limit for the unauthenticated API. Please visit https://ipinfo.io/signup to get 50k requests per month for free.

Hmmm, the error statement is not entirely correct. You have reached our summarize API rate limit. But the signup-related statement does not seem to be correct. I will check with engineering and fix that.


I then tried it on 3 other servers that I freshly installed the CLI on and they all worked fine even without configuring the token!

That is expected. The summarize endpoint does not require you to signup. It is accessible to everyone. It is unfortunate that you hit the rate limit for the summarize tool for the other server.

You can use the service directly from the website as well:

Have also tried on another local test vm on local network and same again.
Not sure what the issue is here!!

Please, do not waste any significant amount of time debugging. You are always welcome to post here and ask questions.


  • You have reached the rate limit of the summarize endpoint.
  • The summarize endpoint rate limit will be updated tomorrow. We have a daily rate limit.
  • The summarize endpoint does not require a token for access; you can use it from the CLI or directly as a tool from the website IP Summarization & Data Visualization | IPinfo.io without signing in.
  • The error statement is inaccurate; we will correct it.

We have received a few requests to increase the summarize endpoint rate limit. It is currently under review from engineering.

— Abdullah | DevRel, IPinfo