# ipapi.is (IP to company)

Gateway provider `ipapi` · call `https://fetchapi.co/api/gw/ipapi/<path>` with header `x-api-key` (get a key at https://fetchapi.co/keys) · MCP: tools `search_endpoints`, `get_endpoint`, `call_endpoint` at https://fetchapi.co/api/mcp · listing: https://ipapi.is/developers.html

2 working endpoints, each tested live through this gateway. Endpoints that returned no data in our latest test, write actions and endpoints that need the end user's own login are not listed.

## `ipapi.bulk_lookup` — Look up the company and network behind up to 100 IP addresses at once (ipapi.is)

`POST /lookup` · ✓ working (tested 2026-10-08) · sampled 2026-10-08, 5 ms

One call returns details for up to 100 IP addresses at once, with the same fields as the single lookup. The answer is a dictionary keyed by IP address, where each value is a complete record with company, network, location, and security flags. Each IP counts as one request against the plan.

Fields: `[].ip` The IP address; `[].asn.asn` Autonomous System Number; `[].asn.org` ASN operator organization name; `[].company.name` Company or network operator name; `[].company.type` Entity type: business, isp, hosting, education, government; `[].company.domain` Company domain; `[].location.country` Country name; `[].location.city` City name; `[].location.latitude` Latitude coordinate; `[].location.longitude` Longitude coordinate; `[].location.timezone` IANA timezone; `[].is_vpn` VPN endpoint flag; `[].is_proxy` Proxy server flag; `[].is_datacenter` Datacenter flag; `[].is_abuser` Known abuser flag

```bash
curl -X POST "https://fetchapi.co/api/gw/ipapi/lookup" \
  -H "x-api-key: $FETCHAPI_KEY" -H "content-type: application/json" \
  -d '{}'
```

Real answer (trimmed):

```json
{
 "1.1.1.1": {
  "ip": "1.1.1.1",
  "asn": {
   "asn": 13335,
   "org": "Cloudflare, Inc.",
   "rir": "ARIN",
   "type": "hosting",
   "abuse": "abuse@cloudflare.com",
   "descr": "CLOUDFLARENET - Cloudflare, Inc., US",
   "route": "1.1.1.0/24",
   "active": true,
   "domain": "cloudflare.com",
   "country": "us",
   "created": "2010-07-14",
   "updated": "2017-02-17",
   "abuser_score": "0.0159 (Elevated)"
  },
  "rir": "APNIC",
  "abuse": {
   "name": "APNIC Research and Development",
   "email": "helpdesk@apnic.net",
   "phone": "+61-7-38583100",
   "address": "6 Cordelia St"
  },
  "is_tor": false,
  "is_vpn": false,
  "company": {
   "name": "APNIC Research and Development",
   "type": "business",
   "domain": "apnic.net",
   "netname": "APNIC-LABS",
   "network": "1.1.1.0 - 1.1.1.255",
   "abuser_score": "0.0117 (Elevated)"
  },
  "is_bogon": false,
  "is_proxy": false,
  "location": {
   "zip": "4000",
   "city": "Brisbane",
   "state": "Queensland",
   "is_dst": false,
   "country": "Australia",
   "accuracy": "VERY_LOW",
   "latitude": -27.46754,
   "timezone": "Australia/Brisbane",
   "continent": "OC",
   "longitude": 153.02809,
   "utcoffset": "+10:00",
   "local_time": "2026-10-09T02:17:38+10:00",
   "calling_code": "61",
   "country_code": "AU",
   "is_eu_member": false,
   "currency_code": "AUD",
   "local_time_unix": 1791476258
  },
  "is_abuser": false,
  "is_mobile": false,
  "elapsed_ms": 0.01,
  "is_anycast": true,
  "is_crawler": false,
  "is_satellite":
…
```

## `ipapi.lookup` — Get the company, network and location behind an IP address (ipapi.is)

`GET /lookup` · ✓ working (tested 2026-10-08) · sampled 2026-10-08, 15 ms

One call returns details about a single IP address: who operates it (company/ASN), where it's located, and flags for VPN/proxy/datacenter/abuse status. One item in the answer is a complete record with company, network, location, and security flags for that IP.

| param | required | example / default |
|---|---|---|
| `q` | yes | 23.236.48.55 |

Fields: `ip` The IP address queried; `asn.asn` Autonomous System Number; `asn.org` ASN operator organization name; `company.name` Company or network operator name; `company.type` Entity type: business, isp, hosting, education, government; `company.domain` Company domain; `location.country` Country name; `location.city` City name; `location.latitude` Latitude coordinate; `location.longitude` Longitude coordinate; `location.timezone` IANA timezone; `is_vpn` VPN endpoint flag; `is_proxy` Proxy server flag; `is_datacenter` Datacenter flag; `is_abuser` Known abuser flag

```bash
curl "https://fetchapi.co/api/gw/ipapi/lookup?q=23.236.48.55" \
  -H "x-api-key: $FETCHAPI_KEY"
```

Real answer (trimmed):

```json
{
 "ip": "23.236.48.55",
 "asn": {
  "asn": 396982,
  "org": "Google LLC",
  "rir": "ARIN",
  "type": "hosting",
  "abuse": "google-cloud-compliance@google.com",
  "descr": "GOOGLE-CLOUD-PLATFORM - Google LLC, US",
  "route": "23.236.48.0/24",
  "active": true,
  "domain": "google.com",
  "country": "us",
  "created": "2018-08-15",
  "updated": "2021-11-16",
  "abuser_score": "0.0027 (Low)"
 },
 "rir": "ARIN",
 "abuse": {
  "name": "Google LLC",
  "email": "google-cloud-compliance@google.com",
  "phone": "+1-650-253-0000",
  "address": "1600 Amphitheatre Parkway, Mountain View, CA, 94043, US"
 },
 "is_tor": false,
 "is_vpn": false,
 "company": {
  "name": "Google LLC",
  "type": "hosting",
  "domain": "google.com",
  "netname": "GOOGLE-CLOUD",
  "network": "23.236.48.0 - 23.236.63.255",
  "abuser_score": "0.0095 (Elevated)"
 },
 "is_bogon": false,
 "is_proxy": false,
 "location": {
  "zip": "51502",
  "city": "Council Bluffs",
  "state": "Iowa",
  "is_dst": true,
  "country": "United States",
  "accuracy": "VERY_HIGH",
  "latitude": 41.26194,
  "timezone": "America/Chicago",
  "continent": "NA",
  "longitude": -95.86083,
  "utcoffset": "-05:00",
  "local_time": "2026-10-08T11:17:38-05:00",
  "calling_code": "1",
  "country_code": "US",
  "is_eu_member": false,
  "currency_code": "USD",
  "local_time_unix": 1791476258
 },
 "is_abuser": false,
 "is_mobile": false,
 "datacenter": {
  "scope": "us-central1",
  "network": "23.236.48.0/20",
  "service": "Google Cloud",
  "datacente
…
```
