Weekly rig count data from Baker Hughes, the industry standard for drilling activity.
Source: Baker Hughes Weekly Rig Count Report Release: Every Friday at 1:00 PM ET Tier Required: Reservoir Mastery
| Method | Endpoint | Description |
|---|
| GET | /v1/dark_data/rig_counts | List paginated reports |
| GET | /v1/dark_data/rig_counts/latest | Latest report with full breakdown |
| GET | /v1/dark_data/rig_counts/by_basin | Filter by basin |
| GET | /v1/dark_data/rig_counts/by_state | Filter by US state |
| GET | /v1/dark_data/rig_counts/historical | Historical trend data |
| GET | /v1/dark_data/rig_counts/:id | Specific report by ID |
GET /v1/dark_data/rig_counts
| Parameter | Type | Default | Description |
|---|
page | integer | 1 | Page number |
per_page | integer | 10 | Results per page (max 50) |
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"report_date": "2025-01-10",
"summary": "US Rig Count: 511 (+2 WoW)",
"status": "published"
}
],
"meta": {
"page": 1,
"per_page": 10,
"total_count": 100,
"total_pages": 10
}
}
GET /v1/dark_data/rig_counts/latest
{
"data": {
"report_date": "2025-01-10",
"us_total": 511,
"week_over_week": 2,
"year_over_year": -45,
"basins": {
"permian": { "count": 187, "change": 2 },
"eagle_ford": { "count": 48, "change": 0 },
"bakken": { "count": 32, "change": -1 },
"haynesville": { "count": 41, "change": 1 }
},
"top_states": [
{ "state": "Texas", "count": 248, "change": 3 },
{ "state": "New Mexico", "count": 89, "change": 1 },
{ "state": "Oklahoma", "count": 42, "change": -1 }
]
}
}
GET /v1/dark_data/rig_counts/by_basin
| Parameter | Type | Required | Description |
|---|
basins | string | No | Comma-separated: permian,eagle_ford,haynesville |
date | date | No | Specific report date (default: latest) |
permian, bakken, eagle_ford, niobrara, appalachia, anadarko, haynesville
{
"data": {
"report_date": "2025-01-10",
"basins": [
{
"region": "permian",
"region_type": "basin",
"count": 187,
"week_over_week": 2,
"change_direction": "up"
}
]
}
}
GET /v1/dark_data/rig_counts/by_state
| Parameter | Type | Required | Description |
|---|
states | string | No | Comma-separated: texas,oklahoma,wyoming |
date | date | No | Specific report date |
{
"data": {
"report_date": "2025-01-10",
"states": [
{
"state": "texas",
"count": 248,
"week_over_week": 3,
"change_direction": "up"
}
]
}
}
GET /v1/dark_data/rig_counts/historical
| Parameter | Type | Default | Description |
|---|
region | string | us | Region name (basin, state, or us) |
start_date | date | 1 year ago | Start of range |
end_date | date | today | End of range |
limit | integer | 52 | Max records (max 520 = 10 years) |
{
"data": {
"region": "permian",
"data_points": [
{
"report_date": "2025-01-10",
"count": 187,
"week_over_week": 2
},
{
"report_date": "2025-01-03",
"count": 185,
"week_over_week": -1
}
]
}
}
import requests
api_key = "YOUR_API_KEY"
headers = {"Authorization": f"Token {api_key}"}
response = requests.get(
"https://api.oilpriceapi.com/v1/dark_data/rig_counts/historical",
headers=headers,
params={"region": "permian", "limit": 52}
)
data = response.json()
for point in data["data"]["data_points"]:
print(f"{point['report_date']}: {point['count']} rigs")
const response = await fetch(
"https://api.oilpriceapi.com/v1/dark_data/rig_counts/latest",
{ headers: { "Authorization": "Token YOUR_API_KEY" } }
);
const data = await response.json();
console.log(`US Total: ${data.data.us_total} rigs`);
console.log(`Permian: ${data.data.basins.permian.count} rigs`);
- Leading Indicator: Rig counts lead production changes by 4-6 months
- Basin Activity: Track drilling focus across shale plays
- Investment Signals: Capital allocation trends in E&P sector
- Supply Forecasting: Project future production capacity