{"openapi":"3.1.0","info":{"title":"Airport reference","version":"0.1.0","description":"Worldwide airport reference — resolve an airport by IATA or ICAO code, fuzzy-search by name or city, or find the nearest airports to any coordinates. Covers every large and medium airport plus every IATA-coded airport globally.","x-guidance":"Worldwide airport reference — resolve an airport by IATA or ICAO code, fuzzy-search by name or city, or find the nearest airports to any coordinates. Covers every large and medium airport plus every IATA-coded airport globally. Each operation is an HTTP POST to its /v1/<operation> path with a JSON request body (see each operation's requestBody schema) and returns a JSON response. Endpoints are paid per successful call via x402 or MPP (USDC on Base); an unpaid request returns 402 with payment metadata in the WWW-Authenticate header.","contact":{"email":"hello@openverbs.com"}},"x-discovery":{"ownershipProofs":["0xb1401a71756f51464a9962db12f1eb3e9522490cd20010b06d00cf7b7770acfd5f79721f9dfdf2643f8cecd29af3bde9ec133941a386042b32d9886053a70de61b","0xc1c1f11793e18a00fcb7072421f26e89fb75b6aa517fa84370564991f4b10efa024f6f57e4e67eefd20cf46cc01fc5a62d793fa8fbcda04f26c946a3433d73f91b","0x676b474af0ef9ed4809b5d12d2e789b36e52d56215b21f601d71f76620e36ec630347116a7b2b349a3c3681e5db0fbfa76c4169a676b6d6f27864d0e5017284a1c","0xc2ab96522515ed9e9bc4f1a241b774bd48df42e951ddbf7f6aa8fc76f5a96a20421703e1ec402ce7eb1e4eabea3b6e4e4129cf39d56ea91cf4fcf38561fc94fc1c"]},"servers":[{"url":"https://airport.openverbs.com"}],"paths":{"/health":{"get":{"summary":"Health check","security":[],"responses":{"200":{"description":"Healthy","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"service":{"type":"string"},"version":{"type":"string"}}}}}}}}},"/v1/airport":{"post":{"summary":"Airport lookup by IATA/ICAO code","description":"Look up an airport by its 3-letter IATA code or 4-character ICAO code. Provide exactly one. Returns the airport name, both codes, city, country, coordinates, elevation and type. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["airport lookup","iata code lookup","icao code lookup","airport by code","airport code api","airport info"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"iata":{"type":"string","description":"3-letter IATA code, e.g. \"JFK\"."},"icao":{"type":"string","description":"4-character ICAO code, e.g. \"KJFK\"."}},"additionalProperties":false},"example":{"iata":"SFO"}}}},"responses":{"200":{"description":"`{ ident, type, name, iata, icao, lat, lon, elevationFt, continent, country, region, municipality }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ ident, type, name, iata, icao, lat, lon, elevationFt, continent, country, region, municipality }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Look up an airport by its 3-letter IATA code or 4-character ICAO code. Provide exactly one. Returns the airport name, both codes, city, country, coordinates, elevation and type.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Look up an airport by its 3-letter IATA code or 4-character ICAO code. Provide exactly one. Returns the airport name, both codes, city, country, coordinates, elevation and type.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Look up an airport by its 3-letter IATA code or 4-character ICAO code. Provide exactly one. Returns the airport name, both codes, city, country, coordinates, elevation and type.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/search":{"post":{"summary":"Search airports by name or city","description":"Fuzzy-search airports by name, city or code, optionally filtered by ISO country code or airport type. Matches are ranked exact-code/name then prefix then substring, larger airports first. Empty result is a successful 200. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["airport search","find airport by name","airport by city","search airports","airport name lookup","airports in country"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"description":"Airport name, city or code fragment to search for."},"country":{"type":"string","description":"Optional ISO 3166-1 alpha-2 country filter, e.g. \"US\"."},"type":{"type":"string","enum":["large","medium","small","seaplane_base","heliport","balloonport","closed"],"description":"Optional airport-type filter."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum matches to return. Default 20."}},"required":["query"],"additionalProperties":false},"example":{"query":"San Francisco","country":"US","type":"large"}}}},"responses":{"200":{"description":"`{ matches: [{ code, name, airport }], count, found }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ matches: [{ code, name, airport }], count, found }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Fuzzy-search airports by name, city or code, optionally filtered by ISO country code or airport type. Matches are ranked exact-code/name then prefix then substring, larger airports first. Empty result is a successful 200.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Fuzzy-search airports by name, city or code, optionally filtered by ISO country code or airport type. Matches are ranked exact-code/name then prefix then substring, larger airports first. Empty result is a successful 200.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Fuzzy-search airports by name, city or code, optionally filtered by ISO country code or airport type. Matches are ranked exact-code/name then prefix then substring, larger airports first. Empty result is a successful 200.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/nearest":{"post":{"summary":"Nearest airports to coordinates","description":"Find the airports nearest to a latitude/longitude, ordered by great-circle distance. Optionally cap the search radius (km), result count and airport type. Returns each airport with its distance in km. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["nearest airport","closest airport","airport by coordinates","airport near lat lng","find nearby airports","airport distance"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"lat":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude in decimal degrees."},"lon":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude in decimal degrees."},"radiusKm":{"type":"number","description":"Search radius in km (default 500, max 20000)."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum airports to return. Default 5."},"type":{"type":"string","enum":["large","medium","small","seaplane_base","heliport","balloonport","closed"],"description":"Optional airport-type filter."}},"required":["lat","lon"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ matches: [{ distanceKm, airport }], count, found }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ matches: [{ distanceKm, airport }], count, found }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Find the airports nearest to a latitude/longitude, ordered by great-circle distance. Optionally cap the search radius (km), result count and airport type. Returns each airport with its distance in km.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Find the airports nearest to a latitude/longitude, ordered by great-circle distance. Optionally cap the search radius (km), result count and airport type. Returns each airport with its distance in km.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Find the airports nearest to a latitude/longitude, ordered by great-circle distance. Optionally cap the search radius (km), result count and airport type. Returns each airport with its distance in km.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}}},"x-service-info":{"categories":["location"],"docs":{"homepage":"https://airport.openverbs.com","apiReference":"https://airport.openverbs.com/openapi.json"}}}