{"uid":"cap_aJfXbBffMDGQ65HQE7ZtN","slug":"2s-geo-nearby-points-of-interest-hazards-by-coordinates-fd3ba673","name":"2s Geo Nearby — Points of Interest & Hazards by Coordinates","description":"Everything around a coordinate in one call: nearby airports (IATA/ICAO, type, distance), public K-12 schools (name, district, enrollment, distance), NOAA climate stations (for chaining into /api/climate/station-history), and earthquakes from the past week (magnitude, depth, time). Pass lat/lon plus optional radiusKm (default 25, max 200) and per-category limit (default 5). Each category returns an independent found/error block, so one slow source never empties the rest. Site assessment, relocation research, travel planning, and risk screening. Each category is also a standalone endpoint (/api/airport/near, /api/edu/school-lookup, /api/climate/station-near, /api/quakes/recent).","url":"https://2s.io/api/geo/nearby","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","queryParams"],"properties":{"type":{"const":"http"},"method":{"const":"GET"},"queryParams":{"required":["lat","lon"],"properties":{"lat":{"type":"number","maximum":90,"minimum":-90},"lon":{"type":"number","maximum":180,"minimum":-180},"limit":{"type":"integer","default":5,"maximum":20,"minimum":1,"description":"Max results per category."},"radiusKm":{"type":"number","default":25,"maximum":200,"minimum":1}}}}}}},"responseSchema":null,"example":{"request":{"input":{"type":"http","method":"GET","queryParams":{"lat":40.7128,"lon":-74.006,"limit":5,"radiusKm":25}}},"response":{"data":{"lat":40.7128,"lon":-74.006,"quakes":{"count":0,"error":null,"found":false,"items":[]},"schools":{"count":5,"error":null,"found":true,"items":[{"zip":"10018","city":"NEW YORK","name":"SPRUCE STREET SCHOOL","year":2022,"leaid":"3600077","phone":"(212)266-4800","state":"NY","magnet":null,"street":"12 SPRUCE ST","charter":false,"ncessch":"360007706130","virtual":false,"district":"NEW YORK CITY GEOGRAPHIC DISTRICT # 2","latitude":40.710942,"longitude":-74.00566,"distanceKm":0.21,"enrollment":431,"schoolType":1,"lowestGrade":-1,"schoolLevel":1,"teachersFte":38,"highestGrade":8},{"zip":"10038","city":"NEW YORK","name":"MANHATTAN EARLY COLLEGE SCHOOL FOR ADVERTISING","year":2022,"leaid":"3600077","phone":"(212)225-0880","state":"NY","magnet":null,"street":"411 PEARL ST","charter":false,"ncessch":"360007706466","virtual":false,"district":"NEW YORK CITY GEOGRAPHIC DISTRICT # 2","latitude":40.7113,"longitude":-74.0017,"distanceKm":0.4,"enrollment":391,"schoolType":3,"lowestGrade":9,"schoolLevel":3,"teachersFte":38,"highestGrade":12},{"zip":"10038","city":"NEW YORK","name":"URBAN ASSEMBLY MAKER ACADEMY","year":2022,"leaid":"3600077","phone":"(212)225-0890","state":"NY","magnet":null,"street":"411 PEARL ST","charter":false,"ncessch":"360007706463","virtual":false,"district":"NEW YORK CITY GEOGRAPHIC DISTRICT # 2","latitude":40.7113,"longitude":-74.0017,"distanceKm":0.4,"enrollment":520,"schoolType":3,"lowestGrade":9,"schoolLevel":3,"teachersFte":44,"highestGrade":12},{"zip":"10038","city":"NEW YORK","name":"URBAN ASSEMBLY SCHOOL FOR EMERGENCY MANAGEMENT (THE)","year":2022,"leaid":"3600077","phone":"(212)225-0998","state":"NY","magnet":null,"street":"411 PEARL ST","charter":false,"ncessch":"360007706372","virtual":false,"district":"NEW YORK CITY GEOGRAPHIC DISTRICT # 2","latitude":40.7113,"longitude":-74.0017,"distanceKm":0.4,"enrollment":309,"schoolType":3,"lowestGrade":9,"schoolLevel":3,"teachersFte":27,"highestGrade":12},{"zip":"10038","city":"NEW YORK","name":"MURRY BERGTRAUM HIGH SCHOOL FOR BUSINESS CAREERS","year":2022,"leaid":"3600077","phone":"(212)964-9610","state":"NY","magnet":null,"street":"411 PEARL ST","charter":false,"ncessch":"360007702034","virtual":false,"district":"NEW YORK CITY GEOGRAPHIC DISTRICT # 2","latitude":40.7112,"longitude":-74.0015,"distanceKm":0.42,"enrollment":104,"schoolType":1,"lowestGrade":9,"schoolLevel":3,"teachersFte":14,"highestGrade":12}]},"sources":[{"url":"https://ourairports.com/","provider":"OurAirports (CC0)"},{"url":"https://educationdata.urban.org/","provider":"NCES Common Core of Data (via Urban Institute Education Data Portal)"},{"url":"https://www.ncei.noaa.gov/","provider":"NOAA GHCN-Daily station inventory"},{"url":"https://earthquake.usgs.gov/","provider":"USGS Earthquake Hazards Program"}],"airports":{"count":5,"error":null,"found":true,"items":[{"id":23173,"name":"One Police Plaza Heliport","type":"heliport","ident":"NK39","gpsCode":"NK39","iataCode":null,"icaoCode":null,"latitude":40.7122,"continent":"NA","isoRegion":"US-NY","localCode":"NK39","longitude":-74.0017,"distanceKm":0.37,"isoCountry":"US","elevationFt":244,"municipality":"New York","wikipediaLink":null,"scheduledService":false},{"id":18257,"name":"Downtown Manhattan Heliport","type":"heliport","ident":"JRB","gpsCode":"KJRB","iataCode":"JRB","icaoCode":null,"latitude":40.7007,"continent":"NA","isoRegion":"US-NY","localCode":"JRB","longitude":-74.0086,"distanceKm":1.36,"isoCountry":"US","elevationFt":7,"municipality":"New York","wikipediaLink":"https://en.wikipedia.org/wiki/Downtown_Manhattan_Heliport","scheduledService":false},{"id":6839,"name":"Paulus Hook Pier Heliport","type":"heliport","ident":"05NJ","gpsCode":"05NJ","iataCode":null,"icaoCode":null,"latitude":40.7134,"continent":"NA","isoRegion":"US-NJ","localCode":"05NJ","longitude":-74.032,"distanceKm":2.19,"isoCountry":"US","elevationFt":7,"municipality":"Jersey City","wikipediaLink":null,"scheduledService":false},{"id":15321,"name":"Newport Helistop","type":"heliport","ident":"91NJ","gpsCode":"91NJ","iataCode":null,"icaoCode":null,"latitude":40.7244,"continent":"NA","isoRegion":"US-NJ","localCode":"91NJ","longitude":-74.0297,"distanceKm":2.38,"isoCountry":"US","elevationFt":6,"municipality":"Jersey City","wikipediaLink":null,"scheduledService":false},{"id":38682,"name":"Governor's Island Army Airfield","type":"closed","ident":"US-0002","gpsCode":null,"iataCode":null,"icaoCode":null,"latitude":40.6871,"continent":"NA","isoRegion":"US-NY","localCode":null,"longitude":-74.0221,"distanceKm":3.16,"isoCountry":"US","elevationFt":0,"municipality":"Governor's Island","wikipediaLink":null,"scheduledService":false}]},"radiusKm":25,"climateStations":{"count":5,"error":null,"found":true,"items":[{"id":"USC00305816","name":"WORLD TRADE CTR","state":"NY","wmoId":null,"gsnFlag":null,"hcnFlag":null,"latitude":40.7106,"longitude":-74.0142,"distanceKm":0.733160032528193,"elevationM":25.3},{"id":"USC00309580","name":"WORLD TRADE CTR","state":"NY","wmoId":null,"gsnFlag":null,"hcnFlag":null,"latitude":40.7103,"longitude":-74.0142,"distanceKm":0.7449560154483681,"elevationM":12.2},{"id":"US1NYNY0078","name":"STUYVESANT SQUARE PARK - NEW Y","state":"NY","wmoId":null,"gsnFlag":null,"hcnFlag":null,"latitude":40.7339,"longitude":-73.9844,"distanceKm":2.9695199662233125,"elevationM":6.1},{"id":"US1NYKN0025","name":"BROOKLYN 3.1 NW","state":"NY","wmoId":null,"gsnFlag":null,"hcnFlag":null,"latitude":40.6846,"longitude":-73.9867,"distanceKm":3.532681459981591,"elevationM":5.5},{"id":"US1NJHD0023","name":"JERSEY CITY 1.6 NNE","state":"NJ","wmoId":null,"gsnFlag":null,"hcnFlag":null,"latitude":40.7326,"longitude":-74.051,"distanceKm":4.385016957537218,"elevationM":30.2}]}},"meta":{"cost":{"usd":0.0036,"tier":0},"caller":"x402","version":null,"endpoint":"geo.nearby","settlement":{"txHash":"0xd60e5b769ffae80806032a30471998f0cc4858afdcae2f8a24edd5cc206f31d5","network":"eip155:8453","success":true}}}},"exampleRequest":{"lat":40.7128,"lon":-74.006,"limit":5,"radiusKm":25},"tags":["x402"],"displayCostAmount":"0.0036","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.0036/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.009","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.009","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_lMoGJjrnI6cVwLTkx336p","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.009","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns nearby airports, schools, climate stations, and earthquake records for a given latitude/longitude within a configurable radius","exampleAgentPrompt":"What airports, schools, climate stations, and earthquake records are within 10 km of latitude 40.7484, longitude -73.9857? Show me up to 5 results per category.","exampleUseCases":null,"resultDescription":"A JSON object keyed by category (airports, schools, climateStations, quakes) each containing a count, found flag, error field, and an array of items with name, distance in km, and category-specific fields (IATA code, enrollment, station ID, etc.), plus a sources array listing the underlying open-data providers.","failureModes":["Missing lat or lon parameter returns a 400/validation error","Coordinates outside valid range (-90 to 90 lat, -180 to 180 lon) rejected by schema","Very remote coordinates may return found:false with empty items arrays for all categories","radiusKm above 200 or limit above 20 rejected as out of range","Payment not provided or insufficient USDC triggers x402 payment-required response"],"whenToPreferThis":"Use this endpoint when you need a single call that aggregates multiple geospatial lookup categories (airports, schools, climate stations, seismic events) around a coordinate pair without building separate integrations. Ideal for real estate analysis, location intelligence, site selection, or any agent workflow that needs ambient infrastructure context around a point. Prefer over raw USGS/NOAA/OurAirports APIs when you want a unified, pay-per-call response with no API key setup.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T00:57:35.010Z","isFirstParty":false}