{"uid":"cap_oUbiEeq1PMaHyIq9Vwas_","slug":"point-in-polygon-test-90d0cebf","name":"Point-in-Polygon Test","description":"Test whether a coordinate falls inside a polygon.","url":"https://geospatial.openverbs.com/v1/point-in-polygon","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["point","polygon"],"properties":{"point":{"type":"object","required":["lat","lon"],"properties":{"lat":{"type":"number","maximum":90,"minimum":-90},"lon":{"type":"number","maximum":180,"minimum":-180}},"description":"The coordinate to test.","additionalProperties":false},"polygon":{"type":"array","items":{"type":"object","required":["lat","lon"],"properties":{"lat":{"type":"number","maximum":90,"minimum":-90},"lon":{"type":"number","maximum":180,"minimum":-180}},"additionalProperties":false},"maxItems":10000,"minItems":3,"description":"Polygon exterior ring as ordered vertices (auto-closed)."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_YYl023HHzchzC4nVapUqr","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Tests whether a given lat/lon coordinate falls inside a specified polygon defined by an ordered list of vertices.","exampleAgentPrompt":"Is the coordinate 40.4462, -79.9822 inside the polygon defined by these vertices: (40.50, -80.10), (40.50, -79.80), (40.40, -79.80), (40.40, -80.10)?","exampleUseCases":[{"title":"Delivery zone eligibility check","prompt":"A customer just gave me their location at latitude 37.7749, longitude -122.4194 — can you check if they're inside our delivery boundary? The zone is defined by these corners: (37.80, -122.45), (37.80, -122.38), (37.74, -122.38), (37.74, -122.45)."},{"title":"Geofence alert for fleet tracking","prompt":"One of our vehicles just pinged at lat 51.5074, lon -0.1278 — check whether it's still inside the permitted operating zone, which is bounded by vertices: (51.52, -0.15), (51.52, -0.10), (51.49, -0.10), (51.49, -0.15)."},{"title":"Land parcel boundary verification","prompt":"Does the survey coordinate 34.0522, -118.2437 fall inside the property boundary defined by these four corners: (34.06, -118.26), (34.06, -118.23), (34.04, -118.23), (34.04, -118.26)?"}],"resultDescription":"A boolean indicating whether the given point (lat/lon) is contained within the specified polygon, along with any relevant spatial metadata.","failureModes":["Polygon has fewer than 3 vertices — returns validation error","Latitude out of range (-90 to 90) or longitude out of range (-180 to 180) — returns schema validation error","Polygon vertices exceed 10,000 item limit — returns error","Malformed coordinate objects missing lat or lon fields — returns 400 error","Self-intersecting or degenerate polygon may yield unexpected containment results"],"whenToPreferThis":"Use this endpoint when you need a fast, precise server-side point-in-polygon test for a single coordinate against a custom polygon boundary. Ideal for geofencing, delivery zone checks, land parcel validation, and regulatory boundary enforcement where you supply your own polygon vertices. Prefer this over client-side libraries when you want a stateless, pay-per-call API without managing geospatial dependencies.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T00:43:54.969Z","isFirstParty":false}