> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prontiq.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Reverse Geocode

> Find addresses near a latitude and longitude. Use this when a workflow starts from a map pin, device coordinate, or spatial search. Results are ordered by distance and include `distance_m` in metres.

Use Reverse Geocode when your input is a latitude and longitude and you need
nearby Australian addresses sorted by distance.

For request examples and response handling, see the
[Reverse geocode guide](/guides/address/reverse).


## OpenAPI

````yaml GET /v1/address/reverse
openapi: 3.1.0
info:
  title: Prontiq API
  version: 2.0.0
  license:
    name: Proprietary
    url: https://prontiq.dev
  description: >-
    Prontiq provides authenticated APIs for Australian address search,
    validation, enrichment, reverse geocoding, and locality lookup. Authenticate
    public data requests with `X-Api-Key`. Successful Address API calls may
    include rate-limit and credit-usage headers. Errors use a stable `{ error: {
    code, message, status, request_id } }` envelope; `request_id` is
    intentionally snake_case for v1 compatibility.
servers:
  - url: https://api.prontiq.dev
    description: Production API
security: []
tags:
  - name: Address
    description: >-
      Australian address autocomplete, validation, enrichment, reverse
      geocoding, postcode lookup, and suburb lookup.
paths:
  /v1/address/reverse:
    get:
      tags:
        - Address
      summary: Reverse geocode nearby addresses
      description: >-
        Find addresses near a latitude and longitude. Use this when a workflow
        starts from a map pin, device coordinate, or spatial search. Results are
        ordered by distance and include `distance_m` in metres.
      operationId: reverseGeocodeAddress
      parameters:
        - schema:
            type: number
            minimum: -90
            maximum: 90
            description: >-
              Latitude in WGS84 decimal degrees for the reverse-geocode search
              point.
            example: -23.1601
          required: true
          description: >-
            Latitude in WGS84 decimal degrees for the reverse-geocode search
            point.
          name: lat
          in: query
        - schema:
            type: number
            minimum: -180
            maximum: 180
            description: >-
              Longitude in WGS84 decimal degrees for the reverse-geocode search
              point.
            example: 150.7596
          required: true
          description: >-
            Longitude in WGS84 decimal degrees for the reverse-geocode search
            point.
          name: lon
          in: query
        - schema:
            type: number
            minimum: 1
            maximum: 50000
            default: 100
            description: Search radius in metres.
            example: 200
          required: false
          description: Search radius in metres.
          name: radius
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 20
            default: 5
            description: Maximum number of nearby addresses to return.
            example: 3
          required: false
          description: Maximum number of nearby addresses to return.
          name: limit
          in: query
        - schema:
            $ref: '#/components/schemas/AddressDebugQuery'
          required: false
          description: >-
            Optional diagnostic flag. Send exactly `true` or `false`. Invalid
            values are rejected; debug diagnostics are for support only and must
            not be used for business decisions.
          name: debug
          in: query
      responses:
        '200':
          description: Nearby addresses sorted by distance from the submitted coordinate.
          headers:
            X-Request-Id:
              description: Unique request identifier for support and debugging.
              schema:
                type: string
            X-RateLimit-Product:
              description: >-
                API family whose monthly credit counter was updated, for example
                `address`.
              schema:
                type: string
            X-RateLimit-Reset:
              description: ISO timestamp when the current credit window resets.
              schema:
                type: string
                format: date-time
            X-RateLimit-Limit:
              description: >-
                Configured included-credit threshold for keys with a monthly
                quota. Present for hard-cap and soft-overage plans; omitted for
                PAYG or uncapped plans.
              schema:
                type: integer
                minimum: 0
            X-RateLimit-Remaining:
              description: >-
                Included credits remaining in the current window, floored at
                zero. Present for hard-cap and soft-overage plans; omitted for
                PAYG or uncapped plans.
              schema:
                type: integer
                minimum: 0
            X-RateLimit-Over:
              description: >-
                `true` when the request succeeded as soft-overage after included
                credits were exceeded.
              schema:
                type: string
                enum:
                  - 'true'
            X-Payment-Overdue:
              description: >-
                Indicates whether the account currently has an overdue billing
                state. Request handling still follows the active plan
                enforcement policy.
              schema:
                type: string
                enum:
                  - 'true'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReverseGeocodeAddressResponse'
              example:
                results:
                  - id: GAQLD156786950
                    addressLabel: 9 ENDEAVOUR COURT
                    localityName: LAMMERMOOR
                    state: QLD
                    postcode: '4703'
                    confidence: 2
                    geocode:
                      latitude: -23.1601
                      longitude: 150.7596
                      type: PROPERTY CENTROID
                      reliability: 2
                    location:
                      lat: -23.1601
                      lon: 150.7596
                    boundaries:
                      lga:
                        name: Livingstone Shire
                      stateElectorate:
                        name: Keppel
                      commonwealthElectorate:
                        name: Capricornia
                      meshBlock:
                        code: '30000000000'
                        category: Residential
                      sa2:
                        name: Yeppoon
                        code: '308011188'
                      sa3:
                        name: Rockhampton
                        code: '30801'
                      sa4:
                        name: Central Queensland
                        code: '308'
                    distance_m: 0
                total: 1
        '400':
          description: >-
            The request query string is missing a required parameter or contains
            a value outside the documented format.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressErrorResponse'
              example:
                error:
                  code: INVALID_PARAMETERS
                  message: Invalid query parameters
                  status: 400
                  request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
                  details:
                    q:
                      - Required
        '401':
          description: The request did not include a valid `X-Api-Key` header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressErrorResponse'
              example:
                error:
                  code: MISSING_API_KEY
                  message: Missing X-Api-Key header
                  status: 401
                  request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
        '403':
          description: >-
            The API key is valid, but the account plan does not include the
            Address API product.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressErrorResponse'
              example:
                error:
                  code: PRODUCT_NOT_ALLOWED
                  message: Product not included in your plan
                  status: 403
                  request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
        '429':
          description: >-
            The request exceeded burst rate limits or the account's available
            Address API quota.
          headers:
            Retry-After:
              description: >-
                Seconds to wait before retrying when error.code is RATE_LIMITED.
                Quota exhaustion responses may omit this header.
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressErrorResponse'
              example:
                error:
                  code: RATE_LIMITED
                  message: Rate limit exceeded
                  status: 429
                  request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
        '500':
          description: >-
            The API could not complete the request because of an unexpected
            server-side failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressErrorResponse'
              example:
                error:
                  code: INTERNAL_ERROR
                  message: Internal server error
                  status: 500
                  request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
      security:
        - ApiKeyAuth: []
components:
  schemas:
    AddressDebugQuery:
      type: string
      enum:
        - 'true'
        - 'false'
      description: >-
        Optional diagnostic flag. Send exactly `true` or `false`. Invalid values
        are rejected; debug diagnostics are for support only and must not be
        used for business decisions.
      example: 'false'
    ReverseGeocodeAddressResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/ReverseAddressResult'
          description: >-
            Nearby address documents sorted by distance from the submitted
            coordinate. The array may be empty when no address falls within the
            radius.
        total:
          type: integer
          minimum: 0
          description: Total address records found within the requested radius.
          example: 1
        debug:
          $ref: '#/components/schemas/DebugInfo'
      required:
        - results
        - total
      description: Addresses nearest to the supplied latitude and longitude.
    AddressErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              $ref: '#/components/schemas/AddressErrorCode'
            message:
              type: string
              description: Human-readable error message.
              example: Invalid query parameters
            status:
              type: integer
              description: HTTP status code.
              example: 400
            request_id:
              type: string
              description: >-
                Request identifier for support and debugging. This snake_case
                field is stable in v1.
              example: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
            details:
              type: object
              additionalProperties: {}
              description: Optional structured details. Shape depends on the error code.
              example:
                q:
                  - Required
          required:
            - code
            - message
            - status
            - request_id
          description: >-
            Nested error object containing the machine code, human message, HTTP
            status, and request id.
          example:
            code: INVALID_PARAMETERS
            message: Invalid query parameters
            status: 400
            request_id: req_01HZX7A8J5K9P4R2QW3E6T7Y8Z
      required:
        - error
      description: >-
        Standard public Address API error envelope. The nested
        `error.request_id` field is intentionally snake_case in v1.
    ReverseAddressResult:
      allOf:
        - $ref: '#/components/schemas/AddressDocument'
        - type: object
          properties:
            distance_m:
              type: number
              description: >-
                Distance from the submitted reverse-geocode coordinate to this
                address point, measured in metres.
              format: double
              example: 0
      description: Address document plus distance from the reverse-geocode query point.
      example:
        id: GAQLD156786950
        addressLabel: 9 ENDEAVOUR COURT
        localityName: LAMMERMOOR
        state: QLD
        postcode: '4703'
        distance_m: 0
    DebugInfo:
      type: object
      properties:
        scoringVersion:
          type: string
          enum:
            - address-match-v1
          description: >-
            Version of the public Prontiq match-scoring algorithm used for
            diagnostics.
          example: address-match-v1
        queryMode:
          type: string
          enum:
            - autocomplete
            - validate
            - enrich
            - reverse
            - lookup
          description: Address API operation mode that produced this diagnostic object.
          example: autocomplete
        matchedComponents:
          type: object
          additionalProperties:
            type: string
            enum:
              - exact
              - prefix
              - fuzzy
              - none
          description: >-
            Per-component match classification for diagnostics. Shape may evolve
            between scoring versions.
          example:
            streetNumber: exact
            streetName: prefix
            locality: exact
        scoreCaps:
          type: array
          items:
            type: string
          description: >-
            Diagnostic list of caps applied to the score, such as explicit
            postcode or state mismatches.
          example:
            - explicitPostcodeMismatch
        searchScore:
          type: number
          description: >-
            Internal search relevance score when available. This value is
            unstable and must not be stored, sorted by, or used for business
            decisions.
          format: double
          example: 42.1
      required:
        - scoringVersion
        - queryMode
      description: >-
        Optional diagnostic metadata returned only when `debug=true` is
        supplied. Debug values are for support and troubleshooting, not
        production decision-making.
      example:
        scoringVersion: address-match-v1
        queryMode: autocomplete
        searchScore: 42.1
    AddressErrorCode:
      type: string
      enum:
        - INVALID_API_KEY
        - MISSING_API_KEY
        - RATE_LIMITED
        - QUOTA_EXCEEDED
        - PRODUCT_NOT_ALLOWED
        - INVALID_PARAMETERS
        - NOT_FOUND
        - INTERNAL_ERROR
      description: >-
        Stable machine-readable public Address API error code. Use this value
        for branching instead of parsing the human-readable `message`.
      example: INVALID_PARAMETERS
    AddressDocument:
      type: object
      properties:
        id:
          type: string
          description: >-
            Opaque G-NAF persistent identifier for this address record. Store it
            as a string and pass it to Enrich when you need the full public
            address document.
          example: GAQLD156786950
        addressLabel:
          anyOf:
            - type: string
              description: >-
                Formatted street-address line for display and form population.
                It usually contains the street number, street name, and any unit
                or building text available in the source record.
              example: 9 ENDEAVOUR COURT
            - type: 'null'
        localityName:
          anyOf:
            - type: string
              description: Official suburb or locality name associated with the address.
              example: LAMMERMOOR
            - type: 'null'
        state:
          anyOf:
            - $ref: '#/components/schemas/AustralianStateCode'
            - type: 'null'
        postcode:
          anyOf:
            - $ref: '#/components/schemas/Postcode'
            - type: 'null'
        confidence:
          anyOf:
            - $ref: '#/components/schemas/GnafConfidence'
            - type: 'null'
        geocode:
          anyOf:
            - $ref: '#/components/schemas/Geocode'
            - type: 'null'
        location:
          anyOf:
            - $ref: '#/components/schemas/Location'
            - type: 'null'
        boundaries:
          anyOf:
            - $ref: '#/components/schemas/AddressBoundaries'
            - type: 'null'
      required:
        - id
      description: >-
        Standard public address record returned by Validate and Reverse geocode,
        and used as the base for Enrich. Optional fields may be absent or null
        when the source data does not provide that attribute.
      example:
        id: GAQLD156786950
        addressLabel: 9 ENDEAVOUR COURT
        localityName: LAMMERMOOR
        state: QLD
        postcode: '4703'
        confidence: 2
    AustralianStateCode:
      type: string
      enum:
        - NSW
        - VIC
        - QLD
        - SA
        - WA
        - TAS
        - NT
        - ACT
      description: >-
        Uppercase Australian state or territory code returned by the Address
        API. Allowed values are `NSW` New South Wales, `VIC` Victoria, `QLD`
        Queensland, `SA` South Australia, `WA` Western Australia, `TAS`
        Tasmania, `NT` Northern Territory, and `ACT` Australian Capital
        Territory.
      example: QLD
    Postcode:
      type: string
      pattern: ^\d{4}$
      description: >-
        Four-digit Australian postcode. Store postcodes as strings; integer
        coercion can remove leading zeroes used by some Australian postcodes.
      example: '4703'
    GnafConfidence:
      type: integer
      minimum: -1
      maximum: 2
      description: >-
        G-NAF source-record confidence metadata. `-1` represents a retired
        record; `0`, `1`, and `2` indicate one, two, or three supporting
        contributor datasets. This is provenance metadata, not Prontiq match
        quality.
      example: 2
      x-field-note: >-
        This is G-NAF source-record confidence, not `prontiqMatchScore` or
        `prontiqMatchQuality`. Autocomplete suggestions do not expose this
        field.
    Geocode:
      type: object
      properties:
        latitude:
          $ref: '#/components/schemas/Coordinate'
        longitude:
          $ref: '#/components/schemas/Coordinate'
        type:
          anyOf:
            - type: string
              description: >-
                G-NAF geocoding method when supplied by the source record, such
                as a frontage, property centroid, or locality-level point.
              example: PROPERTY CENTROID
            - type: 'null'
        reliability:
          anyOf:
            - type: integer
              minimum: 0
              maximum: 6
              description: >-
                G-NAF geocode reliability code from 0 to 6, where lower values
                indicate more precise location evidence. Treat this as geocode
                precision metadata, not address match quality.
              example: 2
              x-field-note: >-
                Lower is better: a smaller reliability number indicates a more
                precise geocode.
            - type: 'null'
      required:
        - latitude
        - longitude
      description: G-NAF geocoding metadata and decimal-degree coordinates for the address.
      example:
        latitude: -23.1601
        longitude: 150.7596
        type: PROPERTY CENTROID
        reliability: 2
    Location:
      type: object
      properties:
        lat:
          $ref: '#/components/schemas/Coordinate'
        lon:
          $ref: '#/components/schemas/Coordinate'
      required:
        - lat
        - lon
      description: >-
        Compact latitude/longitude point used for proximity workflows and map
        display.
      example:
        lat: -23.1601
        lon: 150.7596
    AddressBoundaries:
      type: object
      properties:
        lga:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        stateElectorate:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        commonwealthElectorate:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        meshBlock:
          anyOf:
            - $ref: '#/components/schemas/MeshBlock'
            - type: 'null'
        sa2:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        sa3:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        sa4:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
        gccsa:
          anyOf:
            - $ref: '#/components/schemas/NamedArea'
            - type: 'null'
      description: >-
        Administrative, electoral, and ABS statistical geography linked to the
        address when supplied by G-NAF and ABS source data. Boundary values can
        change between official data releases without the address `id` changing.
      example:
        lga:
          name: Livingstone Shire
        stateElectorate:
          name: Keppel
        commonwealthElectorate:
          name: Capricornia
        meshBlock:
          code: '30000000000'
          category: Residential
        sa2:
          name: Yeppoon
          code: '308011188'
        sa3:
          name: Rockhampton
          code: '30801'
        sa4:
          name: Central Queensland
          code: '308'
    Coordinate:
      type: number
      description: >-
        WGS84 decimal-degree coordinate used for Australian address locations
        and reverse-geocode queries.
      format: double
      example: -23.1601
    NamedArea:
      type: object
      properties:
        name:
          type: string
          description: Official administrative, electoral, or statistical area name.
          example: Yeppoon
        code:
          anyOf:
            - type: string
              description: >-
                Official ABS, electoral, or administrative area code when
                supplied by the source dataset.
              example: '308011188'
            - type: 'null'
      required:
        - name
      description: >-
        Named administrative, electoral, or statistical area associated with an
        address.
      example:
        name: Yeppoon
        code: '308011188'
    MeshBlock:
      type: object
      properties:
        code:
          type: string
          description: >-
            ABS Mesh Block code. Mesh Blocks are the smallest Australian Bureau
            of Statistics geographic areas used to build larger statistical
            regions.
          example: '30000000000'
        category:
          anyOf:
            - type: string
              description: >-
                ABS Mesh Block land-use category when available, such as
                Residential, Commercial, Parkland, or Education.
              example: Residential
            - type: 'null'
      required:
        - code
      description: >-
        ABS Mesh Block identifier and optional land-use category for the address
        location.
      example:
        code: '30000000000'
        category: Residential
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

````