Make sure to sign up for a Free API key here to test these examples.
The simplest call you can make would be a parameter-less GET
call to the API endpoint at https://api.ipdata.co. This would return the location of the calling IP address.
curl "https://api.ipdata.co?api-key=test"
To lookup a specific IP Address
curl "https://api.ipdata.co/8.8.8.8?api-key=test"
var request = new XMLHttpRequest();​request.open('GET', 'https://api.ipdata.co/?api-key=test');​request.setRequestHeader('Accept', 'application/json');​request.onreadystatechange = function () {if (this.readyState === 4) {console.log(this.responseText);}};​request.send();
from ipdata import ipdatafrom pprint import pprint​# Create an instance of an ipdata object. Replace `test` with your API Keyipdata = ipdata.IPData('test')response = ipdata.lookup('69.78.70.144')pprint(response)
import IPData from 'ipdata';​const ipdata = new IPData('test');​const ip = '1.1.1.1';ipdata.lookup(ip).then(function(data) {console.log(data)});
use Ipdata\ApiClient\Ipdata;use Symfony\Component\HttpClient\Psr18Client;use Nyholm\Psr7\Factory\Psr17Factory;​$httpClient = new Psr18Client();$psr17Factory = new Psr17Factory();$ipdata = new Ipdata('test', $httpClient, $psr17Factory);$data = $ipdata->lookup('69.78.70.144');echo json_encode($data, JSON_PRETTY_PRINT);
require 'uri'require 'net/http'​url = URI("https://api.ipdata.co/?api-key=test")​http = Net::HTTP.new(url.host, url.port)​request = Net::HTTP::Get.new(url)​response = http.request(request)puts response.read_body
package main​import ("github.com/ipdata/go""log""fmt")​func main() {ipd, _ := ipdata.NewClient("test")data, err := ipd.Lookup("8.8.8.8")if err != nil {log.Fatalf("%v", err)}​fmt.Printf("%s (%s)\n", data.IP, data.ASN)}
var client = new IpDataClient("test");​// Get IP data from IPvar ipInfo = await client.Lookup("8.8.8.8");Console.WriteLine($"Country name for {ipInfo.Ip} is {ipInfo.CountryName}");
import io.ipdata.client.Ipdata;​URL url = new URL("https://api.ipdata.co");IpdataService ipdataService = Ipdata.builder().url(url).key("test").get();IpdataModel model = ipdataService.ipdata("1.1.1.1");System.out.println(jsonSerialize(model));
import Foundation​let request = NSMutableURLRequest(url: NSURL(string: "https://api.ipdata.co/?api-key=test")! as URL,cachePolicy: .useProtocolCachePolicy,timeoutInterval: 10.0)request.httpMethod = "GET"​let session = URLSession.sharedlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void inif (error != nil) {print(error)} else {let httpResponse = response as? HTTPURLResponseprint(httpResponse)}})​dataTask.resume()
All calls must be made to the https endpoint. No requests will be served over unsecured HTTP.
The test
API key used in these examples is very heavily rate limited do not use it for anything you care about.
Install the ipdata cli.
Check out our frequently asked questions.