{"eid":"copernicus","name":"Copernicus","domain":"copernicus.eu","resolved_by":"domain","topics":["debrid","storage"],"n_records":4,"best_vorder":1,"review":null,"aliases":["Copernicus","Copernicus Climate Data Store (CDS) API","Copernicus Data Space Ecosystem (CDSE / ESA DIAS) - 12 TB/month of free READ, zero writable storage","copernicus cds / ads","copernicus.eu","wekeo drive (copernicus dias file hosting)"],"records":[{"rid":"debrid/copernicus-cds","card":{"rid":"debrid/copernicus-cds","eid":"copernicus","topic":"debrid","slug":"copernicus-cds","provider":"Copernicus Climate Data Store (CDS) API","url":"https://cds.climate.copernicus.eu/how-to-api","domain":"copernicus.eu","category":"climate reanalysis and forecast archive (token-gated API)","tier":"free","verdict":"qualifies-with-caveat","vorder":1,"grp":"usable","confidence":"documented","binding":"none","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest,cli","egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-23T03:24:34.450Z","verified_basis":"live","checked_on":"2026-10-24","stale_on":"2026-11-23","n_evidence":2,"usd_month":null,"usd_per_tb_month":0.0,"summary":"Free data, account required: 'If you do not have an account yet, please register ... Once logged in, copy the code displayed below to the file $HOME/.cdsapir...","duplicate_of":null,"n_unknown":0},"record":{"topic":"debrid","slug":"copernicus-cds","provider":"Copernicus Climate Data Store (CDS) API","url":"https://cds.climate.copernicus.eu/how-to-api","category":"climate reanalysis and forecast archive (token-gated API)","tier":"free","free_tier":{"stated":"Free data, account required: 'If you do not have an account yet, please register ... Once logged in, copy the code displayed below to the file $HOME/.cdsapirc' with url https://cds.climate.copernicus.eu/api and a personal access token.","unit":"unlimited","metered_on":"none","source_url":"https://cds.climate.copernicus.eu/how-to-api","read_on":"2026-10-23","notes":"No price, no byte allowance and no quota is published on the API setup page."},"per_object_cap":{"stated":"not applicable: a retrieval request returns a packaged file (NetCDF, GRIB or ZIP) built from the requested variable, area and period","bytes":null,"source_url":"https://cds.climate.copernicus.eu/how-to-api","notes":""},"retention":{"stated":"the archive is the product: ERA5 and the other datasets are reissued, not deleted, and a retrieval result is held for a limited period before it must be re-requested","days":null,"source_url":"https://cds.climate.copernicus.eu/how-to-api","notes":"The result-retention window is not stated on the page read; do not treat this row as a measured value."},"egress":{"terms":"Free. The token is identity, not payment.","metered":false,"free_allowance":"no byte allowance published","price_per_tb":null,"source_url":"https://cds.climate.copernicus.eu/how-to-api"},"interface":["rest","cli"],"interface_detail":"HTTPS API at https://cds.climate.copernicus.eu/api with the cdsapi python client; the token goes in $HOME/.cdsapirc. Process listing at /api/retrieve/v1/processes.","endpoint":"https://cds.climate.copernicus.eu/api","tooling":"cdsapi (pip install 'cdsapi>=0.7.7') is the vendor's own client; curl can drive the same endpoints with the PRIVATE-TOKEN header.","chaining":"The only free ERA5-class reanalysis source pair it with a compute sandbox because a full reanalysis pull is tens of GB and needs processing where it lands.","limits":[{"kind":"request-rate","value":"no numeric limit published on the setup page; retrievals are queued server-side and the queue position is the observable wait","source":"https://cds.climate.copernicus.eu/how-to-api"}],"limits_note":"The real gate is identity: registration plus a token plus, per dataset, a licence acceptance. The token is a credential and was not created here, so no retrieval was attempted.","binding":"none","binding_note":"Nothing in the seven-kind vocabulary fails at 1 TiB/month that could be measured here; the gate that does fail is identity, which the vocabulary carries in identity_cost rather than in limits.","identity_cost":{"kind":"email","detail":"A CDS account (email registration) plus a personal access token copied into .cdsapirc, plus a licence acceptance per dataset. No card and no institution.","country":null},"reliability_note":"Retrievals are queued and can take minutes to hours at peak; a client must poll a request id rather than expect a stream. No rate was measured because no token exists here.","confidence":"documented","confidence_note":"The setup page was read and the process listing answered anonymously, which proves the service is live but not that a retrieval works. A retrieval with a real token would move this to measured.","evidence":[{"url":"https://cds.climate.copernicus.eu/how-to-api","date":"2026-10-23","proved":"account registration, personal access token in $HOME/.cdsapirc, cdsapi>=0.7.7, url https://cds.climate.copernicus.eu/api"},{"url":"probe:https://cds.climate.copernicus.eu/api/retrieve/v1/processes","date":"2026-10-23","proved":"200 with 25,713 bytes of JSON to an anonymous client - the process catalogue is public even though retrieval is not"}],"verdict":"qualifies-with-caveat","verified_at":"2026-10-23T03:24:34.450Z","price_per_tb_month":"USD 0","notes":"Caveat is the account and the queue, not the price. This is the clearest example of a resource that is free but not anonymous: the bytes cost nothing and the token is mandatory.","extras":{"auth":"personal access token in ~/.cdsapirc","client":"cdsapi>=0.7.7","process_list_bytes":25713}},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[0].value","kind":"limit:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.price_per_tb_month","kind":"price-per-tb","num":0.0,"unit":"TB","per":"month","currency":"USD","usd":0.0,"fx_date":null,"parse":"ok"}],"unknown":[],"history":[],"drift":[]},{"rid":"storage/copernicus-cds-ads","card":{"rid":"storage/copernicus-cds-ads","eid":"copernicus","topic":"storage","slug":"copernicus-cds-ads","provider":"copernicus cds / ads","url":"https://cds.climate.copernicus.eu/how-to-api","domain":"copernicus.eu","category":"rejected-provider","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","confidence":"reported","binding":"none","identity_kind":"email","identity_basis":"defaulted","needs_card":null,"needs_phone":null,"needs_id":null,"needs_institution":null,"country":null,"crypto":null,"interfaces":null,"egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":1,"usd_month":null,"usd_per_tb_month":null,"summary":"Retrieval-only by design: a queue-based API (`cdsapi`) that materialises requested slices. There is no user deposit path, so it cannot store the client's dat...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"copernicus-cds-ads","provider":"copernicus cds / ads","url":"https://cds.climate.copernicus.eu/how-to-api","category":"rejected-provider","free_tier":{"stated":"Retrieval-only by design: a queue-based API (`cdsapi`) that materialises requested slices. There is no user deposit path, so it cannot store the client's data — it is a data source, not stor","unit":"none","metered_on":"none","source_url":"https://cds.climate.copernicus.eu/how-to-api","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://cds.climate.copernicus.eu/how-to-api","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://cds.climate.copernicus.eu/how-to-api","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Retrieval-only by design: a queue-based API (`cdsapi`) that materialises requested slices. There is no user deposit path, so it cannot store the client's data — it is a data source, not stor","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://cds.climate.copernicus.eu/how-to-api","date":"2026-10-21","proved":"Retrieval-only by design: a queue-based API (`cdsapi`) that materialises requested slices. There is no user deposit path, so it cannot store the client's data — it is a data source, not stor"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"Retrieval-only by design: a queue-based API (`cdsapi`) that materialises requested slices. There is no user deposit path, so it cannot store the client's data — it is a data source, not stor","extras":{"dead_end":{"failure_class":"quota","why":"Retrieval-only by design: a queue-based API (`cdsapi`) that materialises requested slices. There is no user deposit path, so it cannot store the client's data — it is a data source, not stor","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"none","binding_note":"no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]},{"rid":"storage/copernicus-data-space-ecosystem-12-tb-month-of-free-read","card":{"rid":"storage/copernicus-data-space-ecosystem-12-tb-month-of-free-read","eid":"copernicus","topic":"storage","slug":"copernicus-data-space-ecosystem-12-tb-month-of-free-read","provider":"Copernicus Data Space Ecosystem (CDSE / ESA DIAS) - 12 TB/month of free READ, zero writable storage","url":"https://dataspace.copernicus.eu/","domain":"copernicus.eu","category":"academic","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","confidence":"reported","binding":"per-ip-shaping","identity_kind":"email","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"s3,cli","egress_metered":1,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":4,"usd_month":null,"usd_per_tb_month":null,"summary":"12 TB per rolling 30 days of download via S3/OData/STAC for a Copernicus General User, 20 MB/s per connection, 4 concurrent connections, 2,000 requests/min, ...","duplicate_of":null,"n_unknown":9},"record":{"topic":"storage","slug":"copernicus-data-space-ecosystem-12-tb-month-of-free-read","provider":"Copernicus Data Space Ecosystem (CDSE / ESA DIAS) - 12 TB/month of free READ, zero writable storage","url":"https://dataspace.copernicus.eu/","category":"academic","free_tier":{"stated":"12 TB per rolling 30 days of download via S3/OData/STAC for a Copernicus General User, 20 MB/s per connection, 4 concurrent connections, 2,000 requests/min, empty-account registration. After the transfer limit is hit, bandwidth drops to 1 MB/s and 1 concurrent connection until the 30-day total falls back under the limit. Data Workspace adds 0.1 TB/month of deferred-access transfer and 25 processed products/month.","unit":"objects","metered_on":"unstated","source_url":"https://documentation.dataspace.copernicus.eu/Quotas.html","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not stated","source_url":"https://documentation.dataspace.copernicus.eu/Quotas.html","notes":"not stated"},"retention":{"stated":"not stated","source_url":"https://documentation.dataspace.copernicus.eu/Quotas.html","notes":"not stated"},"egress":{"terms":"The whole quota IS egress - this is the largest free read allowance found anywhere in the programme, but there is no general-purpose bucket to write to.","metered":true},"interface":["s3","cli"],"interface_detail":"s3","tooling":"S3 credentials self-service from the user panel against eodata.dataspace.copernicus.eu; openEO API (10,000 credits/month, temporary boost); Sentinel Hub APIs (10,000 requests/month); s3cmd/boto3 documented.","chaining":"Per account, and the 30-day rolling window means 12 TB/month sustained without cycling accounts. Creodias resells the same platform with paid extensions.","limits":[{"kind":"per-ip-shaping","value":"20 MB/s","source":"https://documentation.dataspace.copernicus.eu/Quotas.html"},{"kind":"per-ip-shaping","value":"4 concurrent connections","source":"https://documentation.dataspace.copernicus.eu/Quotas.html"}],"limits_note":"Read-only EO products. No user-owned bucket: the S3 endpoint serves the mission archive. Registration is open to anyone with an email and is self-service.","identity_cost":{"kind":"email","detail":"email","country":null},"reliability_note":"CloudFerro-operated for ESA; the 1 MB/s throttle after the cap is a hard cliff, not a soft degrade.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://documentation.dataspace.copernicus.eu/Quotas.html","date":"2026-10-21","proved":"'Monthly transfer limit (TB) (IAD) 12'; 'After reaching this monthly transfer limit, the maximum bandwidth drops to 1MB/s and the number of concurrent connections drops to 1'"},{"url":"https://documentation.dataspace.copernicus.eu/Quotas.html","date":"2026-10-21","proved":"'Number of concurrent connections limit (IAD) 4'; 'Bandwidth limit per connection (MB/s) 20'; openEO 'Credits per month 10 000'"},{"url":"https://documentation.dataspace.copernicus.eu/Applications/JupyterHub.html","date":"2026-10-21","proved":"'Each JupyterLab instance includes 10GB of storage... preserved to 30 days from the last login'"},{"url":"https://forum.dataspace.copernicus.eu/t/update-increased-monthly-transfer-limit-from-6tb-to-12tb-for-cdse-users/752","date":"2026-10-21","proved":"6 TB -> 12 TB increase confirmed"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"12 TB per rolling 30 days of download via S3/OData/STAC for a Copernicus General User, 20 MB/s per connection, 4 concurrent connections, 2,000 requests/min, empty-account registration. After the transfer limit is hit, bandwidth drops to 1 MB/s and 1 concurrent connection until the 30-day total falls back under the limit. Data Workspace adds 0.1 TB/month of deferred-access transfer and 25 processed products/month.","extras":{"dead_end":{"failure_class":"egress","why":"12 TB per rolling 30 days of download via S3/OData/STAC for a Copernicus General User, 20 MB/s per connection, 4 concurrent connections, 2,000 requests/min, empty-account registration. After the transfer limit is hit, bandwidth drops to 1 MB/s and 1 concurrent connection until the 30-day total falls back under the limit. Data Workspace adds 0.1 TB/month of deferred-access transfer and 25 processed products/month.","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"per-ip-shaping","binding_note":"one stream is shaped, and a user's throughput is the shaped rate times the number of streams"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":12.0,"unit":"TB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:per-ip-shaping","num":20.0,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[1].value","kind":"limit:per-ip-shaping","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.extras.dead_end.retry_when","process"],["$.extras.dead_end.why","partly-held"],["$.free_tier.notes","process"],["$.free_tier.stated","partly-held"],["$.notes","partly-held"],["$.per_object_cap.notes","not-extracted"],["$.per_object_cap.stated","not-extracted"],["$.retention.notes","not-extracted"],["$.retention.stated","not-extracted"]],"history":[],"drift":[]},{"rid":"storage/wekeo-drive","card":{"rid":"storage/wekeo-drive","eid":"copernicus","topic":"storage","slug":"wekeo-drive","provider":"wekeo drive (copernicus dias file hosting)","url":"https://wekeo.copernicus.eu/wekeo-drive","domain":"copernicus.eu","category":"rejected-provider","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","confidence":"reported","binding":"none","identity_kind":"email","identity_basis":"defaulted","needs_card":null,"needs_phone":null,"needs_id":null,"needs_institution":null,"country":null,"crypto":null,"interfaces":null,"egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":1,"usd_month":null,"usd_per_tb_month":null,"summary":"8 GB of free space - three orders of magnitude short of the 500 GB floor, and it is a file-sharing front end for notebooks rather than object storage.","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"wekeo-drive","provider":"wekeo drive (copernicus dias file hosting)","url":"https://wekeo.copernicus.eu/wekeo-drive","category":"rejected-provider","free_tier":{"stated":"8 GB of free space - three orders of magnitude short of the 500 GB floor, and it is a file-sharing front end for notebooks rather than object storage.","unit":"none","metered_on":"none","source_url":"https://wekeo.copernicus.eu/wekeo-drive","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://wekeo.copernicus.eu/wekeo-drive","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://wekeo.copernicus.eu/wekeo-drive","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"8 GB of free space - three orders of magnitude short of the 500 GB floor, and it is a file-sharing front end for notebooks rather than object storage.","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://wekeo.copernicus.eu/wekeo-drive","date":"2026-10-21","proved":"8 GB of free space - three orders of magnitude short of the 500 GB floor, and it is a file-sharing front end for notebooks rather than object storage."}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"8 GB of free space - three orders of magnitude short of the 500 GB floor, and it is a file-sharing front end for notebooks rather than object storage.","extras":{"dead_end":{"failure_class":"quota","why":"8 GB of free space - three orders of magnitude short of the 500 GB floor, and it is a file-sharing front end for notebooks rather than object storage.","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"none","binding_note":"no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":8.0,"unit":"GB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]}]}