/longtermforecast#
This endpoint returns long-term production forecasts use public producer guidance with an adjustment for private producer activity of the lower 48 and its subregions for the next 12 months.
Warning
A throttling mechanism with a rate limit of 300 requests per minute has been implemented for this endpoint. This is temporary and may be adjusted in the future.
Endpoint#
POST |
https://hyperion.api.synmax.com/v3/longtermforecast |
Usage#
Python#
- long_term_forecast(end_date=None, region=[None], start_date=None, sub_region=[None])#
Returns a long term production forecast for the next 12 months for the lower 48. The forecast is provided at a monthly granularity.
Object returned is a pandas DataFrame.
⮞ Setup the client.
from synmax.hyperion import HyperionApiClient, ApiPayload
access_token = 'your access token goes here'
client = HyperionApiClient(access_token=access_token)
For a more detailed guide on setting up the Hyperion client, please see the Quickstart page.
⮞ Use parameters to narrow down your request.
payload = ApiPayload(start_date='2021-05-01', end_date='2022-06-25', sub_region=['S LA', 'West - TX'])
Tip
Narrow down your request to receive a faster response. Using no parameters will fetch the entire dataset which may take a very long time.
⮞ Call the function.
result_df = client.long_term_forecast(payload)
⮞ Print the results or save them for later.
# Print the entire response as a string.
print(result_df.to_string())
# Create a CSV file from the output.
result_df.to_csv('output.csv')
# Print the number of items per column.
print(result_df.count())
For more information on outputting to different formats, please see the pandas DataFrame documentation.
Parameters#
Query#
Parameter |
Type |
Description |
Example |
---|---|---|---|
end_date |
string |
Limit search to an end date. Date formatting - [“YYYY-MM-DD”] |
|
region |
string array |
Limit search by a list of regions (clusters of multiple major producing basins). |
|
start_date |
string |
Limit search to a start date. Date formatting - [“YYYY-MM-DD”] |
|
sub_region |
string array |
Limit search by a list of subregions (clusters of several counties forming a major producing basin). |
|
Aggregation#
Aggregation provides an overview of overall productions levels for a particular operator or across a given region during a given timeframe.
Data is always implicitly aggregated by date. This means all other column data are grouped by date.
Supported parameters: date
, region
Response#
Parameter |
Type |
Description |
Example |
---|---|---|---|
date |
string |
Forecasted month (unsynced). Date formatting - [“YYYY-MM-DD”] |
“2022-11-01” |
gas_daily |
float |
Average rate of gas production expressed per day (in BCF/day). |
23.842 |
oil_daily |
float |
The amount of oil produced in a single day (in BBLS, or barrels). |
112.9570761 |
region |
string |
Aggregation of multiple major producing basins. |
“GULF” |
state_ab |
string |
Abbreviation of the state. |
“LA” |
Responses#
Normal Output#
date |
gas_daily |
oil_daily |
region |
sub_region |
---|---|---|---|---|
2022-12-01 |
0.269483871 |
southeast |
AL |
|
2023-01-01 |
0.269483871 |
southeast |
AL |
|
2023-02-01 |
0.269483871 |
southeast |
AL |
|
2023-03-01 |
0.2 |
southeast |
AL |
|
2023-04-01 |
0.2932 |
10.0 |
southeast |
AL |
2023-05-01 |
0.14287821 |
10.0 |
southeast |
AL |
2023-06-01 |
0.288166667 |
10.0 |
southeast |
AL |
2023-07-01 |
0.289258065 |
10.0 |
southeast |
AL |
2023-08-01 |
0.279419355 |
10.0 |
southeast |
AL |
2023-09-01 |
0.4 |
10.0 |
southeast |
AL |
Note
Output data will return as “null” when input data is invalid or does not exist.
Aggregated Output#
Aggregated by…
payload = {
'aggregate_by': 'date'
}
date |
gas_daily |
oil_daily |
---|---|---|
2027-01-01 |
110.229465131 |
13074.375628571 |
2027-02-01 |
110.541306062 |
13573.777517447 |
2027-03-01 |
110.82943534 |
13628.26997467 |
2027-04-01 |
111.844971557 |
13684.59321951 |
2027-05-01 |
111.133382874 |
13715.688904682 |
2027-06-01 |
110.611841747 |
13775.90870968 |
2027-07-01 |
111.09850583 |
13829.514445008 |
payload = {
'aggregate_by': 'region'
}
date |
gas_daily |
oil_daily |
---|---|---|
2023-08-01 |
102.120244364 |
13053.55 |
2023-09-01 |
101.644647163 |
13000.0 |
2023-10-01 |
102.885545423 |
13000.0 |
2023-11-01 |
105.794444415 |
13000.0 |
2023-12-01 |
105.263300134 |
13000.0 |
2024-01-01 |
102.252839232 |
12802.708 |
2024-02-01 |
104.009886013 |
13286.708 |
2024-03-01 |
100.743915624 |
13200.0 |
2024-04-01 |
99.550488244 |
13100.0 |
2024-05-01 |
99.274036604 |
13100.0 |
To get the aggregated version of the LTF for the Lower48, use the following query:
payload = ApiPayload(aggregate_by=["date"], region=["gulf", "midwest", "northeast", "southeast", "west"])
Tip
To better explore using the aggregation functionality interactively, consider using our Excel Add-in. By familiarizing yourself with the available options, you can more efficiently query and process the data for your specific needs. To learn how to use the SynMax Excel Add-in, please refer to our Excel Add-in Documentation.