STAC Catalog Extractor avatar

STAC Catalog Extractor

Pricing

from $0.35 / 1,000 items

Go to Apify Store
STAC Catalog Extractor

STAC Catalog Extractor

Point at ANY STAC API — Earth Search, Planetary Computer, USGS & 100s of public satellite/EO catalogs. Search items by bbox/datetime/collection/cloud-cover or list collections; auto-paginate to flat rows + raw GeoJSON. Pay per item.

Pricing

from $0.35 / 1,000 items

Rating

0.0

(0)

Developer

Datamule

Datamule

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

9 days ago

Last modified

Categories

Share

A generic "point at any STAC API" scraper. STAC (SpatioTemporal Asset Catalog) is the OGC-blessed JSON standard behind satellite / Earth-observation imagery and geospatial catalogs — one open specification spoken by Element84 Earth Search (AWS open data), Microsoft Planetary Computer, USGS LandsatLook, Digital Earth Africa / Australia, and hundreds of other public, no-auth catalogs. Give this actor a STAC API root URL, optionally pick collections + an area + a time window + property filters, and it pages the whole /search result set into clean, flat dataset rows plus a lossless raw GeoJSON Feature.

One actor, every STAC catalog — no per-instance scraper needed.

What it does

  • Search items — set the STAC root + one or more collections and any of a bounding box, date/time window, property query (e.g. cloud cover), item ids, or a GeoJSON intersects geometry, and it pulls every matching STAC Item, auto-following the rel="next" pagination link up to your Max results. Handles both STAC pagination styles: a POST /search body token and a GET /search next href.
  • Discover collections — leave the search filters empty (or turn on List collections only) and it reads {stacRoot}/collections and returns one row per collection: id, title, license, spatial + temporal extent, and a ready-to-use search URL.
  • Normalized + raw — each Item's well-known properties are promoted to stable columns (id, collection, datetime, cloudCover, platform, gsd, geometryType, …) while the full properties, geometry, assets and the untouched Feature (raw) are all preserved, so nothing is lost even though every catalog exposes different metadata.

Example inputs

Recent low-cloud Sentinel-2 scenes over the San Francisco Bay Area (Element84 Earth Search, no auth):

{ "stacRoot": "https://earth-search.aws.element84.com/v1", "collections": ["sentinel-2-l2a"], "bbox": [-122.6, 37.6, -122.2, 37.9], "datetime": "2024-06-01T00:00:00Z/2024-06-30T23:59:59Z", "query": { "eo:cloud_cover": { "lt": 20 } }, "maxResults": 200 }

The same search against Microsoft Planetary Computer — just change the root:

{ "stacRoot": "https://planetarycomputer.microsoft.com/api/stac/v1", "collections": ["sentinel-2-l2a"], "bbox": [-122.6, 37.6, -122.2, 37.9], "datetime": "2024-06-01T00:00:00Z/2024-06-30T23:59:59Z", "maxResults": 100 }

Landsat over a point of interest, newest first (USGS):

{ "stacRoot": "https://landsatlook.usgs.gov/stac-server", "collections": ["landsat-c2l2-sr"], "intersects": { "type": "Point", "coordinates": [-122.4, 37.8] }, "sortby": "-properties.datetime", "maxResults": 50 }

Discover what a catalog exposes:

{ "stacRoot": "https://earth-search.aws.element84.com/v1", "listCollectionsOnly": true }

Input reference

  • stacRoot (required) — the STAC API root (not /search or /collections).
  • collections — collection id(s) to search.
  • 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 .. (2024-01-01T00:00:00Z/..).
  • query — STAC query extension filters, e.g. { "eo:cloud_cover": { "lt": 20 } }.
  • filter / filterLang — CQL2 filter extension (for servers that advertise it).
  • intersects — a GeoJSON geometry, as an alternative to bbox.
  • ids — fetch specific Item id(s) directly.
  • sortby — e.g. -properties.datetime (server must support the sort class).
  • limit — server-side page size (the actor paginates regardless).
  • maxResults — total item cap across all pages (default 1000).

Authentication

None required for the public catalogs (Earth Search, Planetary Computer, USGS, Digital Earth). For gated deployments supply a Bearer token and/or Extra request headers — both optional, never required, and the token is never logged.

Output

One dataset item per STAC Item, with normalized columns plus:

  • _stacRoot / _mode — the source catalog and whether the row is an item or a collection.
  • geometry — the item footprint (GeoJSON), assets — the downloadable asset map (COGs, thumbnails, metadata), and properties — the full STAC property bag.
  • raw — the complete, untouched STAC Feature.

A search that matches nothing returns 0 items, not an error.

Pricing

Pay per item — you're charged one item event per record returned (one per collection in discovery mode). A search that matches nothing costs nothing.

Notes

  • Speaks STAC API 1.0.0 item-search; handles POST and GET /search, and both next-link pagination styles (POST body token, GET href token).
  • Not affiliated with or endorsed by the OGC, Element84, AWS, Microsoft, the USGS, or any target catalog. Respect each provider's terms and any per-asset licensing.