Operations 67
Documentation
Documentation
https://www.eia.gov/opendata/documentation.php
Documentation
https://www.osti.gov/api/v1/docs
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/doe-coal-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: EIA APIv2 AEO COAL API
description: Swagger UI interface for EIA's APIv2. You can also explore EIA's API using the [Opendata Query Browser](https://www.eia.gov/opendata/browser/). For this UI, you must use your EIA `api key` to apply filters and return data. You can register for an API Key at [https://www.eia.gov/opendata/](https://www.eia.gov/opendata/)
version: 2.1.0
servers:
- url: https://api.eia.gov
security:
- api_key: []
tags:
- name: COAL
description: Access to Coal Data
paths:
/v2/coal/aggregate-production/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/consumption-and-quality/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/exports-imports-quantity-price/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/market-sales-price/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/mine-production/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/price-by-rank/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/reserves-capacity/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/shipments/by-mine-by-plant/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/shipments/mine-aggregates/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/shipments/mine-state-aggregates/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/shipments/plant-aggregates/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/shipments/plant-state-aggregates/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/shipments/receipts/facet/{facet_id}:
parameters:
- $ref: '#/components/parameters/facetId'
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facet'
/v2/coal/aggregate-production:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/aggregate-production/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/aggregate-production/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return aggregate-production Data
description: 'Class AggregateProductionController
Aggregate Production data set top-level controller.'
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal:
get:
tags:
- COAL
summary: Class CoalController
description: Coal data set top-level controller.
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/route'
/v2/coal/consumption-and-quality:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/consumption-and-quality/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/consumption-and-quality/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return consumption-and-quality Data
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/exports-imports-quantity-price:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/exports-imports-quantity-price/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/exports-imports-quantity-price/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return exports-imports-quantity-price Data
description: 'Class ExportsImportsQuantityPriceController
Exports\Imports Quantity\Price data set top-level controller.'
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/market-sales-price:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/market-sales-price/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/market-sales-price/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return market-sales-price Data
description: 'Class MarketSalesPriceController
Market Sales Price data set top-level controller.'
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/mine-production:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/mine-production/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/mine-production/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return mine-production Data
description: 'Class MinProductionController
Mine Production data set top-level controller.'
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/price-by-rank:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/price-by-rank/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/price-by-rank/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return price-by-rank Data
description: 'Class PriceByRankController
Price By Rank data set top-level controller.'
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/reserves-capacity:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/reserves-capacity/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/reserves-capacity/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return reserves-capacity data
description: 'Class ReservesCapacityController
Reserves Capacity data set top-level controller.'
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/shipments/by-mine-by-plant:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/shipments/by-mine-by-plant/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/shipments/by-mine-by-plant/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return shipments by-mine-by-plant data
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/shipments/mine-aggregates:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/shipments/mine-aggregates/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/shipments/mine-aggregates/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return shipments mine-aggregates data
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/shipments/mine-state-aggregates:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/shipments/mine-state-aggregates/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/shipments/mine-state-aggregates/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return shipments mine-state-aggregates data
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/shipments/plant-aggregates:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/shipments/plant-aggregates/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/shipments/plant-aggregates/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return shipments plant-aggregates data
description: 'Class PlantAggregateController
Coal\Shipments dataset controller.'
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/shipments/plant-state-aggregates:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/shipments/plant-state-aggregates/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/shipments/plant-state-aggregates/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return shipments plant-state-aggregates data
description: 'Class PlantStateAggregateController
Coal\Shipments dataset controller.'
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/shipments/receipts:
get:
tags:
- COAL
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/final-route'
/v2/coal/shipments/receipts/facet:
get:
tags:
- COAL
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/facets'
/v2/coal/shipments/receipts/data:
get:
tags:
- COAL
description: API data with query params
parameters:
- $ref: '#/components/parameters/data'
- $ref: '#/components/parameters/facets'
- $ref: '#/components/parameters/frequency'
- $ref: '#/components/parameters/start'
- $ref: '#/components/parameters/end'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/length'
- $ref: '#/components/parameters/offset'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
post:
tags:
- COAL
summary: Return shipments receipts data
description: 'Class ReceiptsController
Coal\Shipments dataset controller.'
requestBody:
$ref: '#/components/requestBodies/dataParams'
responses:
'400':
description: Invalid input
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/data'
/v2/coal/shipments:
get:
tags:
- COAL
summary: Class CoalController
description: Coal data set top-level controller.
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/responses/route'
components:
responses:
route:
description: List of API data sets
content:
application/json:
schema:
$ref: '#/components/schemas/RouteResponseContainer'
facets:
description: List of facet options
content:
application/json:
schema:
$ref: '#/components/schemas/FacetOptionListContainer'
final-route:
description: List of API data sets
content:
application/json:
schema:
$ref: '#/components/schemas/FinalRouteResponseContainer'
facet:
description: Facet details
content:
application/json:
schema:
$ref: '#/components/schemas/FacetDetailsContainer'
data:
description: API Data
content:
application/json:
schema:
$ref: '#/components/schemas/DataResponseContainer'
schemas:
DataResponseContainer:
properties:
apiVersion:
type: string
request:
$ref: '#/components/schemas/RouteRequest'
response:
$ref: '#/components/schemas/DataResponse'
type: object
FacetDetails:
properties:
totalFacets:
type: integer
facets:
type: array
items:
$ref: '#/components/schemas/Facet'
type: object
FacetDetailsContainer:
properties:
apiVersion:
type: string
request:
$ref: '#/components/schemas/RouteRequest'
response:
$ref: '#/components/schemas/FacetDetails'
type: object
Frequency:
properties:
id:
type: string
description:
type: string
format:
type: string
query:
type: string
type: object
RouteResponseContainer:
properties:
apiVersion:
type: string
request:
$ref: '#/components/schemas/RouteRequest'
response:
$ref: '#/components/schemas/RouteResponse'
type: object
DataParams:
properties:
data:
type: array
items:
type: string
facets:
type: object
frequency:
type: string
start:
type: string
end:
# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/doe/refs/heads/main/openapi/doe-coal-api-openapi.yml