# GeoJS

> Look up where IP addresses are with GeoJS, a free IP geolocation service: the country, region, city, coordinates, time zone and network of one address or up to fifty at once, or just an address's country. No account or API key required.

App · 3 actions. Web page: https://docs.lodol.com/docs/integrations/geojs

## Actions

### Get IP address country

Find just the country of an IPv4 or IPv6 address: its two- and three-letter codes and its name. Handy for routing or tagging by country. No API key required.

**Inputs**

- IP address (`ip_address`, text, required): The IPv4 or IPv6 address to look up.

**Outputs**

- `country_code` (text): The country's two-letter code, e.g. 'US'.
- `country_code3` (text): The country's three-letter code, e.g. 'USA'.
- `country_name` (text): The country's name in English, e.g. 'United States'.
- `found` (true/false): True when GeoJS knows the address's country. False for a private address or one it cannot place; the other fields are then empty.
- `ip` (text): The address that was looked up, e.g. '8.8.8.8'.
- `summary` (text): One line naming the country, e.g. '8.8.8.8 is in United States', or saying that none was found.

**Example output**

```json
{
  "country_code": "US",
  "country_code3": "USA",
  "country_name": "United States",
  "found": true,
  "ip": "8.8.8.8",
  "summary": "8.8.8.8 is in United States"
}
```

### Look up IP address

Find out where an IPv4 or IPv6 address is: its country, region, city, coordinates (with how accurate they are) and time zone, plus the network it belongs to. Addresses GeoJS cannot place come back with 'found' set to false rather than failing the step. No API key required.

**Inputs**

- IP address (`ip_address`, text, required): The IPv4 or IPv6 address to look up.

**Outputs**

- `accuracy_km` (number): How far from the coordinates the address may really be, in kilometres, e.g. 200. Large values (1000) mean only the country is known with any confidence.
- `asn` (number): The number of the network (autonomous system) the address belongs to, e.g. 20712.
- `city` (text): The city, e.g. 'Milton Keynes'. Often empty.
- `continent_code` (text): The continent's two-letter code, e.g. 'EU' or 'NA'.
- `country_code` (text): The country's two-letter code, e.g. 'GB'.
- `country_code3` (text): The country's three-letter code, e.g. 'GBR'.
- `country_name` (text): The country's name in English, e.g. 'United Kingdom'.
- `found` (true/false): True when GeoJS could place the address in a country. False for a private address or one it has no location for; the network may still be known.
- `ip` (text): The address that was looked up, e.g. '81.2.69.142'.
- `latitude` (number): The latitude of the location, e.g. 51.9582.
- `longitude` (number): The longitude of the location, e.g. -0.5872.
- `network_name` (text): The name of the organisation that runs that network, e.g. 'Andrews & Arnold Ltd'.
- `region` (text): The state, province or region, e.g. 'England'.
- `summary` (text): One line saying where the address is, e.g. '81.2.69.142 is in Milton Keynes, England, United Kingdom (Andrews & Arnold Ltd)', or that no location was found.
- `timezone` (text): The location's time zone, e.g. 'Europe/London'.

**Example output**

```json
{
  "accuracy_km": 200,
  "asn": 20712,
  "city": "Milton Keynes",
  "continent_code": "EU",
  "country_code": "GB",
  "country_code3": "GBR",
  "country_name": "United Kingdom",
  "found": true,
  "ip": "81.2.69.142",
  "latitude": 51.9582,
  "longitude": -0.5872,
  "network_name": "Andrews & Arnold Ltd",
  "region": "England",
  "summary": "81.2.69.142 is in Milton Keynes, England, United Kingdom (Andrews & Arnold Ltd)",
  "timezone": "Europe/London"
}
```

### Look up IP addresses

Locate up to 50 IPv4 or IPv6 addresses in one step, such as a column of sign-up addresses or the addresses in a log, and get a row for each with its country, region, city, coordinates, time zone and network. Addresses GeoJS cannot place are listed with 'found' set to false, so one private address does not fail the step. No API key required.

**Inputs**

- IP addresses (`ip_addresses`, list, required): The addresses to look up, as a list or separated by commas. At most 50; repeats are looked up once.

**Outputs**

- `count` (number): How many distinct addresses were looked up.
- `found_count` (number): How many of them GeoJS could place.
- `locations` (list): One location per address, in the order given.

**Example output**

```json
{
  "count": 2,
  "found_count": 2,
  "locations": [
    {
      "accuracy_km": 1000,
      "asn": 15169,
      "city": null,
      "continent_code": "NA",
      "country_code": "US",
      "country_code3": "USA",
      "country_name": "United States",
      "found": true,
      "ip": "8.8.8.8",
      "latitude": 37.751,
      "longitude": -97.822,
      "network_name": "Google LLC",
      "region": null,
      "summary": "8.8.8.8 is in United States (Google LLC)",
      "timezone": "America/Chicago"
    },
    {
      "accuracy_km": 200,
      "asn": 20712,
      "city": "Milton Keynes",
      "continent_code": "EU",
      "country_code": "GB",
      "country_code3": "GBR",
      "country_name": "United Kingdom",
      "found": true,
      "ip": "81.2.69.142",
      "latitude": 51.9582,
      "longitude": -0.5872,
      "network_name": "Andrews & Arnold Ltd",
      "region": "England",
      "summary": "81.2.69.142 is in Milton Keynes, England, United Kingdom (Andrews & Arnold Ltd)",
      "timezone": "Europe/London"
    }
  ]
}
```
