GET https://api.gsa.gov/travel/perdiem/v2/rates/city/{city}/state/{stateAbbrev}/year/{year}?api_key=<API_KEY> to retrieve lodging and M&IE (meals and incidental expenses) per diem rates for a specific city, state, and fiscal year
Alternatively, GET by ZIP code via https://api.gsa.gov/travel/perdiem/v2/rates/zip/{zip}/year/{year}?api_key=<API_KEY> for address-level lookups
Parse the response 'request' array for 'months' data, noting that lodging rates vary by month within a fiscal year for seasonal destinations while M&IE rates are typically fixed throughout the year
For locations not found by city/state (returning 'rates not found'), fall back to the standard CONUS rate by requesting the GSA standard rate or checking the response field 'isStandardRate': true
Cache rates by city/state/year as they are set once per federal fiscal year (October 1) and do not change during the year
Known gotchas
GSA per diem rates apply to federal civilian employees on official travel; the Department of Defense uses separate JTR rates for military personnel, and some agencies may have additional internal policies that further restrict the GSA rates
The fiscal year parameter uses the federal fiscal year starting October 1 (e.g., FY2024 = October 2023 through September 2024); requesting rates for a calendar year date requires using the correct FY value
The API requires a GSA API key obtained via https://open.gsa.gov/apis/perdiem/; unauthenticated requests are not supported and will return a 403 error
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp