JavaScript / Node.js Quick Start
Get started with the OilPriceAPI Node.js SDK in under 5 minutes.
Installation
npm install @oilpriceapi/sdk
# or
yarn add @oilpriceapi/sdk
Basic Usage
import { OilPriceAPI } from '@oilpriceapi/sdk';
// Initialize with your API key
const client = new OilPriceAPI('YOUR_API_KEY');
// Get latest WTI price
const price = await client.prices.latest({ byCode: 'WTI_USD' });
console.log(`WTI: $${price.data.price}`);
Get Your API Key
- Sign up for free
- Copy your API key from the dashboard
- Replace
YOUR_API_KEYin the code above
Common Examples
Get Multiple Commodities
import { OilPriceAPI } from '@oilpriceapi/sdk';
const client = new OilPriceAPI('YOUR_API_KEY');
// Get multiple commodities at once
const prices = await client.prices.latest({
byCode: 'WTI_USD,BRENT_CRUDE_USD,NATURAL_GAS_USD'
});
Object.entries(prices.data).forEach(([code, data]) => {
console.log(`${code}: $${data.price}`);
});
Historical Prices
import { OilPriceAPI } from '@oilpriceapi/sdk';
const client = new OilPriceAPI('YOUR_API_KEY');
// Get past week of WTI prices
const history = await client.prices.pastWeek({ byCode: 'WTI_USD' });
history.data.forEach(point => {
console.log(`${point.created_at}: $${point.price}`);
});
TypeScript Support
import { OilPriceAPI, PriceResponse } from '@oilpriceapi/sdk';
const client = new OilPriceAPI('YOUR_API_KEY');
// Full type support
const price: PriceResponse = await client.prices.latest({
byCode: 'WTI_USD'
});
// IDE autocomplete works
console.log(price.data.price);
console.log(price.data.formatted);
console.log(price.data.currency);
Error Handling
import { OilPriceAPI, APIError, RateLimitError } from '@oilpriceapi/sdk';
const client = new OilPriceAPI('YOUR_API_KEY');
try {
const price = await client.prices.latest({ byCode: 'WTI_USD' });
console.log(`WTI: $${price.data.price}`);
} catch (error) {
if (error instanceof RateLimitError) {
console.log('Rate limit exceeded. Try again later.');
} else if (error instanceof APIError) {
console.log(`API error: ${error.message}`);
}
}
Browser Usage
<script type="module">
import { OilPriceAPI } from 'https://cdn.jsdelivr.net/npm/@oilpriceapi/sdk/dist/browser.mjs';
const client = new OilPriceAPI('YOUR_API_KEY');
const price = await client.prices.latest({ byCode: 'WTI_USD' });
document.getElementById('price').textContent = price.data.formatted;
</script>
SDK Features
- TypeScript - Full type definitions included
- Tree-shakeable - Only import what you need
- Auto-retry - Automatic retry with exponential backoff
- Browser & Node - Works in both environments