Querying WorldIP geolocation service via the published API returns the most up-to-date and detailed results on geographic location of an IP address, than downloading the database.

Using "Free"-API is free for any personal or business purpose, and it is unlimited per day.

In the "Professional"-version, besides the possibility to use any of the API-servers worldwide, and also other additional functions, the foreign exchange rate is available.

A simple yet powerful API allowing you to query the WorldIP database with a single link in text-, JSON and XML format.

Free Professional
personal/SMB
Corporate/Business
Lite
Regular updates
Zero-Time Response **
Number of requests
Speed limit 10 queries/sec 10 queries/sec
Requester limit 1 IP per key 1 IP per key 255 IP (/24 CIDR)
unlimited possible
Availability 99.50 % 99.95 % 99.95 - 99.9999 %
Daily statistic For registered users
API-servers  USA, Germany, Chile, Singapore, Japan, Australia 6 via GeoDNS ***  API in Denver, Colorado, USA Denver
 API in Kansas-City, Missouri, USA Kansas-City
 API in London, Great Britain London
 API in Stockholm, Sweden Stockholm
 API in Paris, France Paris
 API in Madrid, Spain Madrid
 API in Frankfurt, Germany Frankfurt
 API in Milan, Italy Milan
 API in Moscow, Russia Moscow
 API in Nagano, Japan Nagano
 API in Hong-Kong Hong-Kong
 API in Singapore Singapore
 API in Sydney, Australia Sydney
 API in Viña del Mar, Chile Viña del Mar
 API in Denver, Colorado, USA Denver
 API in Kansas-City, Missouri, USA Kansas-City
 API in London, Great Britain London
 API in Stockholm, Sweden Stockholm
 API in Paris, France Paris
 API in Madrid, Spain Madrid
 API in Frankfurt, Germany Frankfurt
 API in Milan, Italy Milan
 API in Moscow, Russia Moscow
 API in Nagano, Japan Nagano
 API in Hong-Kong Hong-Kong
 API in Singapore Singapore
 API in Sydney, Australia Sydney
 API in Viña del Mar, Chile Viña del Mar
Free choice of server
The other servers as backup servers
Separate dedicated server(-s) Any datacenter
or in your company
Support Basic Premium
Free Professional
personal/SMB
Corporate/Business
Lite
Continent
Subregion
Country
Languages of the country
Currency of the country
Currency rate ****
Phone country code
Zoom for Google Maps
Provider, AS
Service-Code: Free Professional
personal/SMB
Corporate/Business
Lite
Bots
Satellite Providers,
Mobile Proxies
Price: Free Professional
personal/SMB
Corporate/Business
Lite
Base Rate * Free 10 € / month
100 € / year
Individual
How Buy Inform
* Customers with Irish billing addresses and private Customers (without a valid VAT registration number) with EU billing addresses should add 23% VAT (Ireland's standard VAT rate). For Customers with European Union billing addresses with a valid VAT registration number and for "Rest of World Customers" prices are exclusive of VAT.
** Query time only depends on distance between servers
*** GeoDNS: USA, Germany, Chile, Singapore, Japan, Australia.
The location of the free API-server can be changed at any time without notice
**** Updated several times a day. There are currently 130 currencies, which cover 99.5% of Internet users worldwide.
Exchange Rate for the currencies: AED, ALL, AMD, ANG, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BMD, BND, BOB, BRL, BSD, BTN, BYR, BZD, CAD, CHF, CLP, CMG, CNY, COP, CRC, CUC, CVE, CZK, DOP, DJF, DKK, DZD, EEK, EGP, ERN, EUR, FJD, FKP, GBP, GEL, GGP, GHS, GIP, GTQ, HKD, HNL, HRK, HUF, IDR, ILS, IMP, INR, IQD, IRR, ISK, JEP, JMD, JOD, JPY, KES, KGS, KHR, KMF, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LSL, LTL, LVL, MAD, MDL, MKD, MMK, MOP, MVR, MXN, MYR, NAD, NGN, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, SAR, SDG, SEK, SGD, SHP, SYP, SZL, THB, TJS, TMT, TND, TRY, TTD, TVD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, VND, XAF, XCD, XOF, XPF, ZAR

Request to the API-Server


Request Format "Free":

http://api.wipmania.com/[IPADDR]?[URL]

IPADDRrequested IP. For example, the address of the visitor
URLdomain name of the website, which sends the request (needless parameter)

Request Format "Free(registered) / Professional / Corporate":

http://[API].wipmania.com/[IPADDR]?k=[KEY]
http://[API].wipmania.com/[IPADDR]?k=[KEY]&t=[TYP]&v=[VALUTA]

APIserver to choose from, for example, the closest one
IPADDRrequested IP. For example, the address of the visitor
KEYprivate key
TYPserver response format: text, json, xml.
By default: "text". In this format only country and service code
VALUTAyour currency, for which the rate is calculated. The list of available currencies

Only method GET is accepted.


Server response

TEXT (text/html):

2_LETTER_COUNTRY_CODE

JSON (application/json; encoding UTF-8):

{
  "continent":"CONTINENT",
  "subregion":"SUBREGION",
  "country":{
    "name":"COUNTRY_NAME",
    "code":"2_LETTER_COUNTRY_CODE",
    "code3":"3_LETTER_COUNTRY_CODE",
    "coded":"3_DIGIT_COUNTRY_CODE",
    "phone":["COUNTRY_PHONE_PREFIX","COUNTRY_PHONE_PREFIX"],
    "valuta":"CURRENCY_CODE",
    "valuta_rate":CURRENCY_RATE,
    "valuta2":"CURRENCY_CODE",
    "lang":[
        {"code":"LANGUAGE_CODE_1","code3":"LANGUAGE_CODE_3","name":"LANGUAGE_ORIG_NAME"},
        {"code":"LANGUAGE_CODE_1","code3":"LANGUAGE_CODE_3","name":"LANGUAGE_ORIG_NAME"},
      ]
  },
  "zoom":GOOGLE_MAPS_ZOOM,
  "isp":{
    "name":"ISP_NAME",
    "as":"ISP_AS",
    "asname":"ISP_ASNAME"
  },
  "sc":"SERVICE_CODE"
}

XML (text/xml; encoding UTF-8):

<?xml version="1.0" encoding="UTF-8"?>
<ip>
<country continent="CONTINENT" subregion="SUBREGION">
  <name code="2_LETTER_COUNTRY_CODE" code3="3_LETTER_COUNTRY_CODE"
        coded="3_DIGIT_COUNTRY_CODE">COUNTRY_NAME</name>
  <lang code="LANGUAGE_CODE_1" code3="LANGUAGE_CODE_3">LANGUAGE_ORIG_NAME</lang>
  <lang code="LANGUAGE_CODE_1" code3="LANGUAGE_CODE_3">LANGUAGE_ORIG_NAME</lang>
  <valuta rate="CURRENCY_RATE">CURRENCY_CODE</valuta>
  <valuta2>CURRENCY_CODE</valuta2>
  <phone>COUNTRY_PHONE_PREFIX</phone>
  <phone>COUNTRY_PHONE_PREFIX</phone>
  <zoom>GOOGLE_MAPS_ZOOM</zoom>
</country>
<isp as="ISP_AS" asname="ISP_ASNAME">ISP_NAME</isp>
<sc typ="SERVICE_CODE"></sc>
</ip>

Variable values:

CONTINENTtwo-letter continent code: NA(North America), SA(South America), AF(Africa), EU(Europe), AS(Asia), AO(Australia/Oceania)
SUBREGIONthree-number subregion (UN-Number) code
COUNTRY_NAMEcountry name in English
2_LETTER_COUNTRY_CODEtwo-letter country code ISO-3166-α2
3_LETTER_COUNTRY_CODEthree-letter country code ISO-3166-α3
3_DIGIT_COUNTRY_CODEthree-number country code ISO-3166-numeric
COUNTRY_PHONE_PREFIXphone country code (only numbers without a leading plus). In JSON format, separated by commas
CURRENCY_CODEcurrency code according to ISO-4217
CURRENCY_RATEexchange rate between currency of requested IP and your currency
LANGUAGE_CODE_1two-letter language code according to ISO-639-1
LANGUAGE_CODE_3three-letter language code according to ISO-639-3
LANGUAGE_ORIG_NAMEnative name of language
GOOGLE_MAPS_ZOOMcountry zoom level for Google Maps
ISP_NAMEprovider
ISP_ASprovider's AS number
ISP_ASNAMEprovider's AS name
SERVICE_CODEService-code

Examples

1) Google.com makes request for the country of the user's IP 123.45.67.89

Request:

http://api.wipmania.com/123.45.67.89?google.com

Result:

KR
two-letter country code, "KR" – Republic of Korea (South Korea).

2) a user with API key "test" makes JSON-request for IP 192.232.69.132, its own currency is USD

Request:

http://api.wipmania.com/192.232.69.132?k=test&t=json&v=USD

Result:

{
  "continent":"AS",
  "subregion":"035",
  "country":{
    "name":"Singapore",
    "code":"SG",
    "code3":"SGP",
    "coded":"826",
    "phone":["65"],
    "valuta":"SGD",
    "valuta_rate":1.2490,
    "valuta2":"BND",
    "lang":[
        {"code":"en","code3":"eng","name":"English"},
        {"code":"ch","code3":"cho","name":"中文(简体)"},
        {"code":"ms","code3":"msa","name":"Bahasa Melayu"},
        {"code":"ta","code3":"tam","name":"தமிழ்"}
      ]
  },
  "zoom":5,
  "isp":{
    "name":"Singapore Telecom",
    "as":"9911",
    "asname":"CONNECTPLUS-AP"
  },
  "sc":""
}

3) the same user with the key makes XML-request

Request:

http://api.wipmania.com/192.232.69.132?k=test&t=xml&v=USD

Result:

<?xml version="1.0" encoding="UTF-8"?>
<ip>
<country continent="AS" subregion="035">
  <name code="SG" code3="SGP" coded="826">Singapore</name>
  <lang code="en" code3="eng">English</lang>
  <lang code="ch" code3="cho">中文(简体)</lang>
  <lang code="ms" code3="msa">Bahasa Melayu</lang>
  <lang code="ta" code3="tam">தமிழ்</lang>
  <valuta rate="1.2490">SGD</valuta>
  <valuta2>BND</valuta2>
  <phone>65</phone>
  <zoom>10</zoom>
</country>
<isp as="9911" asname="CONNECTPLUS-AP">Singapore Telecom</isp>
<sc typ=""></sc>
</ip>

Testing

To test JSON and XML in the "Professional"-version, you can use the test key "test" and the following requests-examples:

http://api.wipmania.com/192.232.69.132?k=test&t=json&v=USD
http://api.wipmania.com/192.232.69.132?k=test&t=xml&v=USD
Results will always be, like shown above.

Please have a look at our
Facebook Page and leave a comment

Your IP: 54.196.207.55

New/Unknown/Reserved/InternalUse

AS0

Small flag of XX Unknown, unallocated or no trace
if false, correct it

Users with JavaScript can check any IP online

Download list of countries (.txt, ISO)

Download all flags (.zip, png 18x12)
(Author is Matthias Slovig)