> ## 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 string into structured location data



## OpenAPI

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

    real-time feeds, automated job applications, and geocoding services.
  version: 1.0.0
  contact:
    name: Jobo Support
    url: https://jobo.world
    email: support@jobo.world
servers:
  - url: https://connect.jobo.world
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Jobs Search
    description: Search and retrieve job listings
  - name: Jobs Feed
    description: Bulk job feeds and expiration tracking
  - name: Career Sites Feed
    description: Bulk feed of newly discovered career sites with enriched company profiles
  - name: Companies
    description: Company profiles and company-scoped job listings
  - name: Auto Apply
    description: Automated job application sessions
  - name: Auto Apply Profiles
    description: Manage applicant profiles for auto-apply
  - name: Locations
    description: Geocoding and location services
paths:
  /api/locations/geocode:
    get:
      tags:
        - Locations
      summary: Geocode a location string into structured location data
      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'
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: RFC 7807 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
    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.
  responses:
    Unauthorized:
      description: Missing or invalid API key
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: API key provided by Jobo

````