Bulk Lookup

You can look up up to a 100 IP addresses in one API call! This combined with the general speed of the ipdata API means you can geolocate millions of IP addresses in bulk very quickly!

Doing bulk lookups is just as easy as looking up single IP Addresses.

Note that bulk lookups are only available to paid users and are currently limited to a 100 at a time. Reach out to support if you need to lookup larger batches.

Make a POST request to https://api.ipdata.co/bulk?api-key=your-paid-api-key with up to a 100 IP Addresses in a JSON Array in the body of the request.

Example Request

curl -d '["1.1.1.1","2.2.2.2","3.3.3.3"]' 'https://api.ipdata.co/bulk?api-key=your-paid-api-key

Sample Response

[{"ip": "1.1.1.1", "is_eu": false, "city": null, "region": null, "region_code": null, "country_name": "Australia", "country_code": "AU", "continent_name": "Oceania", "continent_code": "OC", "latitude": -33.494, "longitude": 143.2104, "postal": null, "calling_code": "61", "flag": "https://ipdata.co/flags/au.png", "emoji_flag": "\ud83c\udde6\ud83c\uddfa", "emoji_unicode": "U+1F1E6 U+1F1FA", "asn": {"asn": "AS13335", "name": "Cloudflare, Inc.", "domain": "cloudflare.com", "route": "1.1.1.0/24", "type": "hosting"}, "languages": [{"name": "English", "native": "English"}], "currency": {"name": "Australian Dollar", "code": "AUD", "symbol": "AU$", "native": "$", "plural": "Australian dollars"}, "time_zone": {"name": "Australia/Sydney", "abbr": "AEDT", "offset": "+1100", "is_dst": true, "current_time": "2020-01-15T23:29:02.912991+11:00"}, "threat": {"is_tor": false, "is_proxy": false, "is_anonymous": false, "is_known_attacker": false, "is_known_abuser": false, "is_threat": false, "is_bogon": false}, "count": "370577"}, {"ip": "2.2.2.2", "is_eu": true, "city": null, "region": null, "region_code": null, "country_name": "France", "country_code": "FR", "continent_name": "Europe", "continent_code": "EU", "latitude": 48.8582, "longitude": 2.3387, "postal": null, "calling_code": "33", "flag": "https://ipdata.co/flags/fr.png", "emoji_flag": "\ud83c\uddeb\ud83c\uddf7", "emoji_unicode": "U+1F1EB U+1F1F7", "asn": {"asn": "AS3215", "name": "Orange S.A.", "domain": "orange.com", "route": "2.2.0.0/16", "type": "isp"}, "carrier": {"name": "Orange", "mcc": "208", "mnc": "01"}, "languages": [{"name": "French", "native": "Fran\u00e7ais"}], "currency": {"name": "Euro", "code": "EUR", "symbol": "\u20ac", "native": "\u20ac", "plural": "euros"}, "time_zone": {"name": "Europe/Paris", "abbr": "CET", "offset": "+0100", "is_dst": false, "current_time": "2020-01-15T13:29:02.915465+01:00"}, "threat": {"is_tor": false, "is_proxy": false, "is_anonymous": false, "is_known_attacker": false, "is_known_abuser": false, "is_threat": false, "is_bogon": false}, "count": "370577"}, {"ip": "3.3.3.3", "is_eu": false, "city": "Seattle", "region": "Washington", "region_code": "WA", "country_name": "United States", "country_code": "US", "continent_name": "North America", "continent_code": "NA", "latitude": 47.6348, "longitude": -122.3451, "postal": "98109", "calling_code": "1", "flag": "https://ipdata.co/flags/us.png", "emoji_flag": "\ud83c\uddfa\ud83c\uddf8", "emoji_unicode": "U+1F1FA U+1F1F8", "languages": [{"name": "English", "native": "English"}], "currency": {"name": "US Dollar", "code": "USD", "symbol": "$", "native": "$", "plural": "US dollars"}, "time_zone": {"name": "America/Los_Angeles", "abbr": "PST", "offset": "-0800", "is_dst": false, "current_time": "2020-01-15T04:29:02.916683-08:00"}, "threat": {"is_tor": false, "is_proxy": false, "is_anonymous": false, "is_known_attacker": false, "is_known_abuser": false, "is_threat": false, "is_bogon": false}, "count": "370577"}]

post
Bulk Lookup

https://api.ipdata.co/bulk?api-key=:apikey/
This describes how to make a call to the Bulk Endpoint
Request
Response
Request
Query Parameters
api-key
required
string
Your paid API key
Body Parameters
required
array
A JSON Array of up to a 100 IP Addresses to lookup
Response
200: OK
Successful Response
[
{
"ip": "1.1.1.1",
"is_eu": false,
"city": "",
"region": "",
"region_code": "",
"country_name": "Australia",
"country_code": "AU",
"continent_name": "Oceania",
"continent_code": "OC",
"latitude": -33.494,
"longitude": 143.2104,
"asn": "AS13335",
"organisation": "Cloudflare Inc",
"postal": "",
"calling_code": "61",
"flag": "https://ipdata.co/flags/au.png",
"emoji_flag": "🇦🇺",
"emoji_unicode": "U+1F1E6 U+1F1FA",
"languages": [
{
"name": "English",
"native": "English"
}
],
"currency": {
"name": "Australian Dollar",
"code": "AUD",
"symbol": "AU$",
"native": "$",
"plural": "Australian dollars"
},
"time_zone": {
"name": "",
"abbr": "",
"offset": "",
"is_dst": "",
"current_time": ""
},
"threat": {
"is_tor": false,
"is_proxy": false,
"is_anonymous": false,
"is_known_attacker": false,
"is_known_abuser": true,
"is_threat": true,
"is_bogon": false
},
"count": "695"
},
{
"ip": "2.2.2.2",
"is_eu": true,
"city": "",
"region": "",
"region_code": "",
"country_name": "France",
"country_code": "FR",
"continent_name": "Europe",
"continent_code": "EU",
"latitude": 48.8582,
"longitude": 2.3387000000000002,
"asn": "AS3215",
"organisation": "Orange",
"postal": "",
"calling_code": "33",
"flag": "https://ipdata.co/flags/fr.png",
"emoji_flag": "🇫🇷",
"emoji_unicode": "U+1F1EB U+1F1F7",
"carrier": {
"name": "Orange",
"mcc": "208",
"mnc": "01"
},
"languages": [
{
"name": "French",
"native": "Français"
}
],
"currency": {
"name": "Euro",
"code": "EUR",
"symbol": "€",
"native": "€",
"plural": "euros"
},
"time_zone": {
"name": "Europe/Paris",
"abbr": "CEST",
"offset": "+0200",
"is_dst": true,
"current_time": "2018-10-01T10:37:55.031677+02:00"
},
"threat": {
"is_tor": false,
"is_proxy": false,
"is_anonymous": false,
"is_known_attacker": false,
"is_known_abuser": false,
"is_threat": false,
"is_bogon": false
},
"count": "695"
},
{
"ip": "3.3.3.3",
"is_eu": false,
"city": "Seattle",
"region": "Washington",
"region_code": "WA",
"country_name": "United States",
"country_code": "US",
"continent_name": "North America",
"continent_code": "NA",
"latitude": 47.6344,
"longitude": -122.3422,
"asn": "",
"organisation": "",
"postal": "98109",
"calling_code": "1",
"flag": "https://ipdata.co/flags/us.png",
"emoji_flag": "🇺🇸",
"emoji_unicode": "U+1F1FA U+1F1F8",
"languages": [
{
"name": "English",
"native": "English"
}
],
"currency": {
"name": "US Dollar",
"code": "USD",
"symbol": "$",
"native": "$",
"plural": "US dollars"
},
"time_zone": {
"name": "America/Los_Angeles",
"abbr": "PDT",
"offset": "-0700",
"is_dst": true,
"current_time": "2018-10-01T01:37:55.032920-07:00"
},
"threat": {
"is_tor": false,
"is_proxy": false,
"is_anonymous": false,
"is_known_attacker": false,
"is_known_abuser": false,
"is_threat": false,
"is_bogon": false
},
"count": "695"
},
{
"ip": "4.4.4.4",
"is_eu": false,
"city": "",
"region": "",
"region_code": "",
"country_name": "United States",
"country_code": "US",
"continent_name": "North America",
"continent_code": "NA",
"latitude": 37.751,
"longitude": -97.822,
"asn": "AS3356",
"organisation": "Level 3 Parent, LLC",
"postal": "",
"calling_code": "1",
"flag": "https://ipdata.co/flags/us.png",
"emoji_flag": "🇺🇸",
"emoji_unicode": "U+1F1FA U+1F1F8",
"languages": [
{
"name": "English",
"native": "English"
}
],
"currency": {
"name": "US Dollar",
"code": "USD",
"symbol": "$",
"native": "$",
"plural": "US dollars"
},
"time_zone": {
"name": "",
"abbr": "",
"offset": "",
"is_dst": "",
"current_time": ""
},
"threat": {
"is_tor": false,
"is_proxy": false,
"is_anonymous": false,
"is_known_attacker": false,
"is_known_abuser": false,
"is_threat": false,
"is_bogon": false
},
"count": "695"
},
{
"ip": "5.5.5.5",
"is_eu": true,
"city": "",
"region": "",
"region_code": "",
"country_name": "Germany",
"country_code": "DE",
"continent_name": "Europe",
"continent_code": "EU",
"latitude": 51.2993,
"longitude": 9.491,
"asn": "AS12638",
"organisation": "Telefonica Germany",
"postal": "",
"calling_code": "49",
"flag": "https://ipdata.co/flags/de.png",
"emoji_flag": "🇩🇪",
"emoji_unicode": "U+1F1E9 U+1F1EA",
"languages": [
{
"name": "German",
"native": "Deutsch"
}
],
"currency": {
"name": "Euro",
"code": "EUR",
"symbol": "€",
"native": "€",
"plural": "euros"
},
"time_zone": {
"name": "",
"abbr": "",
"offset": "",
"is_dst": "",
"current_time": ""
},
"threat": {
"is_tor": false,
"is_proxy": false,
"is_anonymous": false,
"is_known_attacker": false,
"is_known_abuser": false,
"is_threat": false,
"is_bogon": false
},
"count": "695"
},
{
"ip": "6.6.6.6",
"is_eu": false,
"city": "",
"region": "",
"region_code": "",
"country_name": "United States",
"country_code": "US",
"continent_name": "North America",
"continent_code": "NA",
"latitude": 37.751,
"longitude": -97.822,
"asn": "",
"organisation": "",
"postal": "",
"calling_code": "1",
"flag": "https://ipdata.co/flags/us.png",
"emoji_flag": "🇺🇸",
"emoji_unicode": "U+1F1FA U+1F1F8",
"languages": [
{
"name": "English",
"native": "English"
}
],
"currency": {
"name": "US Dollar",
"code": "USD",
"symbol": "$",
"native": "$",
"plural": "US dollars"
},
"time_zone": {
"name": "",
"abbr": "",
"offset": "",
"is_dst": "",
"current_time": ""
},
"threat": {
"is_tor": false,
"is_proxy": false,
"is_anonymous": false,
"is_known_attacker": false,
"is_known_abuser": false,
"is_threat": false,
"is_bogon": false
},
"count": "695"
},
{
"ip": "7.7.7.7",
"is_eu": false,
"city": "",
"region": "",
"region_code": "",
"country_name": "United States",
"country_code": "US",
"continent_name": "North America",
"continent_code": "NA",
"latitude": 37.751,
"longitude": -97.822,
"asn": "AS27651",
"organisation": "ENTEL CHILE S.A.",
"postal": "",
"calling_code": "1",
"flag": "https://ipdata.co/flags/us.png",
"emoji_flag": "🇺🇸",
"emoji_unicode": "U+1F1FA U+1F1F8",
"languages": [
{
"name": "English",
"native": "English"
}
],
"currency": {
"name": "US Dollar",
"code": "USD",
"symbol": "$",
"native": "$",
"plural": "US dollars"
},
"time_zone": {
"name": "",
"abbr": "",
"offset": "",
"is_dst": "",
"current_time": ""
},
"threat": {
"is_tor": false,
"is_proxy": false,
"is_anonymous": false,
"is_known_attacker": false,
"is_known_abuser": false,
"is_threat": false,
"is_bogon": false
},
"count": "695"
},
{
"ip": "8.8.8.8",
"is_eu": false,
"city": "",
"region": "",
"region_code": "",
"country_name": "United States",
"country_code": "US",
"continent_name": "North America",
"continent_code": "NA",
"latitude": 37.751,
"longitude": -97.822,
"asn": "AS15169",
"organisation": "Google LLC",
"postal": "",
"calling_code": "1",
"flag": "https://ipdata.co/flags/us.png",
"emoji_flag": "🇺🇸",
"emoji_unicode": "U+1F1FA U+1F1F8",
"languages": [
{
"name": "English",
"native": "English"
}
],
"currency": {
"name": "US Dollar",
"code": "USD",
"symbol": "$",
"native": "$",
"plural": "US dollars"
},
"time_zone": {
"name": "",
"abbr": "",
"offset": "",
"is_dst": "",
"current_time": ""
},
"threat": {
"is_tor": false,
"is_proxy": false,
"is_anonymous": false,
"is_known_attacker": false,
"is_known_abuser": true,
"is_threat": true,
"is_bogon": false
},
"count": "695"
},
{
"ip": "9.9.9.9",
"is_eu": true,
"city": "",
"region": "",
"region_code": "",
"country_name": "France",
"country_code": "FR",
"continent_name": "Europe",
"continent_code": "EU",
"latitude": 48.8582,
"longitude": 2.3387000000000002,
"asn": "AS19281",
"organisation": "Quad9",
"postal": "",
"calling_code": "33",
"flag": "https://ipdata.co/flags/fr.png",
"emoji_flag": "🇫🇷",
"emoji_unicode": "U+1F1EB U+1F1F7",
"languages": [
{
"name": "French",
"native": "Français"
}
],
"currency": {
"name": "Euro",
"code": "EUR",
"symbol": "€",
"native": "€",
"plural": "euros"
},
"time_zone": {
"name": "Europe/Paris",
"abbr": "CEST",
"offset": "+0200",
"is_dst": true,
"current_time": "2018-10-01T10:37:55.043064+02:00"
},
"threat": {
"is_tor": false,
"is_proxy": false,
"is_anonymous": false,
"is_known_attacker": false,
"is_known_abuser": false,
"is_threat": false,
"is_bogon": false
},
"count": "695"
}
]
400: Bad Request
Response when IPs are more than a 100
{"message": "Bulk requests should not contain more than 100 IP addresses."}