API documentation
US Natural Gas Trade API
Since 1973Twelve monthly trade flows from the EIA Natural Gas Monthly: LNG and pipeline exports/imports — including the Mexico and Canada bilaterals — plus average trade prices.
500 req/mo · No credit card required · One key, every API on the platform
- Checking status…
- Monthly since 1973 (bilaterals; prices 1989, LNG & pipeline aggregates 1997)
- 12 flows: exports · imports · prices
- Volumes in million cubic feet
- Refreshed on each Natural Gas Monthly (~2-month lag)
Base URL & authentication
All endpoints live under one base URL. Authenticate every request with your key
in the X-Api-Key header — no OAuth, no signing. The same key works
on every API of the platform.
# Base URL {{GATEWAY_URL}} # Every request X-Api-Key: sk_live_YOUR_KEY
Missing or invalid keys return 401 — see
errors. The demo endpoint is the only keyless route.
Endpoints
All paths relative to the base URL. Every 200 ships ETag,
Cache-Control and RateLimit-* headers.
| Method | Path | Summary |
|---|---|---|
| GET | /gas-trade/latest Free+ | Latest value of all twelve trade flows |
| GET | /gas-trade/{flow} Free+ | Latest value of a single trade flow |
| GET | /gas-trade/{flow}/history Free+ | Paginated monthly history for a flow |
{flow}: exports | exports-pipeline | exports-pipeline-mexico | exports-pipeline-canada | exports-lng | exports-price | imports | imports-pipeline | imports-pipeline-canada | imports-pipeline-mexico | imports-lng | imports-price (case-insensitive). History: start/end (YYYY-MM, keyset via meta.next_end), limit 1–100.
Sample — 200 /gas-trade/latest
{
"data": [
{ "flow": "exports", "period": "2026-04", "value": 807542, "unit": "million cubic feet", "source": "EIA" },
{ "flow": "exports-lng", "period": "2026-04", "value": 537936, "unit": "million cubic feet", "source": "EIA" }
],
"meta": { "source": "U.S. Energy Information Administration", "area": "us" }
}
Errors, auth & limits
One uniform error contract everywhere:
{ "error": { "code", "message" } } with stable,
machine-readable codes — shared by every API on the platform.
| Status | Code | When |
|---|---|---|
| 401 | UNAUTHORIZED | Missing X-Api-Key header, or invalid/revoked key. |
| 400 | VALIDATION_ERROR | Bad query/path parameters. |
| 404 | FLOW_NOT_FOUND · NO_DATA · NOT_FOUND | Unknown value for the path parameter (the message lists the valid ones), no data for the requested range yet, or unknown route. |
| 429 | RATE_LIMITED | Per-minute limit of your plan exceeded — check Retry-After. |
| 429 | QUOTA_EXCEEDED | Monthly cap reached. Nothing is billed on top — resets on the 1st (UTC). |
| 502 | UPSTREAM_ERROR | The origin API was unreachable — retry shortly. |
Data provenance
The EIA Natural Gas Monthly: official monthly aggregates of US natural gas trade. History depth varies by flow: totals and the Mexico/Canada pipeline bilaterals since 1973, average prices since 1989, LNG and the pipeline aggregates since 1997. Volumes in million cubic feet (integers), prices in dollars per thousand cubic feet. The official series has a real gap in aggregate pipeline exports for 1998–2000 and 241 legitimate zero values — served as published, never smoothed. This product is not endorsed by or affiliated with the EIA.
Example
curl -H "X-Api-Key: sk_live_YOUR_KEY" \ https://api.synergicapis.com/gas-trade/latest
import requests
r = requests.get(
"https://api.synergicapis.com/gas-trade/latest",
headers={"X-Api-Key": "sk_live_YOUR_KEY"},
)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://api.synergicapis.com/gas-trade/latest", { headers: { "X-Api-Key": "sk_live_YOUR_KEY" }, }); const { data } = await res.json(); console.log(data);
Live demo
Real request against the production API — no key needed here (demo endpoint, 5 requests/minute).
Press the button to fetch the latest official figures.