OilPriceAPI guides

Energy market data for daily reports: build around the deadline

By OilPriceAPI · Published November 7, 2026

A daily energy report should tell readers what changed, which observations support that statement, and what is still unknown. Downloading data is only the first step. The report must compare like with like and avoid calling yesterday's observation fresh just because a job ran this morning.

Start with the audience and deadline. Procurement managers, energy analysts, and software customers can all ask for a daily gas report while needing different markets and delivery periods. Check the data catalog and futures reference for supported observations. Treat any undocumented series as a coverage request until a sample and access arrangement are confirmed.

Define a small data contract

Specify the following for every line. Give the deadline a time zone and daylight-saving policy: 07:00 London time and 07:00 UTC are different instructions for part of the year.

FieldPrecise requirement
Market and instrumentA named delivery-month future, rather than simply ‘gas’
Price basisA selected settlement field or last observation, labeled
UnitEUR/MWh without silently mixing USD/MMBtu
Observation periodTrading date or gas day, as appropriate
Availability deadlineBefore a specified local publication time
ComparisonSame contract and price basis on the prior valid session
Missing-data behaviorUnavailable with a reason; retain a prior value only if labeled

A supplier can answer a specific instrument-and-deadline question much better than “Do you have energy data?”

Use four focused sections

1. Price snapshot

Show instrument, delivery period, price basis, value, unit, source time, and a prior comparable value. If the front month rolled overnight, yesterday's selected contract and today's selected contract do not form a clean same-instrument change. See the historical futures guide.

2. Physical context

Include only fundamentals relevant to the geography. Keep inventory stocks separate from injection or withdrawal flows. Record the source's gas-day convention and do not combine U.S. and European inventory into an unlabeled number.

3. Curve and spreads

State the price field and whether points were observed at comparable times. Name the spread direction, such as April minus January. The natural gas forward-curve guide gives a worked example. A spread is not automatically a forecast or profit opportunity.

4. Data exceptions

Give delayed, missing, and revised data a visible place. An exceptions box is more useful than another paragraph of automated commentary when inputs are uncertain.

Keep source time separate from collection time

Store the observation period, the source observation or publication time where available, when your application retrieved it, and the report publication time. These are distinct events. Preserve timestamp and freshness metadata from API responses; an endpoint returning 200 does not prove a new observation was published.

Set a freshness policy per series

A weekly release and an exchange-session quote should not use the same timeout. Choose thresholds from observed source behavior and documented schedules; trial the deadline before promising it.

StateMeaningDisplay behavior
Current for scheduleExpected observation is availableShow its source time
Market or source closedNo new observation expectedShow last valid period and a calendar note
DelayedExpected release has not arrivedFlag it; never call it current
MissingNo usable observationLeave the numeric field unavailable
RevisedA previously published value changedShow a revision note if material
UnknownSource timing is not establishedState that freshness is unverified

Download the daily report template

The text template has sections for changes, prices, fundamentals, spreads, exceptions, methodology, attribution, and sharing permissions. Fill it with validated observations before adding commentary.

Download the report template (.txt)

Test the ugly days before automation

Run the process through weekends, market holidays, contract rolls, and revisions. Simulate a timeout, an empty result, and a missing price. The report should become honestly incomplete. Archive inputs and transformation versions where permitted so you can explain a changed report later.

Before external distribution, confirm the audience's rights to every source. Internal analytical use and customer-facing publication can differ. Automation does not expand a source licence. If a language model writes commentary, require every numerical claim to identify its validated supporting series; do not infer a supply event from a price move alone.

Measure the report, not its word count

Track on-time publication, expected observations present, stale or unknown observations shown without warnings, manual corrections, preparation time, and reader actions such as chart opens or missing-market requests.

Start with one market and a short trial. Check OilPriceAPI plans, map supported data to the template, and test against your requirements. Describe gaps with the instrument, geography, delivery period, history, and deadline rather than assuming coverage.