ipify IP Address API

Operations that return the caller's public IP address.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

ipify-ip-address-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ipify IP Geolocation Account IP Address API
  description: The ipify IP Geolocation API (geo.ipify.org) is the commercial counterpart to the free public IP API. It is operated by WhoisXML API and resolves an IPv4 or IPv6 address — or a domain or email — into a geolocation, ISP, Autonomous System (ASN), and reverse-DNS profile. Authentication uses an API key passed as the `apiKey` query parameter. Plans are credit-metered (Country = 1 credit, Country+City = 2, Country+City+VPN = 3).
  version: 2.0.0
  contact:
    name: ipify Geolocation API
    url: https://geo.ipify.org/
  license:
    name: Commercial
    url: https://geo.ipify.org/
  x-generated-from: documentation
  x-last-validated: '2026-05-29'
servers:
- url: https://geo.ipify.org/api/v2
  description: Production IP Geolocation API.
- url: https://geo.ipify.org
  description: Account / service root for non-versioned utility endpoints.
tags:
- name: IP Address
  description: Operations that return the caller's public IP address.
paths:
  /:
    get:
      operationId: getPublicIp
      summary: ipify Get Public IP Address
      description: Return the caller's public IP address. Without query parameters the response body is plain text containing the IP. With `format=json` the response is a JSON object. With `format=jsonp` the response is a JSONP callback wrapper.
      tags:
      - IP Address
      parameters:
      - name: format
        in: query
        required: false
        description: Response encoding. Omit for plain text. `json` for a JSON object. `jsonp` for a JSONP callback wrapper.
        schema:
          type: string
          enum:
          - json
          - jsonp
        example: json
      - name: callback
        in: query
        required: false
        description: Custom JSONP callback function name. Only meaningful when `format=jsonp`. Defaults to `callback` if omitted.
        schema:
          type: string
          default: callback
        example: getip
      responses:
        '200':
          description: Caller's public IP address.
          content:
            text/plain:
              schema:
                type: string
                description: Plain-text IP address (default response).
                example: 98.207.254.136
            application/json:
              schema:
                $ref: '#/components/schemas/IpResponse'
            application/javascript:
              schema:
                type: string
                description: JSONP callback wrapping the IP response.
                example: callback({"ip":"98.207.254.136"});
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    IpResponse:
      type: object
      description: JSON-encoded public IP response from ipify.
      required:
      - ip
      properties:
        ip:
          type: string
          description: The caller's public IP address as an IPv4 or IPv6 literal.
          example: 98.207.254.136
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: apiKey
      description: Personal API key issued by WhoisXML API for the ipify Geolocation product. Passed as the `apiKey` query parameter on every request.