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

# Geocode a location



## OpenAPI

````yaml /openapi.yaml get /api/locations/geocode
openapi: 3.0.3
info:
  title: Jobo Enterprise API
  description: >
    The Jobo Enterprise API provides programmatic access to job listings,
    intelligent search,

    real-time feeds, geocoding services, and a contract preview for
    callback-driven

    job applications. Auto Apply is coming soon and is not available in beta or
    production.
  version: '2026-07-21'
  contact:
    name: Jobo Support
    url: https://jobo.world
    email: support@jobo.world
  license:
    name: Proprietary — see terms of service
    url: https://jobo.world/terms
  termsOfService: https://jobo.world/terms
servers:
  - url: https://connect.jobo.world
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Jobs
    description: Search and retrieve job listings
  - name: Feed
    description: Bulk job feeds and expiration tracking
  - name: Companies
    description: Company profiles and company-scoped job listings
  - name: Auto Apply
    description: >-
      Coming soon: profileless applications answered through signed, typed HTTPS
      callbacks
  - name: Locations
    description: Geocoding and location services
paths:
  /api/locations/geocode:
    get:
      tags:
        - Locations
      summary: Geocode a location
      operationId: geocodeLocation
      parameters:
        - name: location
          in: query
          required: true
          schema:
            type: string
          description: Location string to geocode (e.g. "San Francisco, CA")
      responses:
        '200':
          description: Geocode result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeocodeResultItem'
        '400':
          description: Missing or empty `location` query parameter
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          description: Internal server error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '503':
          description: Request was cancelled
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      x-codeSamples:
        - lang: cURL
          source: |
            curl -G "https://connect.jobo.world/api/locations/geocode" \
              -H "X-Api-Key: $JOBO_API_KEY" \
              --data-urlencode "location=San Francisco, CA"
        - lang: Python
          source: |
            from jobo_enterprise import JoboClient

            with JoboClient(api_key="YOUR_API_KEY") as client:
                result = client.locations.geocode("San Francisco, CA")
                if result.succeeded:
                    for loc in result.locations:
                        print(loc.display_name, loc.latitude, loc.longitude)
components:
  schemas:
    GeocodeResultItem:
      type: object
      properties:
        input:
          type: string
        succeeded:
          type: boolean
        locations:
          type: array
          items:
            $ref: '#/components/schemas/GeocodedLocation'
        method:
          type: string
          nullable: true
          enum:
            - cache
            - remote_keyword
            - llm
            - no_match
            - null
          description: >
            Which pipeline path produced the result. Omitted on early-exit
            failures (empty input, placeholder).
        error:
          type: string
          nullable: true
    ProblemDetails:
      type: object
      description: Problem Details object returned for error responses.
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
        code:
          type: string
          nullable: true
          description: Stable machine-readable code for Auto Apply domain errors.
        api_version:
          $ref: '#/components/schemas/AutoApplyApiVersion'
    GeocodedLocation:
      type: object
      properties:
        city:
          type: string
          nullable: true
        region:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        display_name:
          type: string
          nullable: true
        country_code:
          type: string
          nullable: true
        latitude:
          type: number
          format: double
          nullable: true
        longitude:
          type: number
          format: double
          nullable: true
        fuzzy_confidence:
          type: number
          format: double
          nullable: true
          description: >
            Token-overlap confidence (0.0-1.0) between the original input and
            the canonical Photon labels. Null for cache hits and remote
            sentinels.
    AutoApplyApiVersion:
      type: string
      description: Version of the profileless Auto Apply API contract.
      enum:
        - '2026-07-21'
      example: '2026-07-21'
  responses:
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: API key provided by Jobo

````