ipify Public IP Address API

Free, unauthenticated, unlimited public IP address lookup. Returns the caller's IPv4 (api.ipify.org), IPv6 (api6.ipify.org), or dual-stack (api64.ipify.org) address as plain text, JSON, or JSONP.

OpenAPI Specification

ipify-ip-api.yml Raw ↑
openapi: 3.0.3
info:
  title: ipify Public IP Address API
  description: >-
    ipify is a free, open source, unlimited IP address lookup service operated by
    Randall Degges. The API returns the requester's public IP address as plain text,
    JSON, or JSONP. There is no authentication, no rate limit, no logging, and the
    same endpoint family supports IPv4 (api.ipify.org), IPv6 (api6.ipify.org), and
    dual-stack (api64.ipify.org) callers.
  version: '1.0.0'
  contact:
    name: ipify
    url: https://www.ipify.org/
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  x-generated-from: documentation
  x-last-validated: '2026-05-29'
servers:
  - url: https://api.ipify.org
    description: IPv4 endpoint — returns the caller's public IPv4 address.
  - url: https://api6.ipify.org
    description: IPv6 endpoint — returns the caller's public IPv6 address when called over an IPv6 transport.
  - url: https://api64.ipify.org
    description: Dual-stack endpoint — returns IPv4 or IPv6 depending on the transport the caller used.
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