openapi: 3.0.0 info: description: 'Official OpenAPI Specification for IPinfo''s comprehensive IP intelligence API. This specification defines all endpoints for IP geolocation, ASN data, company information, privacy detection, and specialized data services. ## Authentication All endpoints support three authentication methods: - **HTTP Basic Auth**: Use your token as the username with empty password - **Bearer Token**: Include token in Authorization header - **Query Parameter**: Pass token as `?token=YOUR_TOKEN` [Learn more about authentication](https://ipinfo.io/developers#authentication) ## IPinfo API Tiers IPinfo offers three main API tiers with different feature sets: ### IPinfo Lite Lightweight IP geolocation with essential information including ASN details, country, and continent data. Perfect for basic geolocation needs with fast response times. Unlimited requests on paid plans. - Endpoints: `/lite/me`, `/lite/{ip}`, `/lite/{ip}/{field}` - Base URL: `https://api.ipinfo.io/` - [Documentation](https://ipinfo.io/developers/lite-api) ### IPinfo Core Comprehensive IP information with detailed geolocation data (city, region, coordinates, postal code, timezone), ASN information, and classification boolean flags (anycast, hosting, mobile, satellite). - Endpoints: `/lookup/me`, `/lookup/{ip}`, `/lookup/{ip}/{field}` - Base URL: `https://api.ipinfo.io/` - [Documentation](https://ipinfo.io/developers/core-api) ### IPinfo Plus All Core features plus mobile/carrier detection, anonymity analysis (VPN, proxy, Tor, relay detection), service identification, and extended geographic metadata. Ideal for security, fraud prevention, and advanced analytics. - Endpoints: `/plus/me`, `/plus/{ip}`, `/plus/{ip}/{field}` - Base URL: `https://api.ipinfo.io/` - [Documentation](https://ipinfo.io/developers/plus-api) ## Specialized Detection APIs ### Residential Proxy Detection Detect residential, mobile, and datacenter proxy IPs with activity insights, last seen dates, and proxy service identification. - Endpoints: `/{ip}/resproxy` - [Documentation](https://ipinfo.io/developers/residential-proxy-api) ### Privacy Detection Standard Detect VPNs, proxies, Tor exit nodes, relays, and hosting providers associated with an IP address. Returns core privacy signals including service provider identification. - Endpoints: `/{ip}/privacy` - [Documentation](https://ipinfo.io/developers/privacy-standard-api) ### Privacy Detection Extended Advanced anonymous IP detection with detailed methodologies, confidence metrics, and metadata for VPNs, proxies, Tor, hosting providers, and relays. - Endpoints: `/{ip}/privacy_extended` - [Documentation](https://ipinfo.io/developers/privacy-extended-api) ## Legacy API Products For backwards compatibility, legacy endpoints remain available: - [IP to Geolocation API](https://ipinfo.io/products/ip-geolocation-api) - Use Core or Plus instead - [IP to Privacy Detection API](https://ipinfo.io/products/proxy-vpn-detection-api) - Use Plus instead - [ASN API](https://ipinfo.io/products/asn-api) - `/AS{asn}` endpoint - [IP to Company API](https://ipinfo.io/products/ip-company-api) - `/{ip}/company` endpoint - [Hosted Domains API](https://ipinfo.io/products/reverse-ip-api) - `/domains/{ip}` endpoint - [IP to Phone Carrier Detection API](https://ipinfo.io/products/ip-carrier-api) - `/{ip}/carrier` endpoint - [IP to Abuse Contact API](https://ipinfo.io/products/ip-abuse-contact-api) - `/{ip}/abuse` endpoint - [IP WHOIS API](https://ipinfo.io/products/whois-api) - `/whois/*` endpoints ## Special Endpoints - **Token Info**: `/me` - View request limits and API access for your token - **Batch Requests**: `/batch` - Enrich multiple IPs in a single request - **IP Summarization**: `/tools/summarize-ips` - Analyze up to 500,000 IPs - **IP Mapping**: `/tools/map` - Visualize up to 500,000 IPs on an interactive map - **Single Field**: `/{ip}/{field}` - Get specific field values as plaintext ## Rate Limits - **IPinfo Lite**: Unlimited requests on paid plans - **Paid Plans**: Monthly request limits with configurable alerts and automatic metered billing - **Rate Limit Exceeded**: 429 HTTP status code when limit reached [View pricing and limits](https://ipinfo.io/pricing) ## Resources - **Developer Portal**: [https://ipinfo.io/developers](https://ipinfo.io/developers) - **API Libraries**: Official libraries for Python, Node.js, Java, Ruby, PHP, Go, and more - **Sign Up**: [Free account](https://ipinfo.io/signup) with up to 50,000 requests/month - **Community Support**: [https://community.ipinfo.io/](https://community.ipinfo.io/) - **Email Support**: support@ipinfo.io --- ' version: 1.0.0 title: IPinfo.io OpenAPI Specification abuse ipinfo lite API contact: name: IPinfo email: support@ipinfo.io url: https://ipinfo.io/ servers: - url: https://ipinfo.io/ - url: https://v6.ipinfo.io/ - url: https://api.ipinfo.io/ tags: - name: ipinfo lite description: IPinfo Lite API - IPinfo's free API service for country and ASN information. externalDocs: description: Find more info here url: https://ipinfo.io/lite paths: /lite/me: get: tags: - ipinfo lite summary: IPinfo Returns Lightweight IP Information About the Current IP description: 'Returns lightweight IP information about the current IP including ASN details, country, and continent information. ' operationId: getCurrentLiteInformation servers: - url: https://api.ipinfo.io/ security: - BasicAuth: [] - BearerAuth: [] - ApiKeyAuth: [] responses: '200': $ref: '#/components/responses/LiteResponse' '403': $ref: '#/components/responses/LiteForbidden' '500': $ref: '#/components/responses/InternalServerError' /lite/{ip}: get: tags: - ipinfo lite summary: IPinfo Returns Lightweight IP Information About the Provided IP description: 'Returns lightweight IP information about the provided IP including ASN details, country, and continent information. For bogon/private IPs, returns a response with bogon: true. ' operationId: getLiteInformationByIp servers: - url: https://api.ipinfo.io/ - url: https://v4.api.ipinfo.io/ - url: https://v6.api.ipinfo.io/ security: - BasicAuth: [] - BearerAuth: [] - ApiKeyAuth: [] parameters: - $ref: '#/components/parameters/Ip' responses: '200': description: Lite response object or bogon response. content: application/json: schema: oneOf: - $ref: '#/components/schemas/LiteResponse' - $ref: '#/components/schemas/LiteBogonResponse' '400': $ref: '#/components/responses/LiteBadRequest' '403': $ref: '#/components/responses/LiteForbidden' '500': $ref: '#/components/responses/InternalServerError' /lite/me/{field}: get: tags: - ipinfo lite summary: IPinfo Returns a Specific Field from Lightweight IP Information About the Current IP description: 'Returns a specific field from lightweight IP information about the current IP. ' operationId: getCurrentLiteField servers: - url: https://api.ipinfo.io/ - url: https://v4.api.ipinfo.io/ - url: https://v6.api.ipinfo.io/ security: - BasicAuth: [] - BearerAuth: [] - ApiKeyAuth: [] parameters: - $ref: '#/components/parameters/LiteField' responses: '200': $ref: '#/components/responses/LiteField' '403': $ref: '#/components/responses/LiteForbidden' '404': $ref: '#/components/responses/LiteInvalidField' '500': $ref: '#/components/responses/InternalServerError' /lite/{ip}/{field}: get: tags: - ipinfo lite summary: IPinfo Returns a Specific Field from Lightweight IP Information About the Provided IP description: 'Returns a specific field from lightweight IP information about the provided IP. ' operationId: getLiteFieldByIp servers: - url: https://api.ipinfo.io/ - url: https://v4.api.ipinfo.io/ - url: https://v6.api.ipinfo.io/ security: - BasicAuth: [] - BearerAuth: [] - ApiKeyAuth: [] parameters: - $ref: '#/components/parameters/Ip' - $ref: '#/components/parameters/LiteField' responses: '200': $ref: '#/components/responses/LiteField' '400': $ref: '#/components/responses/LiteBadRequest' '403': $ref: '#/components/responses/LiteForbidden' '404': $ref: '#/components/responses/LiteInvalidField' '500': $ref: '#/components/responses/InternalServerError' components: schemas: LiteResponse: type: object required: - ip - asn - as_name - as_domain - country_code - country - continent_code - continent properties: ip: type: string example: 8.8.8.8 asn: type: string example: AS15169 as_name: type: string example: Google LLC as_domain: type: string example: google.com country_code: type: string example: US country: type: string example: United States continent_code: type: string example: NA continent: type: string example: North America Error500: type: string example: Internal server error LiteErrorBadRequest: type: object required: - error properties: error: type: string example: Please provide a valid IP address LiteBogonResponse: type: object required: - ip - bogon properties: ip: type: string example: 192.168.1.1 bogon: type: boolean example: true LiteErrorForbidden: type: object required: - status - error properties: status: type: integer example: 403 error: type: object required: - title - message properties: title: type: string example: Unknown token message: type: string example: Please ensure you've entered your token correctly. Refer to https://ipinfo.io/developers for details, or contact us at support@ipinfo.io for help LiteErrorInvalidField: type: object required: - error properties: error: type: string example: invalid_field is not a valid field. parameters: Ip: name: ip in: path description: A single IPv4 or IPv6 IP address. required: true schema: type: string LiteField: name: field in: path description: A specific field from the lite response (ip, asn, as_name, as_domain, country_code, country, continent_code, continent). required: true schema: type: string enum: - ip - asn - as_name - as_domain - country_code - country - continent_code - continent responses: LiteInvalidField: description: Invalid field name error. content: application/json: schema: $ref: '#/components/schemas/LiteErrorInvalidField' LiteBadRequest: description: Bad request error (invalid IP format). content: application/json: schema: $ref: '#/components/schemas/LiteErrorBadRequest' LiteField: description: A specific field value from the lite response. content: text/plain: schema: type: string example: United States InternalServerError: description: Internal server error or server unavailable. content: text/plain: schema: $ref: '#/components/schemas/Error500' LiteForbidden: description: Forbidden error (authentication issues). content: application/json: schema: $ref: '#/components/schemas/LiteErrorForbidden' LiteResponse: description: Lite response object. content: application/json: schema: $ref: '#/components/schemas/LiteResponse' securitySchemes: BasicAuth: type: http scheme: basic BearerAuth: type: http scheme: bearer ApiKeyAuth: type: apiKey in: query name: token externalDocs: description: IPinfo Developers Portal / Documentation url: https://ipinfo.io/developers