Oil Price API Documentation - Quick Start in 5 Minutes | REST API
GitHub
GitHub
  • Getting Started

    • Quick Start Guide - OilPriceAPI
    • Making Requests
    • Handling Responses
  • SDK Quick Start

    • Python Quick Start
    • JavaScript / Node.js Quick Start

Python Quick Start

Get started with the OilPriceAPI Python SDK in under 5 minutes.

Installation

pip install oilpriceapi

Basic Usage

from oilpriceapi import OilPriceAPI

# Initialize with your API key
client = OilPriceAPI("YOUR_API_KEY")

# Get latest WTI price
price = client.prices.latest(by_code="WTI_USD")
print(f"WTI: ${price.data.price}")

Get Your API Key

  1. Sign up for free
  2. Copy your API key from the dashboard
  3. Replace YOUR_API_KEY in the code above

Common Examples

Get Multiple Commodities

from oilpriceapi import OilPriceAPI

client = OilPriceAPI("YOUR_API_KEY")

# Get multiple commodities at once
commodities = ["WTI_USD", "BRENT_CRUDE_USD", "NATURAL_GAS_USD"]
prices = client.prices.latest(by_code=",".join(commodities))

for code, data in prices.data.items():
    print(f"{code}: ${data['price']}")

Historical Prices

from oilpriceapi import OilPriceAPI

client = OilPriceAPI("YOUR_API_KEY")

# Get past week of WTI prices
history = client.prices.past_week(by_code="WTI_USD")

for point in history.data:
    print(f"{point['created_at']}: ${point['price']}")

Async Support

import asyncio
from oilpriceapi import AsyncOilPriceAPI

async def get_prices():
    client = AsyncOilPriceAPI("YOUR_API_KEY")

    # Fetch multiple endpoints concurrently
    wti, brent = await asyncio.gather(
        client.prices.latest(by_code="WTI_USD"),
        client.prices.latest(by_code="BRENT_CRUDE_USD")
    )

    print(f"WTI: ${wti.data.price}")
    print(f"Brent: ${brent.data.price}")

asyncio.run(get_prices())

Error Handling

from oilpriceapi import OilPriceAPI
from oilpriceapi.exceptions import APIError, RateLimitError

client = OilPriceAPI("YOUR_API_KEY")

try:
    price = client.prices.latest(by_code="WTI_USD")
    print(f"WTI: ${price.data.price}")
except RateLimitError:
    print("Rate limit exceeded. Try again later.")
except APIError as e:
    print(f"API error: {e.message}")

SDK Features

  • Type hints - Full typing support for IDE autocomplete
  • Async support - AsyncOilPriceAPI for concurrent requests
  • Auto-retry - Automatic retry with exponential backoff
  • Response models - Structured response objects

Links

  • PyPI Package
  • GitHub Repository
  • Full API Reference

Next Steps

  • Authentication Guide
  • Historical Data
  • WebSocket Streaming
Last Updated: 12/10/25, 9:39 PM
Next
JavaScript / Node.js Quick Start