Endpoint · inferencePOSTapi.geoprimitives.dev /v1/h3/polyfill
Polyfill: turn a polygon into the set of H3 cells that cover it, so a spatial question becomes a set-membership question you can answer with a join.
Read more
Polyfill: turn a polygon into the set of H3 cells that cover it, so a spatial question becomes a set-membership question you can answer with a join. Send "geojson" as a Polygon, a MultiPolygon, or a Feature or FeatureCollection wrapping them, in EPSG:4326, plus exactly one of "resolution" or "resolutions". Choose the containment rule with "containment": "center" returns cells whose centre is inside the polygon, which is H3's default and under-covers at the edges; "overlapping" returns every cell the polygon touches, so the set fully covers it; "full" returns only cells entirely inside. Holes are respected, a MultiPolygon is treated as one polygon with its parts unioned and deduplicated, and feature ids are echoed so rows join back to your records. This route covers polygons and nothing else: a body carrying "points" is refused rather than served, and because "geojson" is required here that refusal happens before a price is quoted and costs you nothing. To index individual positions to their containing cell, POST /v1/h3/index instead, which is cheaper because it is a much smaller job. What you are paying for here, measured on this runtime: cell count grows about sevenfold per resolution step, so the cost has to be estimated before any cell is generated, which puts a floor of about 1.5 ms on even a city-block polyfill against about 0.003 ms for a one-point index call, and a polyfill at the 100000-cell cap is about 200 ms and 1.8 MB. Anything estimated above that cap is refused with the finest resolution that would have fitted, before a cell is generated; set "estimateOnly" to size a job for the price of the call and nothing else. Input is EPSG:4326, longitude then latitude, and non-areal geometry is refused by name. Limits: 500 polygons, 10000 polygon positions, 4 resolutions per call, 100000 cells per call, and a 1 MiB request body.Overview
Grade?
UNRATED
0 of 30 paid calls toward a letter
Price
$0.01 per call
Paid calls
none yet
delivery unknown until someone pays
More info
Seller?
URL
https://api.geoprimitives.dev/v1/h3/polyfill
Seen
first 34 days ago · last 14 days ago
51 free handshakes
Payment
Pays through
— never asked
Offered on?
— never asked
Listed on?
Base
Score, from free handshakes onlyweights 2026.09.6
UN
RATED
RATED
0.000 liveness verified, no letter
To a letter · 30 paid calls
0 of 30
Held down by liveness · gap to 1.000 is 1.000: 0.000 uncertain ? + 1.000 short ? · 0.450 to D
| Component | Weight | Measured | Lower bound ? | Adds | Short ? | Uncertain ? | |
|---|---|---|---|---|---|---|---|
| livenesscosts the most it answered at all |
0.75 | 0.00 | 0.000 | 0.000 | −0.750 | 0 | |
| latency p95 it answered as fast as its class |
0.25 | 0.00 | 0.000 | 0.000 | −0.250 | 0 | |
| Composite | 1.00 | 0.000 | gap to 1.000 = 1.000 · 1.000 short · 0.000 uncertain | 0.000 | −1.000 | −0.000 |
Not measured: correctness · nobody paid; honesty · nobody paid; schema conformance · no answer had a published shape to check; price stability · nothing to score
The multiplication, written out
0.750 × 0.000 liveness
+ 0.250 × 0.000 latency p95
= 0.000 → UNRATED: 51 of 30 paid calls weights 2026.09.6 · 51 samples · seed cap_01M1A59RW317BXZQV9GZ43YV1Z|2026-08-27T02:54:20.335Z|2026.09.6
Verify it yourself
npx teppi-check https://api.geoprimitives.dev/v1/h3/polyfillcurl -s https://api.teppi.xyz/v1/trust/cap_01M1A59RW317BXZQV9GZ43YV1Z