---
name: copernicus-data-space-apis-ingestion
description: "How to get Copernicus Data Space Sentinel APIs data into a pandas DataFrame and Parquet: access, the request, the format, limits, quirks and terms."
---

# Load recent Copernicus Sentinel-2 metadata into pandas and Parquet

Source entry: https://signal-lab-jet.vercel.app/datasets/copernicus-data-space-apis
Provider: https://documentation.dataspace.copernicus.eu/APIs.html
Checked against the provider's documentation: 2026-11-02

## Access
- No account or key is needed for the checked STAC catalogue query.
- Downloading the referenced product files requires a free Copernicus Data Space account and access token.

## Request
```bash
curl 'https://stac.dataspace.copernicus.eu/v1/collections/sentinel-2-l2a/items?limit=20&datetime=2026-11-01T00%3A00%3A00Z%2F2026-11-02T23%3A59%3A59Z'
```

## Format
STAC GeoJSON FeatureCollection containing item IDs, collection, acquisition and processing metadata, cloud cover, geometry, bounding boxes, links and assets.

## Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
```python
"""Recent Copernicus Sentinel-2 L2A STAC metadata -> pandas -> Parquet. No key."""
import requests
import pandas as pd

URL = (
    "https://stac.dataspace.copernicus.eu/v1/collections/"
    "sentinel-2-l2a/items"
)
PARAMS = {
    "limit": 20,
    "datetime": "2026-11-01T00:00:00Z/2026-11-02T23:59:59Z",
}
r = requests.get(URL, params=PARAMS, timeout=60)
r.raise_for_status()
features = r.json()["features"]
rows = []
for feature in features:
    props = feature["properties"]
    rows.append({
        "id": feature["id"],
        "collection": feature["collection"],
        "datetime": props.get("datetime"),
        "platform": props.get("platform"),
        "cloud_cover": props.get("eo:cloud_cover"),
        "processing_level": props.get("processing:level"),
        "bbox": feature.get("bbox"),
    })
df = pd.DataFrame(rows)
df["datetime"] = pd.to_datetime(df["datetime"], utc=True)
df.to_parquet("copernicus_sentinel2_l2a_stac.parquet", index=False)
print(len(df), "items", df["datetime"].min().isoformat(), "to",
      df["datetime"].max().isoformat(), "platforms", ",".join(sorted(df["platform"].dropna().unique())))
```
Run by us on 2026-11-02 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 20 items 2026-11-02T19:55:59.024000+00:00 to 2026-11-02T19:55:59.024000+00:00 platforms sentinel-2b

## Limits
- Rate limit: Not stated for STAC.
- The STAC catalogue covers a limited set of Data Space collections.
- General-user immediately available downloads are subject to a 12 TB rolling 30-day quota, four concurrent connections and 20 MB/s per connection.

## Quirks
- STAC search metadata is keyless, but following a product download link requires an authenticated access token.
- Collection IDs, properties and asset layouts differ; inspect each collection description before flattening records.
- A response can contain a next link and token; follow that link for additional pages instead of constructing a token from item IDs.

## Terms and attribution
- Copernicus Sentinel Data and Service Information has free, full and open access for lawful reuse under the EU legal notice.
- Use the prescribed Copernicus source notice when distributing or communicating Sentinel data, and the modified-data notice after adaptation.
- Check collection-level licences for non-Sentinel products; the Sentinel notice does not cover every Data Space collection.
- Terms page: https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice

## Sources
- https://documentation.dataspace.copernicus.eu/APIs/STAC.html: "Copernicus Data Space Ecosystem STAC Catalog can be accessed using the following URL:"
- https://documentation.dataspace.copernicus.eu/APIs/STAC.html: "It includes a limited set of data collections but more will be included in the upcoming months"
- https://documentation.dataspace.copernicus.eu/Quotas.html: "The following limitations and quotas are monthly and reset on the first day of every month:"
- https://sentinels.copernicus.eu/documents/247904/690755/Sentinel_Data_Legal_Notice: "EU law grants free access to Copernicus Sentinel Data and Service Information for the purpose of the following use"

## Help improve this skill
Missing a source, or see something to improve? Call the MCP tool suggest_source or feedback (or POST /api/suggest or /api/feedback). Reviewed ideas: https://signal-lab-jet.vercel.app/agent-suggestions

Information for educational purposes only. Free tiers, limits and licenses belong to the providers and may change; check the provider's own terms before using the data.
