{
  "openapi": "3.1.0",
  "info": {
    "title": "Kit Rx US Geocoding, Census & Weather API",
    "version": "1.0.0",
    "description": "US address geocoding and reverse geocoding with Census geographies (state, county, tract, block group, districts, ZCTA, metro area) and USGS elevation, plus National Weather Service forecasts (7-day or hourly) and active alerts for an address or point. Each call is one x402 v2 payment in USDC on Base, Polygon, Arbitrum, Avalanche or Sei; no signup or API key. Requests that fail or match nothing are not charged.",
    "x-guidance": "GET endpoints under /v1 take query-string parameters and return JSON. Pay per call with x402 v2 (USDC on Base); only 2xx responses are settled. Parameter details and examples: /llms.txt and /catalog.json.",
    "contact": {
      "name": "Kit Rx US Geocoding, Census & Weather",
      "url": "https://geo.kit-rx.com"
    }
  },
  "servers": [
    {
      "url": "https://geo.kit-rx.com"
    }
  ],
  "x-agentcash-guidance": {
    "llmsTxtUrl": "https://geo.kit-rx.com/llms.txt"
  },
  "x-agentcash-provenance": {
    "ownershipProofs": [
      "0x03b6f01155da092ac4f459adaa41a75896bba086eafa92d45352c7956e87f878276e8706ade7620abf35d8c6f713ac126bdb3fa1baccc97414aebc08937da0b81b"
    ]
  },
  "x-discovery": {
    "ownershipProofs": [
      "0x03b6f01155da092ac4f459adaa41a75896bba086eafa92d45352c7956e87f878276e8706ade7620abf35d8c6f713ac126bdb3fa1baccc97414aebc08937da0b81b"
    ]
  },
  "paths": {
    "/v1/geo/us-address": {
      "get": {
        "operationId": "geo_us_address",
        "summary": "US address geocode with Census geographies",
        "description": "Geocodes a one-line US address, or reverse-geocodes a lat/lon point, to coordinates and the Census geographies containing it: state and county FIPS, county subdivision, place, tract, block group, block, ZCTA, congressional and state legislative districts, school districts, urban area, metro or micro area, metro division, CSA, PUMA, census region and division, plus ground elevation in feet. Sources: US Census Geocoder (current benchmark), USGS 3DEP elevation service (EPQS).",
        "tags": [
          "geo",
          "geocoding",
          "address",
          "census",
          "fips"
        ],
        "security": [],
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "required": false,
            "description": "One-line US street address (5 to 100 characters). Mutually exclusive with lat/lon.",
            "schema": {
              "type": "string"
            },
            "example": "350 5th Ave, New York, NY 10118"
          },
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Latitude in decimal degrees for reverse lookup, paired with lon. US states, DC, Puerto Rico and island areas.",
            "schema": {
              "type": "string"
            },
            "example": "40.7484"
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "description": "Longitude in decimal degrees for reverse lookup, paired with lat.",
            "schema": {
              "type": "string"
            },
            "example": "-73.9857"
          },
          {
            "name": "elevation",
            "in": "query",
            "required": false,
            "description": "Include USGS ground elevation (default true). The USGS service is slow and can add up to about 7 s to the response; false skips it.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            },
            "example": "true"
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "asset": "USDC",
          "payTo": "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70"
        },
        "responses": {
          "200": {
            "description": "Report (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "query": {
                      "type": "object"
                    },
                    "result": {
                      "type": "object"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "notes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "attribution": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "generated_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "query",
                    "result",
                    "sources",
                    "generated_at"
                  ]
                },
                "example": {
                  "query": {
                    "address": "350 5th Ave, New York, NY 10118"
                  },
                  "result": {
                    "mode": "address",
                    "matched_address": "350 5TH AVE, NEW YORK, NY, 10118",
                    "components": {
                      "number": "350",
                      "street": "5TH AVE",
                      "city": "NEW YORK",
                      "state": "NY",
                      "zip": "10118"
                    },
                    "location": {
                      "lat": 40.747851,
                      "lon": -73.985076
                    },
                    "match_count": 1,
                    "geographies": {
                      "state": {
                        "name": "New York",
                        "fips": "36",
                        "usps": "NY"
                      },
                      "county": {
                        "name": "New York County",
                        "fips5": "36061"
                      },
                      "county_subdivision": {
                        "name": "Manhattan borough",
                        "geoid": "3606144919"
                      },
                      "incorporated_place": {
                        "name": "New York city",
                        "geoid": "3651000"
                      },
                      "census_designated_place": null,
                      "census_tract": {
                        "geoid": "36061007600",
                        "name": "Census Tract 76"
                      },
                      "block_group": {
                        "geoid": "360610076001"
                      },
                      "block": {
                        "geoid": "360610076001001",
                        "vintage": 2020
                      },
                      "tribal_census_tract": null,
                      "zcta": "10001",
                      "congressional_district": {
                        "district": "12",
                        "name": "Congressional District 12",
                        "geoid": "3612",
                        "congress": 120,
                        "at_large": false
                      },
                      "state_senate_district": {
                        "district": "28",
                        "name": "State Senate District 28",
                        "geoid": "36028",
                        "plan_year": 2026
                      },
                      "state_house_district": {
                        "district": "75",
                        "name": "Assembly District 75",
                        "geoid": "36075",
                        "plan_year": 2026
                      },
                      "school_districts": {
                        "unified": {
                          "name": "New York City Department Of Education",
                          "geoid": "3620580"
                        },
                        "elementary": null,
                        "secondary": null
                      },
                      "urban_area": {
                        "name": "New York--Jersey City--Newark, NY--NJ Urban Area",
                        "geoid": "63217"
                      },
                      "metro_area": {
                        "name": "New York-Newark-Jersey City, NY-NJ Metro Area",
                        "cbsa": "35620",
                        "type": "metropolitan"
                      },
                      "metro_division": {
                        "name": "New York-Jersey City-White Plains, NY-NJ Metro Division",
                        "code": "35614"
                      },
                      "csa": {
                        "name": "New York-Newark, NY-NJ-CT-PA CSA",
                        "code": "408"
                      },
                      "puma": {
                        "name": "NYC-Manhattan Community Districts 5 & 6--Midtown, East Midtown, & Flatiron PUMA",
                        "geoid": "3604165",
                        "vintage": 2020
                      },
                      "census_region": {
                        "name": "Northeast Region",
                        "code": "1"
                      },
                      "census_division": {
                        "name": "Middle Atlantic Division",
                        "code": "2"
                      }
                    },
                    "elevation_ft": 47.7
                  },
                  "sources": [
                    {
                      "name": "US Census Bureau Geocoder",
                      "url": "https://geocoding.geo.census.gov/geocoder/"
                    },
                    {
                      "name": "USGS Elevation Point Query Service (3DEP)",
                      "url": "https://apps.nationalmap.gov/epqs/"
                    }
                  ],
                  "generated_at": "2026-11-14T23:58:02.015Z"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment required: x402 challenge in the PAYMENT-REQUIRED header"
          },
          "404": {
            "description": "No match (not charged)"
          },
          "502": {
            "description": "Upstream source unavailable (not charged)"
          }
        }
      }
    },
    "/v1/geo/weather": {
      "get": {
        "operationId": "geo_weather",
        "summary": "US weather forecast and active alerts (NWS)",
        "description": "Weather forecast and active alerts for a US address or lat/lon point: NWS office, grid, forecast and county zones, time zone; 7-day periods (temperature, wind, precipitation chance, short and detailed forecast) or, with hourly=true, the next 24 hours adding humidity and dew point; active watches, warnings and advisories with event, severity, urgency, certainty, headline, timing and area. Sources: NOAA National Weather Service API, US Census Geocoder for addresses.",
        "tags": [
          "weather",
          "forecast",
          "alerts",
          "nws",
          "geo"
        ],
        "security": [],
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "required": false,
            "description": "One-line US street address (5 to 100 characters), geocoded with the Census Geocoder. Mutually exclusive with lat/lon.",
            "schema": {
              "type": "string"
            },
            "example": "350 5th Ave, New York, NY 10118"
          },
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Latitude in decimal degrees, paired with lon; rounded to 4 decimals. Points outside NWS forecast coverage (US states and territories, land) return 404.",
            "schema": {
              "type": "string"
            },
            "example": "40.7479"
          },
          {
            "name": "lon",
            "in": "query",
            "required": false,
            "description": "Longitude in decimal degrees, paired with lat; rounded to 4 decimals.",
            "schema": {
              "type": "string"
            },
            "example": "-73.9851"
          },
          {
            "name": "hourly",
            "in": "query",
            "required": false,
            "description": "true returns the next 24 hourly periods (with humidity and dew point) instead of the 7-day day/night periods. Default false.",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            },
            "example": "false"
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "asset": "USDC",
          "payTo": "0xAf8E0A8a8A0A8f65831b2dD0FFe0c1B804698D70"
        },
        "responses": {
          "200": {
            "description": "Report (charged)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "query": {
                      "type": "object"
                    },
                    "result": {
                      "type": "object"
                    },
                    "sources": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "notes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "attribution": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "generated_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "query",
                    "result",
                    "sources",
                    "generated_at"
                  ]
                },
                "example": {
                  "query": {
                    "address": "350 5th Ave, New York, NY 10118"
                  },
                  "result": {
                    "mode": "address",
                    "matched_address": "350 5TH AVE, NEW YORK, NY, 10118",
                    "location": {
                      "lat": 40.7479,
                      "lon": -73.9851
                    },
                    "point": {
                      "type": "land",
                      "office": "OKX",
                      "office_url": "https://api.weather.gov/offices/OKX",
                      "grid": {
                        "id": "OKX",
                        "x": 34,
                        "y": 44
                      },
                      "forecast_url": "https://api.weather.gov/gridpoints/OKX/34,44/forecast",
                      "forecast_hourly_url": "https://api.weather.gov/gridpoints/OKX/34,44/forecast/hourly",
                      "forecast_zone": "NYZ072",
                      "county_zone": "NYC061",
                      "fire_weather_zone": "NYZ212",
                      "time_zone": "America/New_York",
                      "radar_station": "KOKX",
                      "nearest_place": {
                        "city": "New York",
                        "state": "NY"
                      }
                    },
                    "forecast": {
                      "type": "7-day",
                      "generated_at": "2026-11-14T23:56:51+00:00",
                      "updated_at": "2026-11-14T18:20:27+00:00",
                      "elevation_m": 15,
                      "period_count": 14,
                      "periods": [
                        {
                          "name": "Tonight",
                          "start": "2026-11-14T18:00:00-05:00",
                          "end": "2026-11-15T06:00:00-05:00",
                          "is_daytime": false,
                          "temperature": 39,
                          "temperature_unit": "F",
                          "temperature_trend": null,
                          "precip_probability_pct": 5,
                          "wind_speed": "10 mph",
                          "wind_direction": "W",
                          "short_forecast": "Partly Cloudy",
                          "detailed_forecast": "Partly cloudy. Low around 39, with temperatures rising to around 41 overnight. West wind around 10 mph."
                        },
                        {
                          "name": "Sunday",
                          "start": "2026-11-15T06:00:00-05:00",
                          "end": "2026-11-15T18:00:00-05:00",
                          "is_daytime": true,
                          "temperature": 51,
                          "temperature_unit": "F",
                          "temperature_trend": null,
                          "precip_probability_pct": 1,
                          "wind_speed": "9 to 13 mph",
                          "wind_direction": "NW",
                          "short_forecast": "Sunny",
                          "detailed_forecast": "Sunny. High near 51, with temperatures falling to around 48 in the afternoon. Northwest wind 9 to 13 mph."
                        }
                      ]
                    },
                    "alerts": {
                      "count": 0,
                      "items": []
                    }
                  },
                  "sources": [
                    {
                      "name": "US Census Bureau Geocoder",
                      "url": "https://geocoding.geo.census.gov/geocoder/"
                    },
                    {
                      "name": "NOAA National Weather Service API",
                      "url": "https://api.weather.gov/"
                    }
                  ],
                  "notes": [
                    "Period start and end times are ISO 8601 with the point's local UTC offset; forecast generated_at and updated_at are NWS issuance times in UTC. Alerts are active NWS watches, warnings, advisories and statements whose areas contain the point."
                  ],
                  "attribution": [
                    "This product uses the Census Bureau Geocoder API but is not endorsed or certified by the Census Bureau. Values are derived from Census Bureau data.",
                    "Weather forecast and alert data from the NOAA National Weather Service (api.weather.gov), U.S. public domain; this NWS material is not subject to copyright protection (17 U.S.C. 403). Reformatted by Kit Rx: not official government material and not endorsed by or affiliated with NOAA/NWS. Forecasts and alerts are time-sensitive; NWS issuance and update times are included."
                  ],
                  "generated_at": "2026-11-14T23:56:51.102Z"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input (not charged)"
          },
          "402": {
            "description": "Payment required: x402 challenge in the PAYMENT-REQUIRED header"
          },
          "404": {
            "description": "No match (not charged)"
          },
          "502": {
            "description": "Upstream source unavailable (not charged)"
          }
        }
      }
    }
  }
}