API v1 is being deprecated. Greip will continue to support existing v1 integrations for now, but new endpoints, fields, and documentation updates ship on API v2 only. Switch the docs version to API v2 (recommended) or follow the Migrate from API v1 to v2 guide to upgrade your integration.
Bulk IP Lookup
curl --request GET \
--url https://greipapi.com/lookup/ip/bulk \
--header 'Authorization: Bearer <token>'import requests
url = "https://greipapi.com/lookup/ip/bulk"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://greipapi.com/lookup/ip/bulk', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://greipapi.com/lookup/ip/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://greipapi.com/lookup/ip/bulk"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://greipapi.com/lookup/ip/bulk")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://greipapi.com/lookup/ip/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyData Lookup
Bulk IP Lookup
This API enables you to retrieve information for multiple IP addresses in a single request.
By using the /lookup/ip/bulk method, you can efficiently gather data such as location, ISP, and risk factors for a batch of IPs, saving time and streamlining your workflow for large-scale analysis.
API v1 is being deprecated. Greip will continue to support existing v1 integrations for now, but new endpoints, fields, and documentation updates ship on API v2 only. Switch the docs version to API v2 (recommended) or follow the Migrate from API v1 to v2 guide to upgrade your integration.
GET
/
lookup
/
ip
/
bulk
Bulk IP Lookup
curl --request GET \
--url https://greipapi.com/lookup/ip/bulk \
--header 'Authorization: Bearer <token>'import requests
url = "https://greipapi.com/lookup/ip/bulk"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://greipapi.com/lookup/ip/bulk', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://greipapi.com/lookup/ip/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://greipapi.com/lookup/ip/bulk"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://greipapi.com/lookup/ip/bulk")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://greipapi.com/lookup/ip/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyYou can lookup upto 10 IP addresses using this method. Otherwise, you will get
an error response (Code: 118).
Query Parameters
string
required
The ips command is used to specify the IP address you want to lookup.Expected values: comma serarated IP addresses (IPv4 or IPv6)Sample value:
1.1.1.1,2.2.2.2string
The params command can be used to specify the required modules you want to get
in the response.Expected values:
security, currency, timezone, location, and/or deviceSample value: security,timezone,currencyFor more information please refer to Customize response modules.string
default:"JSON"
The format command is used to get a response in a specific format.Expected values:
JSON, XML, CSV, or NewlineFor more information please refer to Response Format.string
default:"EN"
The lang command is used to get a response in a specific language.Expected values:
EN, AR, DE, FR, ES, JA, ZH, or RUFor more information please refer to Localization.string
default:"live"
The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.Expected values:
live, or test.For more information please refer to Development Environment.string
The callback command can help you make the response as a JSONP format.Expected values: any name that can be used as a function name in Javascript, e.g:
myFunctionName.For more information please refer to JSONP Callback.Was this page helpful?