OGC API Features Extractor
Pricing
from $0.35 / 1,000 features
OGC API Features Extractor
Point at ANY OGC API Features service (the modern WFS successor) — pygeoapi, ldproxy, GeoServer, national mapping & city GIS. List collections or page /items by bbox/datetime/CQL to flat rows (geometry, lon/lat, computed bbox, properties) + raw GeoJSON. Pay per feature.
Pricing
from $0.35 / 1,000 features
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
9 days ago
Last modified
Categories
Share
A generic "point at any OGC API Features service" scraper. OGC API
Features is the modern, JSON/GeoJSON,
OGC-blessed successor to WFS (Web Feature Service) — one open specification
spoken by national mapping agencies, city / regional GIS portals, and the
pygeoapi, ldproxy and GeoServer server families. Give this actor a
service root URL, optionally pick collections + an area + a time window + a
free-form query passthrough, and it pages the whole /items FeatureCollection
into clean, flat dataset rows plus a lossless raw GeoJSON Feature.
One actor, every OGC API Features service — no per-instance scraper needed. (STAC — the satellite/EO catalog standard — is itself a profile of OGC API Features; for STAC catalogs use the companion STAC Catalog Extractor.)
What it does
- Fetch features — set the service root + one or more collection ids and any
of a bounding box, date/time window, or an arbitrary query
parameters passthrough (CQL
filter/properties/ provider-specific keys), and it pulls every matching feature, auto-following therel="next"pagination link (relative or absolute) up to your Max features. - Discover collections — leave the collection id(s) empty (or turn on List
collections only) and it reads
{serviceRoot}/collectionsand returns one row per collection: id, title, description, item type, spatial + temporal extent, CRS, and a ready-to-use items URL. - Normalized + raw — each feature's geometry is distilled to stable columns
(
geometryType, a computedbbox, andlongitude/latitudefor point features) while the fullproperties,geometryand the untouched Feature (raw) are all preserved, so nothing is lost even though every service exposes different attributes.
Example inputs
Large lakes from the pygeoapi reference server (no auth):
{ "serviceRoot": "https://demo.pygeoapi.io/master", "collectionId": ["lakes"], "maxItems": 100 }
Airports over Great Britain from ldproxy (no auth), point features → lon/lat:
{ "serviceRoot": "https://demo.ldproxy.net/zoomstack", "collectionId": ["airports"], "maxItems": 200 }
Features inside a bounding box:
{ "serviceRoot": "https://demo.pygeoapi.io/master", "collectionId": ["obs"], "bbox": [-180, -90, 180, 90], "maxItems": 50 }
Discover what a service exposes:
{ "serviceRoot": "https://demo.pygeoapi.io/master", "listCollectionsOnly": true }
A key-gated national service (e.g. UK Ordnance Survey) — supply your own key, never hardcoded:
{ "serviceRoot": "https://api.os.uk/features/ngd/ofa/v1", "collectionId": ["bld-fts-buildingpart-1"], "extraHeaders": { "key": "YOUR_OS_API_KEY" }, "maxItems": 100 }
Input reference
serviceRoot(required) — the OGC API root (not/collectionsor/items).collectionId— collection id(s) to fetch; empty ⇒ discovery mode.listCollectionsOnly— force discovery mode (list collections, fetch nothing).bbox—[west, south, east, north]in WGS84 degrees (a 6-number 3D box is also accepted).datetime— RFC 3339 instant or range; open ranges with...queryParams— arbitrary extra/itemsquery params (CQL,properties, …).limit— server-side page size (the actor paginates regardless).maxItems— total feature cap across all pages/collections (default 1000).bearerToken/extraHeaders— optional auth for key-gated services.
Authentication
None required for the public services (pygeoapi, ldproxy demos). For key-gated services (e.g. national mapping agencies) supply a Bearer token and/or Extra request headers — both optional, never required, and the token is never logged.
Output
One dataset item per feature, with normalized columns plus:
_serviceRoot/_mode— the source service and whether the row is afeatureor acollection.geometry— the feature geometry (GeoJSON),properties— the full attribute bag,bbox— computed from the geometry when the feature omits one,longitude/latitude— set for point features.raw— the complete, untouched GeoJSON Feature.
A query that matches nothing returns 0 features, not an error.
Pricing
Pay per feature — you're charged one feature event per record returned
(one per collection in discovery mode). A query that matches nothing costs
nothing.
Notes
- Speaks OGC API — Features Part 1 (Core) item access; handles GeoJSON
/itemsand the standardrel="next"offset pagination (relative and absolute hrefs). - Not affiliated with or endorsed by the OGC or any target service. Respect each provider's terms and any per-dataset licensing.