Built for Trading Firms

Oil Price API for
Energy Trading

Source-timestamped crude oil, natural gas, and refined product reference values for dashboards, alerts, research, and internal models.

Sub-second

Avg Response Time

Broad

Catalog Coverage

REST

Normalized API

Source

Timestamps Included

The Challenge of Energy Data

Fragmented Data Sources

Multiple exchanges, inconsistent formats, varying update frequencies

Freshness Ambiguity

Values without source timestamps are difficult to evaluate against market hours and source cadence

Integration Overhead

Multiple formats and delivery patterns add engineering and maintenance work

Our Solution

Unified API

Documented energy benchmarks in one consistent JSON format

Traceable Freshness

Source timestamps with cadence that varies by source and dataset

Developer-First Integration

Normalized JSON over an authenticated REST API

Built for Trading Research and Monitoring

REST Delivery

  • • Sub-second median REST response target
  • • Source and timestamp fields
  • • Human-readable price codes
  • • JSON responses and official SDKs

Broad Catalog

  • • WTI, Brent, Dubai crude
  • • Natural gas (Henry Hub, TTF, JKM)
  • • Refined products (RBOB, ULSD)
  • • Crack spreads & basis diffs

Enterprise Reliability

  • • 99.9% uptime target
  • • Public status monitoring
  • • Account and plan-specific entitlements
  • • Signed service-level terms for negotiated contracts

Trading Use Cases

Internal Pricing Models

// Read a source-timestamped WTI reference value
const response = await fetch(
  'https://api.oilpriceapi.com/v1/prices/latest?by_code=WTI_USD',
  { headers: { Authorization: 'Token YOUR_API_KEY' } }
);
const { data } = await response.json();
updateInternalModel(data.price, data.created_at);

Spread Monitoring

// Monitor Brent-WTI spread
const spread = await api.getSpread('BRENT', 'WTI');

if (spread.value > researchThreshold) {
  notifyRiskTeam({ spread, observedAt: spread.timestamp });
}

Options & Futures

// Review a futures curve
const curve = await api.getFuturesCurve('CL');

// Flag a curve state for analyst review
if (curve[1].price > curve[0].price * 1.02) {
  flagCurveForReview({ curve, observedAt: curve.timestamp });
}

Risk Management

// Set price alerts
api.setAlert({
  commodity: 'NATURAL_GAS',
  condition: 'ABOVE',
  threshold: 4.50,
  webhook: 'https://your-app.com/alerts'
});

Add Reference Data to Your Workflow

Use source-timestamped values in monitoring, research, and internal model workflows. Dataset and delivery access vary by account and plan.

Plan limits, datasets, history, and transport entitlements vary by account and plan.

Trading Platform FAQ

What's your average latency?

Sub-second, measured end to end. We use Cloudflare's global network for routing, so response times vary with your region and the endpoint you call. Measure it yourself against your own infrastructure before you build latency-sensitive logic on top of it.

Do you provide historical data?

Historical range and granularity vary by price code, source, dataset, account, and plan. Check the documentation and your account entitlements for the series you intend to use.

What about rate limits?

Rate limits and monthly quotas are account and plan-specific. Your account and API responses expose the applicable limits; enterprise limits can be negotiated in a signed agreement.

Can I redistribute the data?

OilPriceAPI grants no rights in upstream data. Data-use, display, and redistribution rights come from each source. Some EIA-sourced series are public domain, subject to the source's terms and attribution guidance. Review our data usage policy and the applicable source terms before deployment.