# Drilling Intelligence API
Reservoir Mastery Exclusive
Drilling intelligence data is available exclusively to Reservoir Mastery subscribers ($129/month). Upgrade your plan (opens new window) to access this data.
# Overview
The Drilling Intelligence API provides comprehensive upstream oil & gas activity data to help you track drilling trends, completion activity, and well inventory across major US basins.
# Data Categories
- Rig Counts: Active drilling rigs (US, Canada, International)
- Frac Spreads: Completion crew activity by basin
- Well Permits: New drilling permits by state
- DUC Wells: Drilled but uncompleted wells inventory
# Authentication
All drilling intelligence endpoints require:
- Valid API key from Reservoir Mastery subscription
- Authorization header with your API token
curl https://api.oilpriceapi.com/v1/drilling-intelligence \
-H 'Authorization: Token YOUR_API_KEY'
2
# Access Denied Response
If you're not on the Reservoir Mastery plan:
{
"success": false,
"error": "Drilling intelligence data is available exclusively to Reservoir Mastery subscribers",
"upgrade_url": "https://oilpriceapi.com/pricing",
"required_tier": "reservoir_mastery"
}
2
3
4
5
6
# API Endpoints
# Get All Drilling Intelligence Data
GET /v1/drilling-intelligence
Returns comprehensive drilling data across all categories.
Query Parameters:
by_code
- Filter by commodity code (e.g.,US_RIG_COUNT
)by_period[from]
- Start date (YYYY-MM-DD)by_period[to]
- End date (YYYY-MM-DD)page
- Page number for paginationper_page
- Results per page (default: 100)
Example Response:
{
"success": true,
"drilling_intelligence": [
{
"code": "US_RIG_COUNT",
"name": "US Rig Count",
"type": "rig_count",
"region": "United States",
"value": 622,
"unit": "rigs",
"currency": "COUNT",
"source": "baker_hughes",
"created_at": "2025-07-15T18:00:00.000Z",
"formatted_date": "2025-07-15 18:00:00 UTC"
},
{
"code": "PERMIAN_FRAC_SPREADS",
"name": "Permian Frac Spreads",
"type": "frac_spread",
"region": "Permian Basin",
"value": 125,
"unit": "spreads",
"currency": "COUNT",
"source": "primary_energy",
"created_at": "2025-07-15T16:00:00.000Z"
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Get Summary Overview
GET /v1/drilling-intelligence/summary
Returns latest data points for each category in a consolidated view.
Example Response:
{
"success": true,
"rig_counts": [
{
"code": "US_RIG_COUNT",
"region": "United States",
"value": 622,
"updated_at": "2025-07-15T18:00:00.000Z"
},
{
"code": "CANADA_RIG_COUNT",
"region": "Canada",
"value": 158,
"updated_at": "2025-07-15T18:00:00.000Z"
}
],
"frac_spreads": [
{
"code": "PERMIAN_FRAC_SPREADS",
"region": "Permian Basin",
"value": 125,
"updated_at": "2025-07-15T16:00:00.000Z"
}
],
"well_permits": [
{
"code": "TEXAS_WELL_PERMITS",
"region": "Texas",
"value": 89,
"updated_at": "2025-07-15T12:00:00.000Z"
}
],
"duc_wells": [
{
"code": "PERMIAN_DUC_WELLS",
"region": "Permian Basin",
"value": 2450,
"updated_at": "2025-07-15T08:00:00.000Z"
}
],
"last_updated": "2025-07-15T18:00:00.000Z"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Get Frac Spreads Data
GET /v1/drilling-intelligence/frac-spreads
Returns completion crew activity by basin.
Example Response:
{
"success": true,
"frac_spreads": [
{
"code": "PERMIAN_FRAC_SPREADS",
"name": "Permian Frac Spreads",
"region": "Permian Basin",
"value": 125,
"unit": "spreads"
}
],
"summary": {
"total_active_spreads": 200,
"by_basin": {
"Permian Basin": 125,
"Eagle Ford": 45,
"Bakken": 30
},
"last_updated": "2025-07-15T16:00:00.000Z"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Get Well Permits Data
GET /v1/drilling-intelligence/well-permits
Returns weekly drilling permit data by state.
# Get DUC Wells Data
GET /v1/drilling-intelligence/duc-wells
Returns drilled but uncompleted wells inventory.
# Get Basin-Specific Data
GET /v1/drilling-intelligence/basin/{basin}
Returns all drilling intelligence data for a specific basin.
Supported Basins:
permian
- Permian Basineagle_ford
oreagleford
- Eagle Ford Shalebakken
- Bakken Formationwilliston
- Williston Basin (alias for Bakken)
# Get Rig Counts (Simplified Endpoint)
GET /v1/rig-counts/latest
Returns the latest rig count data in a simplified format. Perfect for quick integrations.
Example Response:
{
"status": "success",
"data": {
"code": "US_RIG_COUNT",
"region": "United States",
"count": 540,
"unit": "rigs",
"source": "baker_hughes",
"created_at": "2025-08-02T20:15:00Z",
"week_over_week_change": -5,
"year_over_year_change": 45
}
}
2
3
4
5
6
7
8
9
10
11
12
13
Get Historical Rig Counts:
GET /v1/rig-counts
Query Parameters:
region
- Filter by region:us
,canada
,international
start_date
- Start date (YYYY-MM-DD)end_date
- End date (YYYY-MM-DD)page
- Page number for paginationper_page
- Results per page (default: 100)
# Get Trend Analysis
GET /v1/drilling-intelligence/trends
Returns trend analysis and historical patterns.
Query Parameters:
type
- Filter by data type:all
,frac_spreads
,well_permits
,duc_wells
,rig_counts
period
- Time period:1month
,3months
,6months
,1year
,2years
# Data Sources & Update Schedule
# Rig Counts
- Source: Baker Hughes North America Rotary Rig Count
- Update Frequency: Weekly (Fridays at 1 PM CT / 6 PM UTC)
- Coverage:
- US: By state and basin
- Canada: By province
- International: Major oil-producing countries
# Frac Spreads
- Source: Primary Energy
- Update Frequency: Weekly
- Coverage: Permian, Eagle Ford, Bakken, and other major basins
- Metrics: Active hydraulic fracturing crews
# Well Permits
- Source: State regulatory agencies
- Texas Railroad Commission (RRC)
- North Dakota Industrial Commission
- Oklahoma Corporation Commission
- Update Frequency: Weekly
- Coverage: New drilling permits issued
# DUC Wells
- Source: EIA Drilling Productivity Report
- Update Frequency: Monthly
- Coverage: Major unconventional oil & gas basins
- Metrics: Inventory of drilled but uncompleted wells
# Code Examples
# Python Example
import requests
import pandas as pd
# Your Reservoir Mastery API key
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://api.oilpriceapi.com/v1'
headers = {
'Authorization': f'Token {API_KEY}',
'Content-Type': 'application/json'
}
# Get drilling intelligence summary
response = requests.get(f'{BASE_URL}/drilling-intelligence/summary', headers=headers)
data = response.json()
# Convert to DataFrame for analysis
if data['success']:
rig_counts = pd.DataFrame(data['rig_counts'])
frac_spreads = pd.DataFrame(data['frac_spreads'])
print(f"Total US Rigs: {rig_counts[rig_counts['code'] == 'US_RIG_COUNT']['value'].iloc[0]}")
print(f"Total Frac Spreads: {data['summary']['total_active_spreads']}")
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# JavaScript Example
const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://api.oilpriceapi.com/v1';
async function getDrillingIntelligence() {
const response = await fetch(`${BASE_URL}/drilling-intelligence/summary`, {
headers: {
'Authorization': `Token ${API_KEY}`,
'Content-Type': 'application/json'
}
});
const data = await response.json();
if (data.success) {
console.log('US Rig Count:', data.rig_counts.find(r => r.code === 'US_RIG_COUNT').value);
console.log('Permian Frac Spreads:', data.frac_spreads.find(f => f.code === 'PERMIAN_FRAC_SPREADS').value);
}
}
getDrillingIntelligence();
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Basin Analysis Example
# Get all Permian Basin data
curl https://api.oilpriceapi.com/v1/drilling-intelligence/basin/permian \
-H 'Authorization: Token YOUR_API_KEY'
# Get 6-month trends for frac spreads
curl "https://api.oilpriceapi.com/v1/drilling-intelligence/trends?type=frac_spreads&period=6months" \
-H 'Authorization: Token YOUR_API_KEY'
2
3
4
5
6
7
# WebSocket Real-time Updates
Reservoir Mastery subscribers can receive real-time drilling intelligence updates via WebSocket:
// Subscribe to drilling intelligence updates
const cable = ActionCable.createConsumer('wss://api.oilpriceapi.com/cable');
const subscription = cable.subscriptions.create('EnergyPricesChannel', {
received(data) {
if (data.type === 'drilling_intelligence_update') {
console.log('New drilling data:', data.data);
// Handle real-time update
}
}
});
2
3
4
5
6
7
8
9
10
11
# Use Cases
# Investment Analysis
- Track drilling activity trends in specific basins
- Monitor completion crew deployment
- Analyze DUC well inventory changes
# Operations Planning
- Forecast regional drilling activity
- Plan service deployment based on frac spread locations
- Track competitor activity through permit filings
# Market Intelligence
- Correlate rig counts with oil price movements
- Predict production changes based on completion activity
- Monitor basin-specific drilling trends
# Rate Limits
Drilling intelligence endpoints follow standard API rate limits:
- Reservoir Mastery: 250,000 requests/month
- Rate Limit: 60 requests per minute per IP
# Support
For technical support or questions about drilling intelligence data:
- Email: [email protected]
- Slack: Available for Reservoir Mastery subscribers
- Documentation: https://docs.oilpriceapi.com
Upgrade to Reservoir Mastery (opens new window) to access drilling intelligence data.