Allowances API MCP
Exposes GSA, DTMO, and DSSR per diem and allowance data as MCP tools for AI assistants, enabling queries for travel budgets, overseas proposals, and expense checks using current and historical government rate tables.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.allowancesapi.com/mcpWhat its tools do
42 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Not annotated (42)
get_allowancesget_allowances_by_locationget_allowances_by_postcodesearch_perdiemget_perdiem_allowanceget_perdiem_allowance_by_locationget_perdiem_allowance_by_postcodeget_dssr_locationsget_countriesget_countryget_dssr_locations_by_countrycola_calculator_by_postcodeget_gsa_perdiem_by_destinationget_gsa_perdiem_by_stateget_gsa_perdiem_by_state_yearget_gsa_perdiem_by_zipcodeget_gsa_perdiem_by_zipcode_yearget_zipcodeget_destination_by_idget_destinationsget_city_pair_locationsget_city_pairsget_mileageget_mie_breakdownsget_fleet_rates_by_sincalculate_mileage_reimbursementcalculate_trip_per_diemget_dtmo_perdiem_conusget_dtmo_perdiem_oconussearch_dtmo_perdiemget_dtmo_conus_locationsget_dtmo_oconus_locationssearch_fema_hotelsget_fema_hotel_by_idget_fema_hotels_by_zipcodeget_fema_hotels_by_state_cityget_opm_localitiesget_opm_locality_by_countysearch_opm_payget_opm_payget_latest_publicationsget_user
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to allowancesapi.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Query GSA per diem rates for domestic locations
- Retrieve DSSR COLA and hardship rates for overseas locations
- Calculate POV mileage reimbursement for travel expenses
Source and maintenance
Protocol and capabilities
- Server
- Allowances API 1.30.0
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 42 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
},
"experimental": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
42 advertised
get_allowances
DSSR allowances by country
{
"type": "object",
"required": [
"country_iso_code"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"type": {
"enum": [
"cola",
"hardship",
"lqa",
"danger_pay",
"education"
],
"type": "array",
"items": {
"type": "string"
},
"title": "Allowance type",
"description": "Filter returned allowances. Unknown values are ignored.<br/>If not specified, all allowances are returned.<br/>Canonical values: cola, hardship, lqa, danger_pay, education, perdiem.<br/>Aliases accepted: cost_of_living, cost-of-living, danger, danger-pay, livingquarters."
},
"country_iso_code": {
"type": "string",
"title": "Country Iso Code",
"examples": [
"BE",
"JP",
"KE"
],
"description": "ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name)."
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}get_allowances_by_location
DSSR allowances by location name
{
"type": "object",
"required": [
"location",
"country_iso_code"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"type": {
"enum": [
"cola",
"hardship",
"lqa",
"danger_pay",
"education"
],
"type": "array",
"items": {
"type": "string"
},
"title": "Allowance type",
"description": "Filter returned allowances. Unknown values are ignored.<br/>If not specified, all allowances are returned.<br/>Canonical values: cola, hardship, lqa, danger_pay, education, perdiem.<br/>Aliases accepted: cost_of_living, cost-of-living, danger, danger-pay, livingquarters."
},
"location": {
"type": "string",
"title": "Location",
"description": "Location name, case insensitive",
"openapi_examples": {
"tokyo": {
"value": "tokyo",
"summary": "Tokyo, Japan (lowercase)"
},
"partial": {
"value": "toky",
"summary": "Tokyo, Japan (partial)"
},
"adelaide": {
"value": "Adelaide",
"summary": "Adelaide, Australia"
}
}
},
"country_iso_code": {
"type": "string",
"title": "Country Iso Code",
"examples": [
"BE",
"JP",
"KE"
],
"description": "ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name)."
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}get_allowances_by_postcode
DSSR allowances by location post code
{
"type": "object",
"required": [
"postcode",
"country_iso_code"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"type": {
"enum": [
"cola",
"hardship",
"lqa",
"danger_pay",
"education"
],
"type": "array",
"items": {
"type": "string"
},
"title": "Allowance type",
"description": "Filter returned allowances. Unknown values are ignored.<br/>If not specified, all allowances are returned.<br/>Canonical values: cola, hardship, lqa, danger_pay, education, perdiem.<br/>Aliases accepted: cost_of_living, cost-of-living, danger, danger-pay, livingquarters."
},
"postcode": {
"type": "integer",
"title": "DSSR post code",
"maximum": 99999,
"minimum": 10000,
"description": "5-digit DSSR post code (no zero-padding)"
},
"country_iso_code": {
"type": "string",
"title": "Country Iso Code",
"examples": [
"BE",
"JP",
"KE"
],
"description": "ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name)."
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}search_perdiem
Search DSSR Per Diem by country/location name Search globally by case-insensitive substring of a location or country name. The date selects effective and seasonal rates and defaults to today. The response effective_date is the first day of the selected month. Missing, blank, or fewer than three characters after trimming returns HTTP 422. A valid search with no matching rates returns HTTP 404.
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"title": "Q",
"minLength": 3,
"description": "Required case-insensitive substring of a location or country name; at least three characters after trimming."
},
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
}
}
}get_perdiem_allowance
DSSR per diem by country
{
"type": "object",
"required": [
"country_iso_code"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"country_iso_code": {
"type": "string",
"title": "Country Iso Code",
"examples": [
"BE",
"JP",
"KE"
],
"description": "ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name)."
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}get_perdiem_allowance_by_location
DSSR per diem by location name
{
"type": "object",
"required": [
"location",
"country_iso_code"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"location": {
"type": "string",
"title": "Location",
"description": "Location name, case insensitive",
"openapi_examples": {
"tokyo": {
"value": "tokyo",
"summary": "Tokyo, Japan (lowercase)"
},
"partial": {
"value": "toky",
"summary": "Tokyo, Japan (partial)"
},
"adelaide": {
"value": "Adelaide",
"summary": "Adelaide, Australia"
}
}
},
"country_iso_code": {
"type": "string",
"title": "Country Iso Code",
"examples": [
"BE",
"JP",
"KE"
],
"description": "ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name)."
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}get_perdiem_allowance_by_postcode
DSSR per diem by location post code
{
"type": "object",
"required": [
"postcode",
"country_iso_code"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"postcode": {
"type": "integer",
"title": "DSSR post code",
"maximum": 99999,
"minimum": 10000,
"description": "5-digit DSSR post code (no zero-padding)"
},
"country_iso_code": {
"type": "string",
"title": "Country Iso Code",
"examples": [
"BE",
"JP",
"KE"
],
"description": "ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name)."
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}get_dssr_locations
List DSSR locations Return DSSR locations, optionally filtered by q=<name>. The response is paginated and includes the total number of matching locations (ignoring pagination) along with the offset and limit that were applied.
{
"type": "object",
"properties": {
"q": {
"anyOf": [
{
"type": "string",
"minLength": 2
},
{
"type": "null"
}
],
"title": "Q",
"description": "Search by name"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 20
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
}
}
}get_countries
Resolve a country name to its ISO code and list its posts
{
"type": "object",
"properties": {
"q": {
"anyOf": [
{
"type": "string",
"minLength": 2
},
{
"type": "null"
}
],
"title": "Q",
"description": "Search by country name"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"maximum": 300
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
}
}
}get_country
Get country by ISO code
{
"type": "object",
"required": [
"country_iso_code"
],
"properties": {
"country_iso_code": {
"type": "string",
"title": "Country Iso Code",
"examples": [
"BE",
"JP",
"KE"
],
"description": "ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name)."
}
}
}get_dssr_locations_by_country
List DSSR locations by country Return all DSSR locations for a specific country using its ISO alpha-2 code (e.g., 'AF', 'DE')
{
"type": "object",
"required": [
"country_iso_code"
],
"properties": {
"country_iso_code": {
"type": "string",
"title": "Country Iso Code",
"examples": [
"BE",
"JP",
"KE"
],
"description": "ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name)."
}
}
}cola_calculator_by_postcode
DSSR COLA calculator by postcode Returns the rate in percentage, the annual and the biweekly amounts of cost of living allowance (COLA) for a given DSSR postcode. Use this endpoint to automate your COLA calculations and replace the official excel file.
{
"type": "object",
"required": [
"postcode",
"family_size",
"base_salary"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"postcode": {
"type": "integer",
"title": "DSSR post code",
"maximum": 99999,
"minimum": 10000,
"description": "5-digit DSSR post code (no zero-padding)"
},
"base_salary": {
"type": "integer",
"title": "Base Salary",
"minimum": 1000,
"description": "Basic annual salary, excluding U.S. locality pay; including Overseas Comparability Pay."
},
"family_size": {
"type": "integer",
"title": "Family Size",
"minimum": 1,
"description": "The number of family members, including the FS/DoS employee/contractor"
}
}
}get_gsa_perdiem_by_destination
GSA per diem rate by destination Return the GSA per diem rate in effect for a specific GSA destination on a given date. A destination is a rate area defined by GSA and may represent a city, metropolitan area, county, or the Standard CONUS area. It is not necessarily a single municipality. `destination_id` is the numeric identifier assigned to that GSA rate area in the source data. Use [`GET /v1/gsa/destinations`](/docs#tag/GSA---CONUS-locations/operation/get_destinations_v1_gsa_destinations_get) to browse the available destinations and find the ID for the location you need. Destination ID `0` represents the Standard CONUS rate. The response contains the seasonal lodging rate applicable on the requested date and the daily meals and incidental expenses (M&IE) rate. When `date` is omitted, today's rate is returned. Set `verification_url=true` to include the corresponding official GSA lookup URL.
{
"type": "object",
"required": [
"destination_id"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"destination_id": {
"type": "integer",
"title": "Destination Id",
"description": "GSA's numeric identifier for a rate area. Retrieve valid IDs from `GET /v1/gsa/destinations`; ID 0 is the Standard CONUS rate."
},
"verification_url": {
"type": "boolean",
"title": "Verification Url",
"default": false,
"description": "Include the official GSA per diem lookup URL in the response when true."
}
}
}get_gsa_perdiem_by_state
GSA per diem rates by state and date Return every GSA destination rate in a state that applies on a specific date. Each result contains the seasonal lodging rate in effect on that date and the daily meals and incidental expenses (M&IE) rate. When `date` is omitted, today's rates are returned. Use the optional `location` parameter to filter by a GSA destination or location-defined name. Matching is case-insensitive and accepts partial names. If the state has no non-standard destination rate, the Standard CONUS rate is returned. This endpoint covers GSA CONUS rates; unsupported or unknown state codes return 404. Set `verification_url=true` to include the corresponding official GSA state lookup URL.
{
"type": "object",
"required": [
"state_iso"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Location",
"description": "Optional case-insensitive partial match against the GSA destination name or location-defined name."
},
"state_iso": {
"type": "string",
"title": "State Iso",
"description": "Two-letter US postal abbreviation for the state or District of Columbia."
},
"verification_url": {
"type": "boolean",
"title": "Verification Url",
"default": false,
"description": "Include the official GSA state lookup URL in the response when true."
}
}
}get_gsa_perdiem_by_state_year
GSA per diem rates by state and fiscal year Return every GSA destination rate in a state for a US fiscal year. Each result contains the lodging rate for every month and the daily meals and incidental expenses (M&IE) rate. A US fiscal year begins October 1 of the preceding calendar year and ends September 30. Use the optional `location` parameter to filter destinations by their GSA destination or location-defined name. Matching is case-insensitive and accepts partial names. Set `verification_url=true` to include the corresponding official GSA state lookup URL.
{
"type": "object",
"required": [
"state_iso",
"year"
],
"properties": {
"year": {
"type": "integer",
"title": "Year",
"description": "Four-digit US fiscal year. Fiscal year 2026 runs from 2025-10-01 through 2026-09-30."
},
"location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Location",
"description": "Optional case-insensitive partial match against the GSA destination name or location-defined name."
},
"state_iso": {
"type": "string",
"title": "State Iso",
"description": "Two-letter US postal abbreviation for the state or District of Columbia."
},
"verification_url": {
"type": "boolean",
"title": "Verification Url",
"default": false,
"description": "Include the official GSA state lookup URL in the response when true."
}
}
}get_gsa_perdiem_by_zipcode
GSA per diem rates by ZIP code and date Return every GSA destination rate associated with a US ZIP code that applies on a specific date. Each result contains the seasonal lodging rate in effect on that date and the daily meals and incidental expenses (M&IE) rate. When `date` is omitted, today's rates are returned. A ZIP code can map to more than one GSA destination. When that happens, `results` contains every applicable rate, and the API does not choose one automatically. Use the returned county or a geocoder to determine which destination applies to the travel location. If a known ZIP code has no non-standard destination, the Standard CONUS rate is returned. The path accepts either a five-digit ZIP code or ZIP+4. ZIP+4 values are normalized to their first five digits. Set `verification_url=true` to include the corresponding official GSA lookup URL.
{
"type": "object",
"required": [
"zipcode"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"zipcode": {
"type": "string",
"title": "Zipcode",
"description": "Five-digit US ZIP code, or ZIP+4. ZIP+4 values are normalized to the first five digits."
},
"verification_url": {
"type": "boolean",
"title": "Verification Url",
"default": false,
"description": "Include the official GSA per diem lookup URL in the response when true."
}
}
}get_gsa_perdiem_by_zipcode_year
GSA per diem rates by ZIP code and fiscal year Return the GSA lodging rates for every month of a US fiscal year and the daily meals and incidental expenses (M&IE) rate associated with a ZIP code. A US fiscal year begins October 1 of the preceding calendar year and ends September 30. A ZIP code can map to more than one GSA destination. When that happens, `results` contains every applicable rate. The API does not choose a destination automatically; use the returned county or a geocoder to determine which rate applies. ZIP codes without a non-standard destination return the Standard CONUS rate. ZIP+4 input is accepted and normalized to its first five digits. Set `verification_url=true` to include the corresponding official GSA lookup URL.
{
"type": "object",
"required": [
"zipcode",
"year"
],
"properties": {
"year": {
"type": "integer",
"title": "Year",
"description": "Four-digit US fiscal year. Fiscal year 2026 runs from 2025-10-01 through 2026-09-30."
},
"zipcode": {
"type": "string",
"title": "Zipcode",
"description": "Five-digit US ZIP code, or ZIP+4. ZIP+4 values are normalized to the first five digits."
},
"verification_url": {
"type": "boolean",
"title": "Verification Url",
"default": false,
"description": "Include the official GSA ZIP-code lookup URL in the response when true."
}
}
}get_zipcode
Get ZIP code metadata Look up every state associated with a US ZIP code. Most ZIP codes belong to one state, but some cross state boundaries. In that case, `states` contains every matching state; the API does not choose one on the caller's behalf. This is a geographic metadata endpoint; it does not return GSA per diem rates. Use `/v1/gsa/perdiem/zipcode/{zipcode}` for rates. The path accepts either a five-digit ZIP code or ZIP+4. ZIP+4 values are normalized to their first five digits before lookup, and the normalized five-digit ZIP is returned in the response. Leading zeroes are significant, so ZIP codes must be sent as strings.
{
"type": "object",
"required": [
"zipcode"
],
"properties": {
"zipcode": {
"type": "string",
"title": "Zipcode",
"description": "US ZIP (12345) or ZIP+4 (12345-6789)",
"openapi_examples": {
"normal": {
"value": "12084",
"summary": "Five digits postcode"
},
"zip_plus_four": {
"value": "12084-1234",
"summary": "Zip+4 format"
}
}
}
}
}get_destination_by_id
Get GSA destination metadata by ID Return the geographic metadata for one GSA destination rate area. A destination may represent a city, metropolitan area, county, group of jurisdictions, or the Standard CONUS area rather than a single municipality. `name` is GSA's short display name, while `defined_name` describes the geographic scope of the rate area. `destination_id` is GSA's numeric identifier for that rate area. Use [`GET /v1/gsa/destinations`](/docs#tag/GSA---CONUS-locations/operation/get_destinations_v1_gsa_destinations_get) to browse available destinations and find an ID. ID `0` identifies the Standard CONUS rate area. This endpoint returns destination metadata only. Use `GET /v1/gsa/perdiem/destination/{destination_id}` to retrieve the per diem rate in effect for a particular date.
{
"type": "object",
"required": [
"destination_id"
],
"properties": {
"destination_id": {
"type": "integer",
"title": "Destination Id",
"description": "GSA's numeric identifier for a destination rate area. Retrieve valid IDs from `GET /v1/gsa/destinations`; ID 0 is Standard CONUS."
}
}
}get_destinations
List GSA destinations Return the paginated list of GSA destination rate areas and their numeric IDs. A destination is an area for which GSA publishes a per diem rate; it may represent a city, metropolitan area, county, locality, or the Standard CONUS area rather than a single municipality. Use `destination_id` with `GET /v1/gsa/perdiem/destination/{destination_id}` to retrieve the rate in effect for that destination. ID `0` identifies the Standard CONUS rate. `name` is GSA's display name, while `defined_name`, `county`, and state fields provide the geographic context needed to select the correct rate area. Results are ordered by `destination_id`. Use `offset` and `limit` to page through the list. An offset beyond the available records returns an empty list, not a 404 response.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 100,
"maximum": 200,
"description": "Maximum number of destinations to return. The maximum is 200."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"description": "Number of destination records to skip before returning results."
}
}
}get_city_pair_locations
City Pair airport and city codes List or search the three-letter codes used by GSA City Pair awards for the fiscal year of `date` (today by default), with GSA's own city, state and country labels. Awards use IATA airport codes (DCA, IAD, BWI) for most domestic pairs and metropolitan city codes (WAS, NYC, LON) for others; only GSA decides which, so resolve the code here before calling the fare lookup. Several codes can share one city label. Without `q`, every code of the fiscal year is returned, ordered by code. With `q` (3+ characters), a code matches exactly and city/country names match by substring, case-insensitively. Plan/date rules are those of the fare lookup: Sandbox and Google add-on today only; Pro the current US fiscal year; Business (including Enterprise accounts) any loaded fiscal year. Example: ```sh curl --get 'https://api.allowancesapi.com/v1/gsa/city-pairs/locations' -H 'X-API-Key: YOUR_KEY' --data-urlencode 'q=washington' ``` Labels mirror the latest imported awards table and change with it.
{
"type": "object",
"properties": {
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Q",
"examples": [
"washington",
"LON"
],
"minLength": 3,
"description": "Match a code exactly or a city/country name by substring; case-insensitive. Omit to list every code of the fiscal year."
},
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
}
}
}get_city_pairs
City Pair contract airfares Return every GSA contract award matching the airport/city code pair and date (today by default). Codes are returned in alphabetical order; fares are one-way USD and valid in either direction. Source start/end dates are inclusive; overlapping amendments are both returned. No fallback to other fiscal years or dates. Null fare categories are unavailable. Sandbox and Google add-on: today only. Pro: current US fiscal year. Business (including Enterprise accounts): any loaded fiscal year, including published future awards. Data reflects the latest imported table, not past publication snapshots. These are eligible government travelers' contract prices, not live seat availability or booking offers. Domestic fares exclude passenger facility, segment and security fees; international fares exclude taxes/fees but include fuel surcharges. Book through the agency's authorized system. [Official CPP rules and price caveats](https://www.gsa.gov/travel/plan-a-trip/transportation-airfare-rates-pov-rates/airfare-rates-city-pair-program); [fare definitions](https://www.gsa.gov/travel/plan-a-trip/transportation-airfare-rates-pov-rates/airfare-rates-city-pair-program/government-airfare-types). Example (fixed date; use Business access for dates outside the current fiscal year): ```sh curl --get 'https://api.allowancesapi.com/v1/gsa/city-pairs/ABE/ATL' -H 'X-API-Key: YOUR_KEY' -H 'X-Bypass-Cache: 1' --data-urlencode 'date=2026-10-28' --data-urlencode 'verification_url=true' ``` See the 200 response example for all result fields. Importing does not invalidate existing cached responses; use X-Bypass-Cache: 1 to verify newly imported data.
{
"type": "object",
"required": [
"origin",
"destination"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"origin": {
"type": "string",
"title": "Origin",
"examples": [
"ABE",
"LON"
],
"description": "Three-letter airport or international city code; case-insensitive. No city-name expansion."
},
"destination": {
"type": "string",
"title": "Destination",
"examples": [
"ABE",
"LON"
],
"description": "Three-letter airport or international city code; case-insensitive. No city-name expansion."
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}get_mileage
POV mileage reimbursement rates Return the privately owned vehicle (POV) mileage reimbursement rates in effect on the given date. If date is not specified, today's rates will be returned.
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"type": {
"anyOf": [
{
"enum": [
"airplane",
"automobile",
"government_furnished_automobile",
"motorcycle",
"moving"
],
"type": "string",
"title": "MileageType"
},
{
"type": "null"
}
],
"title": "Type",
"description": "Filter by mileage type"
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}get_mie_breakdowns
M&IE meal breakdowns Return how daily M&IE totals break down into breakfast, lunch, dinner and incidental expenses, as in effect on the given date. The CONUS table breaks down the five standard CONUS M&IE tiers and is returned by default. Set region=oconus for the generic DTMO/DSSR M&IE total table. If date is not specified, today's breakdowns will be returned.
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"total": {
"anyOf": [
{
"type": "integer",
"minimum": 1
},
{
"type": "null"
}
],
"title": "Total",
"description": "Filter by daily M&IE total in USD"
},
"region": {
"enum": [
"conus",
"oconus"
],
"type": "string",
"title": "MieBreakdownRegion",
"default": "conus",
"description": "Breakdown table to return; defaults to CONUS"
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}get_fleet_rates_by_sin
GSA Fleet vehicle leasing rates by SIN Return the GSA Fleet vehicle leasing rates (monthly lease rate and rate per mile) for the vehicle type identified by its Standard Item Number (SIN), from the standard (US) or europe rate schedule. If year is not specified, the current fiscal year's rates will be returned. Rates are available from fiscal year 2022.
{
"type": "object",
"required": [
"rate_type",
"sin"
],
"properties": {
"sin": {
"type": "string",
"title": "GSA Fleet SIN",
"description": "Standard Item Number (SIN) identifying a GSA Fleet leased vehicle type, case insensitive."
},
"year": {
"anyOf": [
{
"type": "integer",
"description": "A fiscal year starts Oct 1st, ends Sep 30th",
"openapi_examples": {
"recent": {
"value": 2026
},
"historic": {
"value": 2005
}
}
},
{
"type": "null"
}
],
"title": "Year"
},
"rate_type": {
"enum": [
"standard",
"europe"
],
"type": "string",
"title": "Fleet rate schedule",
"description": "The GSA Fleet rate schedule: 'standard' covers vehicles leased in the United States, 'europe' covers vehicles leased in Europe."
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}calculate_mileage_reimbursement
Calculate POV mileage reimbursement Calculate mileage reimbursement using the official GSA rate in effect on the travel date. Provide a distance in miles and select automobile, airplane, motorcycle, or moving mileage. For automobile travel, indicate whether a government-furnished automobile was authorized and available; this determines whether the standard or reduced rate applies. If no travel date is supplied, today's date is used. The response identifies the selected rate category, rate and effective date, and the reimbursement amount rounded to the nearest cent.
{
"type": "object",
"required": [
"distance",
"vehicle_type"
],
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"example": "2026-07-11",
"description": "Travel date used to select the effective rate. Accepts YYYY-MM-DD or YYYYMMDD; defaults to today."
},
"distance": {
"type": "number",
"title": "Distance",
"example": 125.5,
"maximum": 100000,
"multipleOf": 0.001,
"description": "One-way or total travel distance in miles, from 0.001 through 100,000.",
"exclusiveMinimum": 0
},
"vehicle_type": {
"enum": [
"automobile",
"airplane",
"motorcycle",
"moving"
],
"type": "string",
"title": "MileageCalculatorVehicleType",
"example": "automobile",
"description": "Vehicle or travel category used to select the applicable GSA mileage rate."
},
"government_vehicle_available": {
"type": "boolean",
"title": "Government Vehicle Available",
"default": false,
"example": false,
"description": "Optional for automobile calculations and defaults to false. Use true when a government-furnished automobile is authorized and available; false selects the standard privately owned automobile rate."
}
}
}calculate_trip_per_diem
Calculate a GSA CONUS trip per diem entitlement <p>Calculate estimated lodging and meals and incidental expenses (M&IE) reimbursement for a trip within the continental United States. The response provides a daily breakdown and trip totals.</p> <h3 class="text-xl">Describe the trip</h3> <ul class="list-disc"> <li>Add each temporary-duty stop in travel order, with inclusive arrival and departure dates.</li> <li>Identify each stop with a GSA destination ID or ZIP code. A stop represents the temporary-duty locality, which may differ from the hotel location.</li> <li>Optionally provide the actual nightly lodging cost and any meals that must be deducted.</li> <li>When one stop ends on the same date another begins, the arriving stop applies to that date.</li> </ul> <h3 class="text-xl">Calculation rules</h3> <ul class="list-disc"> <li>The calculator selects the GSA rate in effect for each day, including seasonal and fiscal-year changes.</li> <li>First and last travel days receive 75% of the M&IE rate; intermediate days receive 100%.</li> <li>Submitted meal deductions use the official GSA meal values while preserving the required incidental expense amount.</li> <li>Lodging reimbursement is limited to the nightly GSA cap. Any amount above the cap is reported as <code>overage</code> and is not included in the payable total.</li> </ul> <h3 class="text-xl">Important notes</h3> <ul class="list-disc"> <li>Submit only meals that you have determined must be deducted under FTR 301-11.21.</li> <li>Single-day reimbursement applies only when the traveler is in eligible travel status for more than 12 hours.</li> <li>If a lodging cost is omitted, the response still shows the nightly cap, but lodging and overall payable totals are <code>null</code>.</li> <li>The response includes the calculation version and a source fingerprint to support auditing.</li> </ul>
{
"type": "object",
"required": [
"stops"
],
"properties": {
"stops": {
"type": "array",
"items": {
"type": "object",
"title": "GSATripStopRequest",
"required": [
"location",
"arrival_date",
"departure_date"
],
"properties": {
"location": {
"type": "object",
"title": "GSATripLocationRequest",
"properties": {
"zipcode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Zipcode",
"examples": [
"20001",
"20001-1234"
],
"description": "Five-digit US ZIP or ZIP+4. ZIP+4 is normalized to five digits."
},
"destination_id": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Destination Id",
"examples": [
123
],
"description": "GSA destination identifier. Destination 0 is Standard CONUS."
}
},
"description": "TDY locality for the stop; not merely the hotel location.",
"additionalProperties": false
},
"arrival_date": {
"type": "string",
"title": "Arrival Date",
"format": "date",
"description": "First calendar date owned by this stop."
},
"departure_date": {
"type": "string",
"title": "Departure Date",
"format": "date",
"description": "Shared boundary/return date; the arriving next stop owns a transition date."
},
"lodging_cost_per_night": {
"anyOf": [
{
"type": "number",
"maximum": 100000,
"minimum": 0
},
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lodging Cost Per Night",
"examples": [
250
],
"description": "Optional actual room cost applied to every lodging night in this stop. Must be a JSON number with no more than two decimal places."
}
},
"additionalProperties": false
},
"title": "Stops",
"maxItems": 50,
"minItems": 1,
"description": "Ordered, contiguous TDY-locality stops for the trip."
},
"deductible_meals": {
"type": "array",
"items": {
"type": "object",
"title": "GSATripDeductibleMealsRequest",
"required": [
"date",
"meals"
],
"properties": {
"date": {
"type": "string",
"title": "Date",
"format": "date",
"description": "Inclusive trip date on which meals are deducted."
},
"meals": {
"type": "array",
"items": {
"enum": [
"breakfast",
"lunch",
"dinner"
],
"type": "string",
"title": "GSATripMeal"
},
"title": "Meals",
"minItems": 1,
"description": "Non-empty unique breakfast/lunch/dinner deductions for the date."
}
},
"additionalProperties": false
},
"title": "Deductible Meals",
"description": "Sparse caller-determined meal deductions, keyed by trip date."
},
"verification_url": {
"type": "boolean",
"title": "Verification Url",
"default": false,
"description": "Include deduplicated official GSA verification URLs when true."
}
}
}get_dtmo_perdiem_conus
Get perdiem CONUS Department of Defense per diem for the continental U.S. by state code (e.g. 'TX'); Alaska, Hawaii and the territories are served by the OCONUS endpoint. Returns lodging, local and proportional meal rates, incidentals and the maximum per diem (lodging + meals + incidentals) per season. `q` filters by location name. `date` selects the rates in force on that day, `year` a fiscal year (Oct 1 to Sep 30); omit both for the current fiscal year.
{
"type": "object",
"required": [
"state_iso"
],
"properties": {
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Q",
"minLength": 3,
"description": "Search by location name or state/country name"
},
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"year": {
"type": "integer",
"title": "Year",
"description": "A fiscal year starts Oct 1st, ends Sep 30th",
"openapi_examples": {
"recent": {
"value": 2026
},
"historic": {
"value": 2005
}
}
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 50
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"state_iso": {
"type": "string",
"title": "State Iso",
"examples": [
"US-AL",
"US-CA"
],
"description": "US state code: US- followed by the postal abbreviation, e.g. US-CA for California."
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}get_dtmo_perdiem_oconus
Get perdiem OCONUS Department of Defense per diem outside the continental U.S.: foreign countries by ISO alpha-2 code (e.g. 'PG'), and Alaska, Hawaii and U.S. territories by 'US-XX' code. Returns lodging, local and proportional meal rates, incidentals and the maximum per diem (lodging + meals + incidentals) per season. `q` filters by location name. `date` selects the rates in force on that day, `year` a fiscal year (Oct 1 to Sep 30); omit both for the current fiscal year.
{
"type": "object",
"required": [
"oconus_iso_code"
],
"properties": {
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Q",
"minLength": 3,
"description": "Search by location name or state/country name"
},
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"year": {
"type": "integer",
"title": "Year",
"description": "A fiscal year starts Oct 1st, ends Sep 30th",
"openapi_examples": {
"recent": {
"value": 2026
},
"historic": {
"value": 2005
}
}
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 50
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"oconus_iso_code": {
"type": "string",
"title": "Oconus Iso Code",
"examples": [
"US-AK",
"BE"
],
"description": "Foreign country ISO 3166-1 alpha-2 code (e.g. BE), or one of the OCONUS state codes US-AK, US-HI, US-PR, US-GU, US-VI, US-AS, US-MP, US-UM. Resolve a country name to its code with get_countries (q=name)."
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}search_dtmo_perdiem
Search by location name Department of Defense per diem by location name (e.g. 'Kabul') or country/state name (e.g. 'Afghanistan'), across CONUS and OCONUS. `date` selects the rates in force on that day, `year` a fiscal year (Oct 1 to Sep 30); omit both for the current fiscal year.
{
"type": "object",
"properties": {
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Q",
"minLength": 3,
"description": "Search by location name or state/country name"
},
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"description": "Specific date in YYYY-MM-DD format"
},
"year": {
"type": "integer",
"title": "Year",
"description": "A fiscal year starts Oct 1st, ends Sep 30th",
"openapi_examples": {
"recent": {
"value": 2026
},
"historic": {
"value": 2005
}
}
},
"verification_url": {
"type": "boolean",
"title": "Verification URL",
"default": false,
"description": "If 'True', will include a verification url in the payload, pointing to the official government source. This is useful to crosscheck that the API returns the proper data and for auditing."
}
}
}get_dtmo_conus_locations
Get DTMO CONUS locations # todo add filter by location Return all DTMO locations for a specific state using its US State Code (e.g., 'US-CA')
{
"type": "object",
"required": [
"state_iso"
],
"properties": {
"state_iso": {
"type": "string",
"title": "State Iso",
"examples": [
"US-AL",
"US-CA"
],
"description": "US state code: US- followed by the postal abbreviation, e.g. US-CA for California."
}
}
}get_dtmo_oconus_locations
Get DTMO OCONUS locations Return DTMO locations for a specific country using its ISO Code (e.g., 'AU', 'BE'). The optional `location` filter performs case-insensitive substring matching. Omitted or empty filters return all locations in the country. Nonempty input is literal, including spaces and wildcard characters. No matches returns [].
{
"type": "object",
"required": [
"country_iso_code"
],
"properties": {
"location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Location",
"description": "Filter by location name"
},
"country_iso_code": {
"type": "string",
"title": "Country Iso Code",
"examples": [
"BE",
"JP",
"KE"
],
"description": "ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name)."
}
}
}search_fema_hotels
Search FEMA-listed properties by name and town Return the properties whose name or city contains every word of `q`, case-insensitively, as a plain substring: `courtyard dallas` matches Courtyard properties in Dallas, `mint house alexandria` the Mint House in Alexandria. There is no fuzzy matching, so `hampton inn` does not find "Hampton by Hilton". Words of one character are ignored. `state` narrows the search to one state or territory (404 for a code FEMA does not list). Results are ordered by name then city and paginated with `offset` and `limit` (50 by default, 200 at most); `total` counts every match. No match returns an empty `results` list. The Hotel and Motel Fire Safety Act of 1990 requires federal travelers to stay at a property on FEMA's Hotel and Motel National Master List to be reimbursed for lodging. Each property on the list has a FEMA ID. FEMA publishes the current list only; `as_of` is the date of the snapshot the results come from. This endpoint returns no rates: combine it with the GSA per diem lookups for the lodging ceiling.
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"title": "Q",
"examples": [
"mint house alexandria"
],
"minLength": 3,
"description": "Words to find in the property name or city, all required, case-insensitive."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Properties per page, 200 at most."
},
"state": {
"anyOf": [
{
"type": "string",
"examples": [
"AL",
"CA"
],
"description": "2-digits US State ISO Code, format XX"
},
{
"type": "null"
}
],
"title": "State",
"description": "Restrict the search to one state or territory."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"minimum": 0,
"description": "Number of properties to skip."
}
}
}get_fema_hotel_by_id
FEMA-listed property by FEMA ID Return the property registered under a FEMA ID, or 404 when the ID is not on the list. The Hotel and Motel Fire Safety Act of 1990 requires federal travelers to stay at a property on FEMA's Hotel and Motel National Master List to be reimbursed for lodging. Each property on the list has a FEMA ID. FEMA publishes the current list only; `as_of` is the date of the snapshot the results come from. This endpoint returns no rates: combine it with the GSA per diem lookups for the lodging ceiling.
{
"type": "object",
"required": [
"fema_id"
],
"properties": {
"fema_id": {
"type": "string",
"title": "Fema Id",
"examples": [
"VA6026"
],
"description": "FEMA ID of the property as printed on the Hotel and Motel National Master List, two letters followed by digits. Case-insensitive."
}
}
}get_fema_hotels_by_zipcode
FEMA-listed properties by ZIP code Return every property on the list in a US ZIP code, ordered by name. The path accepts a five-digit ZIP or ZIP+4, normalized to the first five digits. A known ZIP with no listed property returns an empty `results` list; an unknown ZIP returns 404. The Hotel and Motel Fire Safety Act of 1990 requires federal travelers to stay at a property on FEMA's Hotel and Motel National Master List to be reimbursed for lodging. Each property on the list has a FEMA ID. FEMA publishes the current list only; `as_of` is the date of the snapshot the results come from. This endpoint returns no rates: combine it with the GSA per diem lookups for the lodging ceiling.
{
"type": "object",
"required": [
"zipcode"
],
"properties": {
"zipcode": {
"type": "string",
"title": "Zipcode",
"description": "US ZIP (12345) or ZIP+4 (12345-6789)",
"openapi_examples": {
"normal": {
"value": "12084",
"summary": "Five digits postcode"
},
"zip_plus_four": {
"value": "12084-1234",
"summary": "Zip+4 format"
}
}
}
}
}get_fema_hotels_by_state_city
FEMA-listed properties by state, optionally filtered by city Return the properties on the list in a state, ordered by city then name and paginated with `offset` and `limit` (50 by default, 200 at most); `total` is the number of matches across all pages. The optional `city` is matched case-insensitively as a partial name, so `york` matches New York and Yorktown. The state path accepts the 50 states, DC and the territories FEMA lists (AS, GU, MP, PR, PW, VI); other codes return 404. A city that matches nothing returns an empty `results` list. The Hotel and Motel Fire Safety Act of 1990 requires federal travelers to stay at a property on FEMA's Hotel and Motel National Master List to be reimbursed for lodging. Each property on the list has a FEMA ID. FEMA publishes the current list only; `as_of` is the date of the snapshot the results come from. This endpoint returns no rates: combine it with the GSA per diem lookups for the lodging ceiling.
{
"type": "object",
"required": [
"state_iso"
],
"properties": {
"city": {
"anyOf": [
{
"type": "string",
"minLength": 2
},
{
"type": "null"
}
],
"title": "City",
"examples": [
"Alexandria"
],
"description": "Case-insensitive partial match on the city name."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Properties per page, 200 at most."
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0,
"minimum": 0,
"description": "Number of properties to skip."
},
"state_iso": {
"type": "string",
"title": "State Iso",
"examples": [
"AL",
"CA"
],
"description": "2-digits US State ISO Code, format XX"
}
}
}get_opm_localities
GS locality pay areas, optionally by county or city List the locality pay areas of the latest pay year, with the code to use on the pay endpoints. The optional `location` keeps the areas whose name contains every word, and the areas of the counties and cities with that name. `state` narrows `location` to one state and has no effect without it. County and city names must match exactly, ignoring case; a trailing `county` is optional. A place outside every listed area returns Rest of U.S. (`RUS`). Area names keep matching on any word they contain. `matched_places` lists the counties and cities behind each result. A place name can return several areas: the same name can exist in several states, which `state` narrows, and a city can span several areas, in which case all of them are returned and the official duty station decides. City data is not published by OPM, so for payroll use `/v1/opm/localities/county/{fips}`. An empty result does not mean Rest of U.S.: the name may be misspelled, and U.S. territories are not covered.
{
"type": "object",
"properties": {
"state": {
"anyOf": [
{
"type": "string",
"examples": [
"AL",
"CA"
],
"description": "2-digits US State ISO Code, format XX"
},
{
"type": "null"
}
],
"title": "State",
"description": "Restrict `location` to one state."
},
"location": {
"anyOf": [
{
"type": "string",
"minLength": 2
},
{
"type": "null"
}
],
"title": "Location",
"examples": [
"evanston"
],
"description": "County, city or locality area name."
}
}
}get_opm_locality_by_county
GS locality pay area of a county Return the locality pay area of a county for the latest pay year, using OPM's own definitions. A county that OPM doesn't list under an area falls under Rest of U.S. (`RUS`), and every county in Alaska or Hawaii returns that state's area. Returns 404 for an unknown code and for a Connecticut planning region, as OPM defines Connecticut by its eight legacy counties. U.S. territories fall under Rest of U.S. in OPM's definitions, but their county codes are not available here and return 404. Burlington County, NJ (`34005`) returns the Philadelphia area, while three military sites inside it (Fort Dix, Joint Base McGuire-Dix-Lakehurst and McGuire Air Force Base) belong to the New York area.
{
"type": "object",
"required": [
"fips"
],
"properties": {
"fips": {
"type": "string",
"title": "Fips",
"pattern": "^\\d{5}$",
"examples": [
"17031"
],
"description": "Five-digit county FIPS code: two for the state and three for the county."
}
}
}search_opm_pay
Search GS pay by locality area Return the latest pay tables whose locality area matches every word of `q`: each word must be contained in the area name, case-insensitively, or equal its code. `grade` and `step` narrow the rates. No match returns an empty `results` list. Matching only looks at OPM's locality area names, not at the counties and towns each area covers: `naperville` finds Chicago because the name contains it, while a town missing from the names returns nothing. No match does not mean the place falls under Rest of U.S.
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"title": "Q",
"examples": [
"chicago"
],
"minLength": 2,
"description": "Words to find in the locality area name or code, all required, case-insensitive."
},
"step": {
"anyOf": [
{
"type": "integer",
"maximum": 10,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Step",
"description": "Return only this step, 1 to 10."
},
"grade": {
"anyOf": [
{
"type": "integer",
"maximum": 15,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Grade",
"description": "Return only this GS grade, 1 to 15."
}
}
}get_opm_pay
GS pay by locality code Return the latest pay table of a locality pay area, ordered by grade and step, or 404 for an unknown code. `grade` and `step` narrow the rates. Use `GS` for the base table without locality pay, and `RUS` for Rest of U.S.
{
"type": "object",
"required": [
"locality_code"
],
"properties": {
"step": {
"anyOf": [
{
"type": "integer",
"maximum": 10,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Step",
"description": "Return only this step, 1 to 10."
},
"grade": {
"anyOf": [
{
"type": "integer",
"maximum": 15,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Grade",
"description": "Return only this GS grade, 1 to 15."
},
"locality_code": {
"type": "string",
"title": "Locality Code",
"examples": [
"CHI"
],
"description": "OPM locality pay area code, from /v1/opm/localities, or GS for the base table. Case-insensitive."
}
}
}get_latest_publications
Latest data publications
{
"type": "object",
"properties": {}
}get_user
Get User
{
"type": "object",
"properties": {}
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-02: 4 of 4 checks answered
- 2026-11-03: 3 of 3 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 368 ms
- 95th percentile latency
- 368 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 368 ms · metadata changed · 42 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http allowances-api-mcp https://mcp.allowancesapi.com/mcpCodex
codex mcp add allowances-api-mcp --url https://mcp.allowancesapi.com/mcpCursor
{
"mcpServers": {
"allowances-api-mcp": {
"url": "https://mcp.allowancesapi.com/mcp"
}
}
}Cline
{
"mcpServers": {
"allowances-api-mcp": {
"type": "streamableHttp",
"url": "https://mcp.allowancesapi.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"allowances-api-mcp": {
"type": "http",
"url": "https://mcp.allowancesapi.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http allowances-api-mcp https://mcp.allowancesapi.com/mcpClaude Desktop
{
"mcpServers": {
"allowances-api-mcp": {
"url": "https://mcp.allowancesapi.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"allowances-api-mcp": {
"serverUrl": "https://mcp.allowancesapi.com/mcp"
}
}
}Let your agent find its tools
Find servers like Allowances API MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run Allowances API MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.