Skip to content

Instantly share code, notes, and snippets.

@ofthenorth
Created October 23, 2025 10:11
Show Gist options
  • Select an option

  • Save ofthenorth/d928e14bd07d2eb5c0b8e533bfdb7f2e to your computer and use it in GitHub Desktop.

Select an option

Save ofthenorth/d928e14bd07d2eb5c0b8e533bfdb7f2e to your computer and use it in GitHub Desktop.
openapi: 3.0.3
info:
title: IPGet Geolocation API
version: 1.0.0
description: |
# IPGet Geolocation API
A high-performance IP geolocation and intelligence API providing comprehensive geographic, network, security, and demographic data for any IPv4 or IPv6 address.
## Features
- **Global Coverage**: Accurate geolocation data for IPv4 and IPv6 addresses worldwide
- **Modular Data Groups**: Request only the data you need using flexible group parameters or convenience endpoints
- **Rich Intelligence**: Network ownership, security threat analysis, weather, airports, demographics, and compliance data
- **High Performance**: Built on H2O web server with PostgreSQL backend for sub-50ms response times
- **Pay-Per-Call**: No rate limits - you pay only for what you use
## Data Groups
| Group | Description |
|-------|-------------|
| `location` | Geographic coordinates, administrative regions, timezone, population |
| `network` | ASN details, network ownership, abuse contacts, routing information |
| `localization` | Currency, languages, measurement system, domain codes |
| `temporal` | Current time, UTC offset, DST status, upcoming holidays |
| `weather` | Current conditions, 5-day forecast, air quality, pollen levels |
| `airports` | Nearby airports with IATA/ICAO codes, distances, coordinates |
| `security` | Threat intelligence, proxy/VPN/Tor detection, datacenter identification |
| `compliance` | GDPR/CCPA applicability, tax rates, travel advisories, sanctions |
| `demographics` | Population statistics, income levels, cost of living indices |
## Convenience Endpoints
Instead of using the `groups` query parameter, you can use convenience endpoints:
- `/lookup/{ip}/location` - Location data only
- `/lookup/{ip}/security` - Security data only
- `/lookup/{ip}/weather` - Weather data only
- `/lookup/{ip}/network` - Network data only
- `/lookup/{ip}/compliance` - Compliance data only
- `/lookup/{ip}/demographics` - Demographics data only
- `/lookup/{ip}/localization` - Localization data only
- `/lookup/{ip}/temporal` - Temporal data only
- `/lookup/{ip}/airports` - Airports data only
- `/lookup/{ip}/core` - Core data (location + network + security)
- `/lookup/{ip}/location_security` - Location + Security combined
## Authentication
All requests require an API token passed via the `Authorization` header:
Authorization: Bearer YOUR_API_TOKEN
Tokens can be managed from your account dashboard at https://ipget.io/dashboard
## Credits
Each successful API call consumes one credit. Calls that return errors due to authentication or validation issues do not consume credits.
contact:
name: IPGet Support
url: https://ipget.io/support
email: support@ipget.io
license:
name: Proprietary
url: https://ipget.io/terms
servers:
- url: https://api.ipget.io
description: Production API
- url: https://ap.rkssoftware.com
description: DEV
security:
- BearerAuth: []
paths:
/lookup/{ip}:
get:
summary: Lookup IP Information
description: |
Retrieve geolocation and intelligence data for a specified IP address.
Returns data based on the requested groups. If no groups are specified, returns all available data.
**Note**: Some data may be unavailable for certain IP addresses. Unavailable groups or fields will be omitted from the response or returned as `null`.
operationId: lookup
tags:
- IP Lookup
parameters:
- $ref: '#/components/parameters/IpParameter'
- $ref: '#/components/parameters/GroupsParameter'
responses:
'200':
description: Successful response with IP information
content:
application/json:
schema:
$ref: '#/components/schemas/IPLookupResponse'
examples:
fullResponse:
$ref: '#/components/examples/FullIPResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/lookup/{ip}/location:
get:
summary: Get Location Information
description: Get geographic location data for an IP address
operationId: getLocation
tags:
- Convenience Methods
parameters:
- $ref: '#/components/parameters/IpParameter'
responses:
'200':
description: Location information
content:
application/json:
schema:
type: object
properties:
location:
$ref: '#/components/schemas/LocationGroup'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/lookup/{ip}/security:
get:
summary: Get Security Intelligence
description: Get threat intelligence and security classification for an IP address
operationId: getSecurity
tags:
- Convenience Methods
parameters:
- $ref: '#/components/parameters/IpParameter'
responses:
'200':
description: Security information
content:
application/json:
schema:
type: object
properties:
security:
$ref: '#/components/schemas/SecurityGroup'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/lookup/{ip}/weather:
get:
summary: Get Weather Information
description: Get current weather and forecast for an IP location
operationId: getWeather
tags:
- Convenience Methods
parameters:
- $ref: '#/components/parameters/IpParameter'
responses:
'200':
description: Weather information
content:
application/json:
schema:
type: object
properties:
weather:
$ref: '#/components/schemas/WeatherGroup'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/lookup/{ip}/network:
get:
summary: Get Network Information
description: Get ASN and network ownership data for an IP address
operationId: getNetwork
tags:
- Convenience Methods
parameters:
- $ref: '#/components/parameters/IpParameter'
responses:
'200':
description: Network information
content:
application/json:
schema:
type: object
properties:
network:
$ref: '#/components/schemas/NetworkGroup'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/lookup/{ip}/compliance:
get:
summary: Get Compliance Information
description: Get legal compliance and regulatory data for an IP location
operationId: getCompliance
tags:
- Convenience Methods
parameters:
- $ref: '#/components/parameters/IpParameter'
responses:
'200':
description: Compliance information
content:
application/json:
schema:
type: object
properties:
compliance:
$ref: '#/components/schemas/ComplianceGroup'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/lookup/{ip}/demographics:
get:
summary: Get Demographics Information
description: Get demographic and economic data for an IP location
operationId: getDemographics
tags:
- Convenience Methods
parameters:
- $ref: '#/components/parameters/IpParameter'
responses:
'200':
description: Demographics information
content:
application/json:
schema:
type: object
properties:
demographics:
$ref: '#/components/schemas/DemographicsGroup'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/lookup/{ip}/localization:
get:
summary: Get Localization Information
description: Get currency, language, and cultural data for an IP location
operationId: getLocalization
tags:
- Convenience Methods
parameters:
- $ref: '#/components/parameters/IpParameter'
responses:
'200':
description: Localization information
content:
application/json:
schema:
type: object
properties:
localization:
$ref: '#/components/schemas/LocalizationGroup'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/lookup/{ip}/temporal:
get:
summary: Get Temporal Information
description: Get time, timezone, and holiday data for an IP location
operationId: getTemporal
tags:
- Convenience Methods
parameters:
- $ref: '#/components/parameters/IpParameter'
responses:
'200':
description: Temporal information
content:
application/json:
schema:
type: object
properties:
temporal:
$ref: '#/components/schemas/TemporalGroup'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/lookup/{ip}/airports:
get:
summary: Get Airports Information
description: Get nearby airports for an IP location
operationId: getAirports
tags:
- Convenience Methods
parameters:
- $ref: '#/components/parameters/IpParameter'
responses:
'200':
description: Airports information
content:
application/json:
schema:
type: object
properties:
airports:
$ref: '#/components/schemas/AirportsGroup'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/lookup/{ip}/core:
get:
summary: Get Core Intelligence
description: Get location, network, and security data (most commonly requested combination)
operationId: getCore
tags:
- Convenience Methods
parameters:
- $ref: '#/components/parameters/IpParameter'
responses:
'200':
description: Core intelligence data
content:
application/json:
schema:
type: object
properties:
location:
$ref: '#/components/schemas/LocationGroup'
network:
$ref: '#/components/schemas/NetworkGroup'
security:
$ref: '#/components/schemas/SecurityGroup'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/lookup/{ip}/location_security:
get:
summary: Get Location and Security
description: Get location and security data together
operationId: getLocationAndSecurity
tags:
- Convenience Methods
parameters:
- $ref: '#/components/parameters/IpParameter'
responses:
'200':
description: Location and security information
content:
application/json:
schema:
type: object
properties:
location:
$ref: '#/components/schemas/LocationGroup'
security:
$ref: '#/components/schemas/SecurityGroup'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/PaymentRequired'
'403':
$ref: '#/components/responses/Forbidden'
'408':
$ref: '#/components/responses/RequestTimeout'
'500':
$ref: '#/components/responses/InternalServerError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: |
API token for authentication. Obtain your token from the dashboard at https://ipget.io/dashboard
Include in the Authorization header as: `Authorization: Bearer YOUR_API_TOKEN`
parameters:
IpParameter:
name: ip
in: path
required: true
description: IPv4 or IPv6 address to lookup
schema:
type: string
examples:
ipv4:
value: "8.8.8.8"
summary: IPv4 address
ipv6:
value: "2001:4860:4860::8888"
summary: IPv6 address
GroupsParameter:
name: groups
in: query
required: false
description: |
Comma-separated list of data groups to include in response.
Valid groups: `location`, `network`, `localization`, `temporal`, `weather`, `airports`, `security`, `compliance`, `demographics`
Groups are case-sensitive and must be lowercase. Invalid groups are silently ignored.
If omitted, all available groups are returned.
schema:
type: string
pattern: '^[a-z]+(,[a-z]+)*$'
examples:
single:
value: "location"
summary: Single group
multiple:
value: "location,network,security"
summary: Multiple groups
all:
value: "location,network,localization,temporal,weather,airports,security,compliance,demographics"
summary: All groups
responses:
BadRequest:
description: Bad Request - Invalid IP address format
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalidIp:
value:
success: false
error_code: "INVALID_IP"
message: "Invalid IP address"
invalidPath:
value:
success: false
error_code: "INVALID_PATH"
message: "Unknown convenience path"
Unauthorized:
description: Unauthorized - Missing or invalid API token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
missingToken:
value:
success: false
error_code: "MISSING_TOKEN"
message: "Missing API token"
invalidToken:
value:
success: false
error_code: "INVALID_TOKEN"
message: "API token not found"
PaymentRequired:
description: Payment Required - Insufficient credits
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
success: false
error_code: "INSUFFICIENT_CREDITS"
message: "No credits available"
Forbidden:
description: Forbidden - IP or domain not allowed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
domainNotAllowed:
value:
success: false
error_code: "DOMAIN_NOT_ALLOWED"
message: "Referer domain not in whitelist"
ipNotAllowed:
value:
success: false
error_code: "IP_NOT_ALLOWED"
message: "IP address not in whitelist"
RequestTimeout:
description: Request Timeout - Query execution exceeded timeout limit
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
success: false
error_code: "QUERY_TIMEOUT"
message: "Query execution timeout"
InternalServerError:
description: Internal Server Error - Database or query error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
databaseError:
value:
success: false
error_code: "DATABASE_ERROR"
message: "Database error"
queryFailed:
value:
success: false
error_code: "QUERY_FAILED"
message: "Query submission failed"
ServiceUnavailable:
description: Service Unavailable - Server overloaded
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
queueFull:
value:
success: false
error_code: "QUEUE_FULL"
message: "Request queue is full"
queueTimeout:
value:
success: false
error_code: "QUEUE_TIMEOUT"
message: "Request timed out in queue"
schemas:
IPLookupResponse:
type: object
description: IP lookup response containing requested data groups
properties:
location:
$ref: '#/components/schemas/LocationGroup'
network:
$ref: '#/components/schemas/NetworkGroup'
localization:
$ref: '#/components/schemas/LocalizationGroup'
temporal:
$ref: '#/components/schemas/TemporalGroup'
weather:
$ref: '#/components/schemas/WeatherGroup'
airports:
$ref: '#/components/schemas/AirportsGroup'
security:
$ref: '#/components/schemas/SecurityGroup'
compliance:
$ref: '#/components/schemas/ComplianceGroup'
demographics:
$ref: '#/components/schemas/DemographicsGroup'
LocationGroup:
type: object
description: Geographic location information
properties:
country:
type: string
description: ISO 3166-1 alpha-2 country code
example: "US"
nullable: true
countryName:
type: string
description: Full country name
example: "United States"
nullable: true
areaSqKm:
type: integer
description: Country area in square kilometers
example: 9629091
nullable: true
callingCode:
type: string
description: International calling code
example: "1"
nullable: true
postalCodeFormat:
type: string
description: Postal code format pattern
example: "#####-####"
nullable: true
region:
type: string
description: State, province, or region code
example: "CA"
nullable: true
regionName:
type: string
description: Full region name
example: "California"
nullable: true
district:
type: string
description: District or county code
example: "085"
nullable: true
districtName:
type: string
description: Full district name
example: "Santa Clara County"
nullable: true
city:
type: string
description: City name
example: "Mountain View"
nullable: true
zipCode:
type: string
description: Postal/ZIP code
example: "94043"
nullable: true
latitude:
type: number
format: double
description: Latitude coordinate
example: 37.3860500
nullable: true
longitude:
type: number
format: double
description: Longitude coordinate
example: -122.0838500
nullable: true
timezone:
type: string
description: IANA timezone identifier
example: "America/Los_Angeles"
nullable: true
population:
type: integer
description: City population
example: 80435
nullable: true
elevation:
type: integer
description: Elevation in meters
example: 32
nullable: true
NetworkGroup:
type: object
description: Network and ASN information
properties:
ip:
type: string
description: Queried IP address
example: "8.8.8.8"
number:
type: string
description: Autonomous System Number with AS prefix
example: "AS15169"
nullable: true
name:
type: string
description: ASN name
example: "GOOGLE"
nullable: true
orgName:
type: string
description: Organization name
example: "Google LLC"
nullable: true
domain:
type: string
description: Organization domain
example: "google.com"
nullable: true
address:
type: string
description: Organization physical address
example: "1600 Amphitheatre Parkway, Mountain View, CA, 94043, US"
nullable: true
route:
type: string
description: CIDR route for the IP
example: "8.8.8.0/24"
nullable: true
abuse:
type: object
description: Abuse contact information
properties:
name:
type: string
example: "Abuse"
nullable: true
email:
type: string
format: email
example: "network-abuse@google.com"
nullable: true
phone:
type: string
example: "+1-650-253-0000"
nullable: true
nullable: true
contact:
type: array
description: Additional contact information
items:
type: object
properties:
name:
type: string
example: "Google LLC"
nullable: true
role:
type: string
example: "tech"
nullable: true
email:
type: string
format: email
example: "arin-contact@google.com"
nullable: true
phone:
type: string
example: "+1-650-253-0000"
nullable: true
fax:
type: string
nullable: true
nullable: true
LocalizationGroup:
type: object
description: Localization and cultural information
properties:
currency:
type: string
description: ISO 4217 currency code
example: "USD"
nullable: true
currencyName:
type: string
description: Full currency name
example: "Dollar"
nullable: true
currencySymbol:
type: string
description: Currency symbol
example: "$"
nullable: true
measurementSystem:
type: string
enum: [metric, imperial]
description: Measurement system used
example: "imperial"
nullable: true
domainCode:
type: string
description: Country code top-level domain
example: ".us"
nullable: true
primaryLanguage:
type: object
description: Primary language
properties:
code:
type: string
description: ISO 639-1 language code
example: "en"
name:
type: string
description: Language name
example: "English"
nullable: true
languages:
type: array
description: List of languages spoken
items:
type: object
properties:
code:
type: string
description: ISO 639-1 language code
example: "en"
name:
type: string
description: Language name
example: "English"
nullable: true
TemporalGroup:
type: object
description: Time and temporal information
properties:
timezone:
type: string
description: IANA timezone identifier
example: "America/Los_Angeles"
nullable: true
utcOffset:
type: string
description: UTC offset in +/-HH:MM format
example: "-08:00"
nullable: true
currentTime:
type: string
format: date-time
description: Current local time
example: "2025-10-23 00:23:09"
nullable: true
rawOffset:
type: number
format: float
description: Standard time offset from UTC in hours
example: -8.0
nullable: true
dstOffset:
type: number
format: float
description: Daylight saving time offset in hours
example: -7.0
nullable: true
hasDaylightSaving:
type: boolean
description: Whether location observes daylight saving time
example: true
nullable: true
upcomingHolidays:
type: array
description: Upcoming public holidays (next 45 days)
items:
type: object
properties:
name:
type: string
description: Holiday name
example: "Thanksgiving Day"
startDate:
type: string
format: date
description: Holiday start date
example: "2025-11-27"
endDate:
type: string
format: date
description: Holiday end date
example: "2025-11-27"
duration:
type: integer
description: Holiday duration in days
example: 1
isPublic:
type: boolean
description: Whether it's a public holiday
example: true
isGovernment:
type: boolean
description: Whether government offices are closed
example: true
nullable: true
WeatherGroup:
type: object
description: Current weather and forecast
properties:
current:
type: object
description: Current weather conditions
properties:
temp:
type: number
format: float
description: Temperature in Fahrenheit
example: 64.9
feelsLike:
type: number
format: float
description: Feels-like temperature in Fahrenheit
example: 64.9
conditions:
type: string
description: Weather conditions
example: "Clear"
humidity:
type: integer
description: Relative humidity percentage
example: 78
visibility:
type: number
description: Visibility in miles
example: 9
precipitation:
type: number
description: Precipitation amount
example: 0
uv:
type: integer
description: UV index
example: 0
wind:
type: object
properties:
speed:
type: number
description: Wind speed in mph
example: 4.7
gusts:
type: number
description: Wind gusts in mph
example: 7.6
direction:
type: string
description: Wind direction
example: "NW"
aqi:
type: object
description: Air Quality Index
properties:
index:
type: integer
description: AQI level (1-5)
example: 2
label:
type: string
description: AQI category
example: "Moderate"
pm2_5:
type: number
description: PM2.5 concentration
example: 24.85
pm10:
type: number
description: PM10 concentration
example: 26.95
pollen:
type: object
description: Pollen levels
properties:
total:
type: integer
example: 0
tree:
type: integer
example: 0
grass:
type: integer
example: 0
weed:
type: integer
example: 0
nullable: true
forecast:
type: array
description: 5-day weather forecast
items:
type: object
properties:
date:
type: string
format: date
example: "2025-10-19"
high:
type: number
description: High temperature in Fahrenheit
example: 75.4
low:
type: number
description: Low temperature in Fahrenheit
example: 53.8
conditions:
type: string
example: "Sunny"
precipChance:
type: integer
description: Precipitation chance percentage
example: 0
precipAmount:
type: number
description: Expected precipitation amount
example: 0
wind:
type: number
description: Wind speed in mph
example: 6
nullable: true
AirportsGroup:
type: array
description: Nearby airports
items:
type: object
properties:
name:
type: string
description: Airport name
example: "San Francisco International Airport"
type:
type: string
description: Airport type
example: "large_airport"
municipality:
type: string
description: City/municipality
example: "San Francisco"
iataCode:
type: string
description: IATA airport code
example: "SFO"
nullable: true
icaoCode:
type: string
description: ICAO airport code
example: "KSFO"
nullable: true
latitude:
type: number
format: double
description: Airport latitude
example: 37.6198060
longitude:
type: number
format: double
description: Airport longitude
example: -122.3748210
elevation:
type: integer
description: Elevation in feet
example: 13
distance:
type: number
format: double
description: Distance from IP location (currently 0.00 - to be implemented)
example: 0.00
nullable: true
SecurityGroup:
type: object
description: Security and threat intelligence
required:
- ip
- isMalware
- isBotnet
- isSpam
- isScanner
- isBruteForce
- isCompromised
- isWebAttacker
- isDatacenter
- isProxy
- isTor
- isAnonymizer
- isBogon
- isGov
- isEdu
properties:
ip:
type: string
description: Queried IP address
example: "8.8.8.8"
threatLevel:
type: string
enum: [informational, low, medium, high, critical]
description: Overall threat level assessment
example: "informational"
nullable: true
confidence:
type: string
enum: [low, medium, high]
description: Confidence level of threat assessment
example: "high"
nullable: true
temporalWindow:
type: string
description: Time window for threat data
nullable: true
recommendedAction:
type: string
enum: [allow, monitor, challenge, block]
description: Recommended action for this IP
example: "allow"
nullable: true
isMalware:
type: boolean
description: Known malware distribution
example: false
isBotnet:
type: boolean
description: Part of botnet
example: false
isSpam:
type: boolean
description: Known spam source
example: false
isScanner:
type: boolean
description: Network scanner
example: false
isBruteForce:
type: boolean
description: Brute force attacker
example: false
isCompromised:
type: boolean
description: Compromised host
example: false
isWebAttacker:
type: boolean
description: Web application attacker
example: false
isDatacenter:
type: boolean
description: Datacenter IP
example: false
isProxy:
type: boolean
description: Proxy server
example: false
isTor:
type: boolean
description: Tor exit node
example: false
isAnonymizer:
type: boolean
description: Anonymization service
example: false
isBogon:
type: boolean
description: Bogon IP (reserved/unallocated)
example: false
isGov:
type: boolean
description: Government network
example: false
isEdu:
type: boolean
description: Educational institution
example: false
ComplianceGroup:
type: object
description: Legal compliance and regulatory information
properties:
entityCode:
type: string
description: Entity code (country or US state)
example: "US.CA"
nullable: true
entityName:
type: string
description: Entity name
example: "United States - California"
nullable: true
isHighRisk:
type: boolean
description: Designated high-risk jurisdiction
example: false
nullable: true
isSanctioned:
type: boolean
description: Under economic sanctions
example: false
nullable: true
gdprApplies:
type: boolean
description: GDPR regulations apply
example: false
nullable: true
ccpaApplies:
type: boolean
description: CCPA regulations apply
example: true
nullable: true
privacyLaw:
type: string
description: Applicable privacy law
example: "CCPA"
nullable: true
cookieConsentRequired:
type: boolean
description: Cookie consent required
example: false
nullable: true
ageVerificationRequired:
type: boolean
description: Age verification required
example: false
nullable: true
taxRates:
type: object
description: US tax rates (US locations only)
properties:
zipCode:
type: string
example: "94043"
region:
type: string
example: "Mountain View"
stateRate:
type: number
format: float
example: 0.06
countyRate:
type: number
format: float
example: 0.0025
cityRate:
type: number
format: float
example: 0
specialRate:
type: number
format: float
example: 0.02875
combinedRate:
type: number
format: float
example: 0.09125
nullable: true
travelAdvisory:
type: object
description: Travel advisory information
properties:
level:
type: integer
description: Advisory level (1-4)
example: 2
levelText:
type: string
description: Advisory level description
example: "Exercise Increased Caution"
dateIssued:
type: string
format: date
description: Date advisory was issued
example: "2025-01-15"
url:
type: string
format: uri
description: Link to full advisory
example: "https://travel.state.gov/content/travel/en/traveladvisories/traveladvisories.html"
risks:
type: array
description: Specific risk indicators
items:
type: object
properties:
code:
type: string
example: "CR"
name:
type: string
example: "Crime"
description:
type: string
example: "Risk of criminal activity"
nullable: true
DemographicsGroup:
type: object
description: Demographic and economic information
properties:
geonameid:
type: integer
description: GeoNames ID
example: 5392171
nullable: true
cityName:
type: string
description: City name
example: "San Jose"
nullable: true
admin1Name:
type: string
description: State/province name
example: "California"
nullable: true
admin2Name:
type: string
description: County/district name
example: "Santa Clara County"
nullable: true
metroPopulation:
type: integer
description: Metropolitan area population
example: 1880692
nullable: true
averageAge:
type: number
format: float
description: Average age
example: 37.80
nullable: true
percentCollegeGrad:
type: number
format: float
description: Percentage with college degree
example: 55.26
nullable: true
medianHouseholdIncome:
type: number
format: float
description: Median household income in USD
example: 140005.00
nullable: true
primaryIndustries:
type: array
description: Major industries
items:
type: string
example: ["Technology", "Manufacturing/Semiconductors", "Professional/Scientific Services", "Healthcare"]
nullable: true
costOfLiving:
type: object
description: Cost of living indices (US baseline = 100)
properties:
groceriesIndex:
type: number
format: float
example: 110.65
restaurantIndex:
type: number
format: float
example: 105.33
rentIndex:
type: number
format: float
example: 191.69
transportationIndex:
type: number
format: float
example: 113.02
utilitiesServicesIndex:
type: number
format: float
example: 131.49
healthcareIndex:
type: number
format: float
example: 111.41
personalCareIndex:
type: number
format: float
example: 116.62
clothingIndex:
type: number
format: float
example: 114.86
entertainmentIndex:
type: number
format: float
example: 118.16
childcareEducationIndex:
type: number
format: float
example: 119.66
purchasingPowerIndex:
type: number
format: float
example: 153.51
nullable: true
ErrorResponse:
type: object
required:
- success
- error_code
- message
properties:
success:
type: boolean
description: Always false for errors
example: false
error_code:
type: string
description: Machine-readable error code
enum:
- MISSING_TOKEN
- INVALID_TOKEN
- INSUFFICIENT_CREDITS
- DOMAIN_NOT_ALLOWED
- IP_NOT_ALLOWED
- INVALID_IP
- INVALID_PATH
- QUEUE_FULL
- QUEUE_TIMEOUT
- QUERY_TIMEOUT
- DATABASE_ERROR
- QUERY_FAILED
example: "INVALID_TOKEN"
message:
type: string
description: Human-readable error message
example: "API token not found"
examples:
FullIPResponse:
summary: Full response with all groups
value:
location:
country: "US"
countryName: "United States"
areaSqKm: 9629091
callingCode: "1"
postalCodeFormat: "#####-####"
region: "CA"
regionName: "California"
district: "085"
districtName: "Santa Clara County"
city: "Mountain View"
zipCode: "94043"
latitude: 37.3860500
longitude: -122.0838500
timezone: "America/Los_Angeles"
population: 80435
elevation: 32
network:
ip: "8.8.8.8"
number: "AS15169"
name: "GOOGLE"
orgName: "Google LLC"
domain: "google.com"
address: "1600 Amphitheatre Parkway, Mountain View, CA, 94043, US"
route: "8.8.8.0/24"
abuse:
name: "Abuse"
email: "network-abuse@google.com"
phone: "+1-650-253-0000"
contact:
- name: "Google LLC"
role: "tech"
email: "arin-contact@google.com"
phone: "+1-650-253-0000"
fax: null
localization:
currency: "USD"
currencyName: "Dollar"
currencySymbol: "$"
measurementSystem: "imperial"
domainCode: ".us"
primaryLanguage:
code: "en"
name: "English"
languages:
- code: "en"
name: "English"
- code: "es"
name: "Spanish"
temporal:
timezone: "America/Los_Angeles"
utcOffset: "-08:00"
currentTime: "2025-10-23 00:23:09"
rawOffset: -8.0
dstOffset: -7.0
hasDaylightSaving: true
upcomingHolidays:
- name: "Veterans Day"
startDate: "2025-11-11"
endDate: "2025-11-11"
duration: 1
isPublic: true
isGovernment: true
weather:
current:
temp: 64.9
feelsLike: 64.9
conditions: "Clear"
humidity: 78
visibility: 9
precipitation: 0
uv: 0
wind:
speed: 4.7
gusts: 7.6
direction: "NW"
aqi:
index: 2
label: "Moderate"
pm2_5: 24.85
pm10: 26.95
pollen:
total: 0
tree: 0
grass: 0
weed: 0
forecast:
- date: "2025-10-19"
high: 75.4
low: 53.8
conditions: "Sunny"
precipChance: 0
precipAmount: 0
wind: 6
airports:
- name: "Norman Y. Mineta San Jose International Airport"
type: "large_airport"
municipality: "San Jose"
iataCode: "SJC"
icaoCode: "KSJC"
latitude: 37.3624520
longitude: -121.9291880
elevation: 62
distance: 0.00
security:
ip: "8.8.8.8"
threatLevel: "informational"
confidence: "high"
temporalWindow: null
recommendedAction: "allow"
isMalware: false
isBotnet: false
isSpam: false
isScanner: false
isBruteForce: false
isCompromised: false
isWebAttacker: false
isDatacenter: false
isProxy: false
isTor: false
isAnonymizer: false
isBogon: false
isGov: false
isEdu: false
compliance:
entityCode: "US.CA"
entityName: "United States - California"
isHighRisk: false
isSanctioned: false
gdprApplies: false
ccpaApplies: true
privacyLaw: "CCPA"
cookieConsentRequired: false
ageVerificationRequired: false
taxRates:
zipCode: "94043"
region: "Mountain View"
stateRate: 0.06
countyRate: 0.0025
cityRate: 0
specialRate: 0.02875
combinedRate: 0.09125
travelAdvisory: null
demographics:
geonameid: 5392171
cityName: "San Jose"
admin1Name: "California"
admin2Name: "Santa Clara County"
metroPopulation: 1880692
averageAge: 37.80
percentCollegeGrad: 55.26
medianHouseholdIncome: 140005.00
primaryIndustries:
- "Technology"
- "Manufacturing/Semiconductors"
- "Professional/Scientific Services"
- "Healthcare"
costOfLiving:
groceriesIndex: 110.65
restaurantIndex: 105.33
rentIndex: 191.69
transportationIndex: 113.02
utilitiesServicesIndex: 131.49
healthcareIndex: 111.41
personalCareIndex: 116.62
clothingIndex: 114.86
entertainmentIndex: 118.16
childcareEducationIndex: 119.66
purchasingPowerIndex: 153.51
tags:
- name: IP Lookup
description: IP geolocation and intelligence lookup operations
- name: Convenience Methods
description: Simplified endpoints for requesting specific data groups
externalDocs:
description: IPGet Documentation
url: https://docs.ipget.io
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment