Localities

Discover and resolve payment locations.

GET/api/v1/localities

List localities

Discover payment localities, browse state and city coverage, or resolve a ZIP to candidate payment areas.

Optional attributes

  • Name
    date
    Type
    string
    Description

    Service date in YYYY-MM-DD format. Defaults to today in UTC.

  • Name
    zip
    Type
    string
    Description

    Five-digit ZIP or ZIP+4. Cannot be combined with state or city.

  • Name
    state
    Type
    string
    Description

    Two-letter uppercase state. Required when city is supplied.

  • Name
    city
    Type
    string
    Description

    Lowercase hyphenated city slug within the supplied state.

  • Name
    page
    Type
    integer
    Description

    Page number, starting at 1. Defaults to 1; maximum 10,000.

  • Name
    limit
    Type
    integer
    Description

    Results per page. Defaults to 50; accepts 1–100.

Response

  • Name
    data
    Type
    object[]
    Description

    Matching payment localities.

  • Name
    data[].id
    Type
    string
    Description

    Contractor-locality identifier.

  • Name
    data[].name
    Type
    string
    Description

    CMS locality name.

  • Name
    data[].state
    Type
    string
    Description

    State identifier.

  • Name
    data[].gpci.work
    Type
    decimal string
    Description

    work geographic practice cost index.

  • Name
    data[].gpci.practice_expense
    Type
    decimal string
    Description

    practice expense geographic practice cost index.

  • Name
    data[].gpci.malpractice
    Type
    decimal string
    Description

    malpractice geographic practice cost index.

  • Name
    meta.page
    Type
    integer
    Description

    Current page number.

  • Name
    meta.limit
    Type
    integer
    Description

    Maximum results per page.

  • Name
    meta.total
    Type
    integer
    Description

    Total matching records.

  • Name
    meta.next_page
    Type
    integer | null
    Description

    Next page number, or null when there are no more pages.

  • Name
    meta.date
    Type
    string
    Description

    Resolved service date.

  • Name
    meta.release
    Type
    integer
    Description

    PFS release ID.

  • Name
    meta.resolution
    Type
    string · ZIP requests
    Description

    Resolution status; ambiguous ZIPs require ZIP+4.

  • Name
    meta.geography_release
    Type
    integer | null · ZIP requests
    Description

    Geography release used for resolution.

  • Name
    meta.city
    Type
    object · city requests
    Description

    City name, slug, geography year, and sources.

National and local rates

Omit location from a rate request for a national amount with all GPCIs set to one. For local pricing, use zip or a stable locality identifier such as 13202-01. These parameters are mutually exclusive. Keep ZIPs and locality IDs as strings to preserve leading zeros.

Discover localities

GET /api/v1/localities lists payment areas with id, name, state, and decimal-string gpci values (work, practice_expense, malpractice). date defaults to today UTC. page defaults to 1 and limit to 50 (maximum 100).

Optional state=NY filters by state coverage. city accepts a city slug from the site's geography, such as a name plus FIPS suffix, and requires state. City results may contain multiple localities; the response does not choose one for you.

Collections return data and meta with date, PFS release ID, page, limit, total and next_page. A missing PFS dataset returns 422 data_unavailable.

Resolve a ZIP

zip accepts five digits or hyphenated ZIP+4 and cannot be combined with state or city. meta.resolution is resolved, requires_zip_plus4, unknown_zip, unknown_zip_plus4, or data_unavailable. meta.geography_release identifies the ZIP dataset when available.

An ambiguous ZIP returns known candidate payment localities, without selecting one. Candidates are informational and may be empty if the source has no usable ZIP+4 rows. Supply ZIP+4 or a verified locality for pricing. ZIP resolution never falls back to an earlier geography period.

Use the result

Pass the selected data[].id to rate or therapy requests. For rate requests, ambiguous ZIPs return 422 zip_plus4_required; unknown ZIPs/localities return 422 location_not_found. When exact-period geography is missing, a rate may be unavailable with a null locality ID.

City coverage is a geographic browsing aid; it does not replace service-address ZIP+4 resolution. GPCI values are source factors. Use rate breakdowns for the factors actually applied by the supported pricing rules.

Request

GET
/api/v1/localities
curl -G 'https://feebase.co/api/v1/localities' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  --data-urlencode 'zip=10001'

Response

{
  "data": [
    {
      "id": "13202-01",
      "name": "MANHATTAN",
      "state": "NY",
      "gpci": {
        "work": "1.000",
        "practice_expense": "1.000",
        "malpractice": "1.000"
      }
    }
  ],
  "meta": {
    "page": 1,
    "limit": 50,
    "total": 1,
    "next_page": null,
    "date": "2026-10-06",
    "release": 1,
    "resolution": "resolved",
    "geography_release": 2
  }
}

Illustrative response. Values and release IDs are examples.

© 2026 Textual, LLC. FeeBase is a Textual product.

Medicare payment data is published by the Centers for Medicare & Medicaid Services (CMS). FeeBase is an independent service, not affiliated with or endorsed by CMS or the American Medical Association (AMA).

Government-produced CMS materials are in the public domain; third-party code sets retain their copyright protections. CPT® is a registered trademark of the AMA. CPT codes and descriptions are copyrighted by the AMA. HCPCS Level II is maintained by CMS; dental codes (CDT®) are copyrighted by the American Dental Association.