The data
Rights and licensing
Every source has a machine-readable rights mode, and the API enforces it on every response. When in doubt, it fails closed: the value is withheld, the record is not hidden.
Rights modes
| Mode | We fetch and store | The API serves the value | In short |
|---|---|---|---|
| redistribution_allowed | yes | yes | Fetched, stored and served. |
| commercial_use_with_attribution | yes | yes, with attribution | Fetched, stored and served, with the attribution string the licence asks for. |
| derived_only | yes | no | Fetched and stored, not served: the licence allows derived products only, and V1 derives nothing. |
| internal_cache_only | yes | no — listed, value withheld | Fetched and stored, not served. Records are listed with the value withheld and a link to the operator. |
| link_only | no | no — metadata and link only | Not fetched. Metadata and a link to the operator's own publication. |
| pending_review | yes | no — listed, value withheld | Fetched and stored so the history is not lost, not served. Records are listed with the value withheld until the operator's terms are clear. |
| blocked | no | no | Not fetched and not served. |
A source’s mode is on its page under sources, with the licence, the evidence it was decided on (a URL, a short quote and the date it was read) and any note. It can change: an operator of this service can set any source to blocked instantly, and a source moves to a granting mode only when its licence clearly allows commercial reuse.
Withheld records
A value from a source that does not permit redistribution is withheld. The record is still listed — so you know the operator publishes something there, and where — with:
{
"capacity": {
"type": "available",
"value": null,
"unit": "MW",
"value_mw": null,
"qualifier": null,
"status": null,
"status_label": null
},
"access": {
"status": "withheld",
"reason": "pending_review",
"source_url": "https://operator.example/hosting-capacity"
}
}- A withheld value never satisfies a numeric filter:
min_capacity_mw=10cannot match anull. - Withheld records are included by default.
include_withheld=falseleaves them out. - A request that names only restricted sources is
451 source_rights_restricted, so a filter on one source cannot quietly return a list of nulls.
Why unclear sources are still read
Operator portals overwrite their files, and a history that was not recorded when it happened can never be recovered. So publications whose reuse terms are unclear are read and kept internally, and nothing from them is served. If the operator clears redistribution, customers get the history as well as the present. If an operator objects even to that, the source goes to blocked and its stored copies are deleted.
How a mode is decided
- A granting mode requires a licence name, a licence URL, dated evidence and an explicit yes on commercial use. Anything less is not granted.
- When signals conflict — a dataset marked CC BY 4.0 on a site whose terms forbid commercial reuse — the more restrictive reading wins until the operator confirms otherwise in writing.
- An obligation to publish is not a licence to redistribute. Regulators oblige operators to publish capacity; the licence the operator attaches is what counts.
Attribution
Where a licence asks for attribution, granted records carry the exact string in access.attribution, and the source’s page shows it. Show it wherever you show the figure — in your product, your report or your export. It is the operator’s condition, not ours.
Redistribution
Personal data
Some registers name customers or staff. Those fields are dropped when the file is parsed and are never stored, so no record carries them.