{"uid":"cap_mRCf5mqFsn7_mn9HXAwdG","slug":"boring-api-geo-point-in-polygon-36fb134d","name":"boring-api · geo — Point-in-Polygon","description":"Pure-library spatial math and timezone lookup. Distance, bearing, polygons, point-in-polygon, timezone-by-coords. No external API calls — all computed in-Worker.","url":"https://geo.boring-api.com/point-in-polygon","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"point":{"type":"object"},"polygon":{"type":"object","description":"GeoJSON Polygon or MultiPolygon Feature/Geometry"}}},"responseSchema":{"type":"object"},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.0005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","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.0005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_zEMChiQpnOGCR5jNQcENJ","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.0005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Determines whether a given geographic point falls inside a GeoJSON Polygon or MultiPolygon, computed entirely in-Worker with no external API calls.","exampleAgentPrompt":"Is the point at latitude 40.7128, longitude -74.0060 inside this GeoJSON polygon — it's a MultiPolygon feature representing the five boroughs of New York City?","exampleUseCases":[{"title":"Delivery zone boundary check","prompt":"Can you check if the customer's location at latitude 51.5074, longitude -0.1278 falls inside our delivery zone? I'll give you the GeoJSON polygon for our service area — just tell me if we can deliver there."},{"title":"Geofence alert for fleet","prompt":"One of our drivers is currently at latitude 37.7749, longitude -122.4194 — can you tell me if that position is inside the restricted zone polygon I have in GeoJSON format? We need to trigger an alert if they've crossed into it."},{"title":"Validate property in district","prompt":"I have a property at latitude 48.8566, longitude 2.3522 and I need to know if it falls within this GeoJSON MultiPolygon representing a specific tax district boundary — can you run that check for me?"}],"resultDescription":"A JSON object indicating whether the given point is contained within the provided GeoJSON Polygon or MultiPolygon geometry, computed purely in-Worker without any external API dependency.","failureModes":["Invalid or malformed GeoJSON Polygon/MultiPolygon returns an error","Missing 'point' or 'polygon' field in request body returns a validation error","Unsupported geometry type (e.g. LineString instead of Polygon) may return an error","Coordinates outside valid WGS84 range may produce unexpected results"],"whenToPreferThis":"Choose this endpoint when you need a fast, cheap, serverless point-in-polygon computation with no external API dependency — ideal for geofencing checks, boundary validation, or spatial queries where you already have a GeoJSON polygon and just need to test containment. At $0.0005 per call it's cost-effective for high-frequency checks.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:30:52.475Z","isFirstParty":false}