---
canonical_url: "https://docs.composio.dev/toolkits/ipgeolocation"
markdown_url: "https://docs.composio.dev/toolkits/ipgeolocation.md"
product: "platform"
version: null
last_updated: null
---

# IPGeolocation.io

IPGeolocation.io provides IP geolocation, threat intelligence, ASN, abuse contact, timezone, User-Agent, and astronomy data.

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 13
- **Triggers:** 0
- **Slug:** `IPGEOLOCATION`
- **Version:** 00000000_00

## Tools

### Bulk Look Up IP Geolocation

**Slug:** `IPGEOLOCATION_BULK_LOOKUP_IP_GEOLOCATION`

Return geolocation results for 1-50 explicit IP addresses or domains in one paid request, preserving input order and per-item errors. Credits apply per valid item and optional enrichment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | array | No | Dot-path fields or objects to retain, serialized as a comma-separated query value. |
| `language` | string ("en" | "de" | "ru" | "ja" | "fr" | "cn" | "es" | "cs" | "it" | "ko" | "fa" | "pt") | No | Language for translated location names; non-English output requires paid access. |
| `enrichments` | array | No | Optional modules applied to every valid item. Security adds 2 credits and Abuse adds 1 credit per item; '*' is intentionally not exposed. |
| `exclude_fields` | array | No | Dot-path fields or objects to omit, serialized as a comma-separated query value. |
| `ips_or_domains` | array | Yes | IPv4 addresses, IPv6 addresses, or domains to locate. The provider allows 50,000, but this tool caps each call at 50 to bound cost and response size. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Look Up IP Security

**Slug:** `IPGEOLOCATION_BULK_LOOKUP_IP_SECURITY`

Return threat intelligence for 1-50 IPv4 or IPv6 addresses in one paid request, preserving order and per-item errors. Costs 2 credits per valid item.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ips` | array | Yes | IPv4 or IPv6 addresses to assess (1-50). Results preserve this order. |
| `fields` | array | No | Dot-path fields or objects to retain. Sent as a comma-separated filter. |
| `exclude_fields` | array | No | Dot-path fields or objects to omit. Sent as the provider's comma-separated excludes filter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Parse User-Agents

**Slug:** `IPGEOLOCATION_BULK_PARSE_USER_AGENTS`

Parse 1-50 custom User-Agent strings in one paid request and return one ordered parser result per input. Costs 1 credit per string.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_agents` | array | Yes | User-Agent strings to parse. Each value is trimmed and must contain 1-8192 characters. This tool accepts 1-50 values to bound credits and response size. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Convert Timezone

**Slug:** `IPGEOLOCATION_CONVERT_TIMEZONE`

Convert a supplied or current wall-clock time between two explicit timezone, place, coordinate, airport-code, or UN/LOCODE selectors of the same family. Costs 1 credit on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `time` | string | No | Source-local wall time as yyyy-MM-dd HH:mm or yyyy-MM-dd HH:mm:ss. Omit to convert the current time. |
| `source_value` | string | No | Source timezone, location, IATA, ICAO, or UN/LOCODE value. Omit only when selector_type is coordinates. |
| `selector_type` | string ("timezone" | "location" | "coordinates" | "iata" | "icao" | "unlocode") | Yes | Selector family shared by the source and destination. |
| `source_latitude` | number | No | Source latitude used only when selector_type is coordinates. |
| `source_longitude` | number | No | Source longitude used only when selector_type is coordinates. |
| `destination_value` | string | No | Destination timezone, location, IATA, ICAO, or UN/LOCODE value. Omit only when selector_type is coordinates. |
| `destination_latitude` | number | No | Destination latitude used only when selector_type is coordinates. |
| `destination_longitude` | number | No | Destination longitude used only when selector_type is coordinates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Execution Egress IP

**Slug:** `IPGEOLOCATION_GET_EXECUTION_EGRESS_IP`

Return the public IP observed for the Composio execution environment. This is not the end user's device or browser IP.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Look Up ASN

**Slug:** `IPGEOLOCATION_LOOKUP_ASN`

Return detailed autonomous-system metadata for one explicit IP address or ASN number, with optional topology, routes, and WHOIS data. Requires paid ASN access and costs 1 credit on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | array | No | Dot-path fields or objects to retain, serialized as comma-separated values. |
| `include` | array | No | Optional detailed ASN sections to include. Routes and raw WHOIS can substantially increase response size. |
| `lookup_type` | string ("ip" | "asn") | Yes | Whether lookup_value is an IPv4/IPv6 address or an autonomous system number. |
| `lookup_value` | string | Yes | IP address or ASN matching lookup_type, for example 8.8.8.8 or AS15169. |
| `exclude_fields` | array | No | Dot-path fields or objects to omit, serialized as comma-separated values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Look Up Astronomy

**Slug:** `IPGEOLOCATION_LOOKUP_ASTRONOMY`

Return Sun, Moon, twilight, golden-hour, and positional data for one explicit location and date. Costs 1 credit on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | Calculation date as yyyy-MM-dd. Omit to use the provider's current date. |
| `language` | string ("en" | "de" | "ru" | "ja" | "fr" | "cn" | "es" | "cs" | "it" | "ko" | "fa" | "pt") | No | Language for translated names; non-English output requires paid access. |
| `latitude` | number | No | Latitude used only with coordinates; requires longitude. |
| `longitude` | number | No | Longitude used only with coordinates; requires latitude. |
| `time_zone` | string | No | IANA timezone used to render event timestamps; it does not change the calculation location. |
| `selector_type` | string ("coordinates" | "location" | "ip") | Yes | The single location selector family for the astronomy calculation. |
| `selector_value` | string | No | Address, place, or IPv4/IPv6 value for location or ip selectors. Omit only when selector_type=coordinates. |
| `elevation_meters` | number | No | Elevation above sea level in meters (0-10000). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Look Up Astronomy Time Series

**Slug:** `IPGEOLOCATION_LOOKUP_ASTRONOMY_TIME_SERIES`

Return daily Sun, Moon, twilight, and golden-hour events for one explicit location over an inclusive range of at most 90 days. Costs 1 credit per request, not per day.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_date` | string | Yes | Inclusive end date in YYYY-MM-DD format. It must be on or after start_date, with at most 90 calendar days in the inclusive range. |
| `language` | string ("en" | "de" | "ru" | "ja" | "fr" | "cn" | "es" | "cs" | "it" | "ko" | "fa" | "pt") | No | Language for translated names; non-English output requires paid access. |
| `latitude` | number | No | Latitude used only with selector_type=coordinates; requires longitude. |
| `longitude` | number | No | Longitude used only with selector_type=coordinates; requires latitude. |
| `time_zone` | string | No | IANA timezone used to render event timestamps. |
| `start_date` | string | Yes | Inclusive start date in YYYY-MM-DD format. |
| `selector_type` | string ("coordinates" | "location" | "ip") | Yes | The single location selector family used for every day in the range. |
| `selector_value` | string | No | Address/place or IPv4/IPv6 value for location or ip. Omit only when selector_type=coordinates. |
| `elevation_meters` | number | No | Elevation above sea level in meters (0-10000). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Look Up IP Abuse Contact

**Slug:** `IPGEOLOCATION_LOOKUP_IP_ABUSE_CONTACT`

Return registry abuse contact details for one explicit IPv4 or IPv6 address, including organization, address, emails, and phone numbers. Requires paid Abuse access and costs 1 credit on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ip` | string | Yes | Explicit IPv4 or IPv6 address whose abuse contact should be returned. Required to avoid looking up Composio's egress IP. |
| `fields` | array | No | Dot-path fields or objects to retain. Sent upstream as comma-separated values. |
| `exclude_fields` | array | No | Dot-path fields or objects to omit. Sent upstream as comma-separated values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Look Up IP Geolocation

**Slug:** `IPGEOLOCATION_LOOKUP_IP_GEOLOCATION`

Return location, timezone, currency, ASN, and optional paid enrichments for one explicit IPv4 address, IPv6 address, or domain. Costs 1 credit on success, plus 2 for Security and 1 for Abuse enrichment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | array | No | Dot-path fields or objects to retain. The tool serializes the list as comma-separated values; ip is always returned. |
| `language` | string ("en" | "de" | "ru" | "ja" | "fr" | "cn" | "es" | "cs" | "it" | "ko" | "fa" | "pt") | No | Language for translated location names. Values other than en require paid access. |
| `enrichments` | array | No | Optional paid response modules. Security adds 2 credits and Abuse adds 1 credit per successful lookup; live hostname options may add latency. The provider '*' shortcut is intentionally not exposed. |
| `ip_or_domain` | string | Yes | IPv4 address, IPv6 address, or domain to locate; domain lookup requires a paid plan. Explicit input is required to avoid locating Composio's egress IP. |
| `exclude_fields` | array | No | Dot-path fields or objects to omit. The tool serializes the list as comma-separated values; ip cannot be omitted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Look Up IP Security

**Slug:** `IPGEOLOCATION_LOOKUP_IP_SECURITY`

Return threat score and Tor, proxy, VPN, relay, bot, spam, attacker, and cloud-provider signals for one explicit IPv4 or IPv6 address. Requires paid Security access and costs 2 credits on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ip` | string | Yes | Explicit IPv4 or IPv6 address to assess. Required to avoid assessing Composio's egress IP. |
| `fields` | array | No | Dot-path fields or objects to retain. Sent upstream as comma-separated values. |
| `exclude_fields` | array | No | Dot-path fields or objects to omit. Sent upstream as comma-separated values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Look Up Timezone

**Slug:** `IPGEOLOCATION_LOOKUP_TIMEZONE`

Return current date, time, UTC offsets, and DST details for one explicit timezone, place, coordinate pair, IP, airport code, or UN/LOCODE. Costs 1 credit on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `language` | string ("en" | "de" | "ru" | "ja" | "fr" | "cn" | "es" | "cs" | "it" | "ko" | "fa" | "pt") | No | Language for translated location names; non-English output requires paid access. |
| `latitude` | number | No | Latitude used only with selector_type=coordinates; requires longitude. |
| `longitude` | number | No | Longitude used only with selector_type=coordinates; requires latitude. |
| `selector_type` | string ("timezone" | "location" | "coordinates" | "ip" | "iata" | "icao" | "unlocode") | Yes | The single selector family used to resolve the timezone. |
| `selector_value` | string | No | Value for timezone, location, ip, iata, icao, or unlocode selectors. Omit only when selector_type=coordinates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Parse User-Agent

**Slug:** `IPGEOLOCATION_PARSE_USER_AGENT`

Parse one explicit User-Agent string using the operation available on the free plan. Returns browser/client, device, engine, and operating-system details and consumes 1 credit on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_agent` | string | Yes | User-Agent string to parse. Explicit input is required so the tool never silently parses Composio's HTTP client header. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
