Created
October 23, 2025 10:11
-
-
Save ofthenorth/d928e14bd07d2eb5c0b8e533bfdb7f2e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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