OilPriceAPI Documentation
GitHub
GitHub
  • Interactive Explorer

    • Interactive API Explorer
  • Price Data

    • API Reference
    • Get Latest Prices
    • Historical Prices
  • Commodities

    • List Commodities
    • Get Commodity Details
  • Marine Fuels

    • List Marine Fuel Ports
    • Get Port Details with Prices
  • Premium Endpoints

    • All Prices API - One Call, All Commodities
    • Cushing Oil Storage Intelligence API
    • Drilling Intelligence API
    • Marine Fuels API
    • ICE Brent Futures API

Drilling Intelligence API

Overview

Comprehensive drilling activity data including rig counts, frac spreads, well permits, and DUC (Drilled but Uncompleted) wells. Essential intelligence for energy traders, E&P companies, and market analysts tracking North American oil & gas production trends.

Access Level: Premium (Reservoir Mastery tier only)

Available Endpoints

EndpointDescriptionUpdate Frequency
/v1/drilling-intelligence/latestAll drilling metrics summaryWeekly/Monthly
/v1/rig-counts/latestLatest rig count dataWeekly (Fridays)
/v1/drilling-intelligence/frac-spreadsActive frac spread countsMonthly
/v1/drilling-intelligence/well-permitsNew well permit dataMonthly
/v1/drilling-intelligence/duc-wellsDUC well inventoryMonthly
/v1/drilling-intelligence/basin/{basin}Basin-specific dataVaries

Authentication

All drilling intelligence endpoints require premium API access:

curl -X GET "https://api.oilpriceapi.com/v1/drilling-intelligence/latest" \
  -H "Authorization: Token YOUR_API_KEY" \
  -H "Accept: application/json"

Rig Counts

Latest Rig Counts

GET /v1/rig-counts/latest

Response:

{
  "status": "success",
  "data": {
    "us": {
      "total": 625,
      "oil": 502,
      "gas": 119,
      "miscellaneous": 4,
      "week_change": -3,
      "year_ago": 734
    },
    "canada": {
      "total": 218,
      "oil": 142,
      "gas": 76,
      "week_change": 5,
      "year_ago": 195
    },
    "international": {
      "total": 843,
      "month_change": 12,
      "year_ago": 798
    },
    "metadata": {
      "source": "Baker Hughes",
      "release_date": "2025-09-20",
      "next_release": "2025-09-27"
    }
  }
}

Historical Rig Counts

GET /v1/rig-counts/historical?period=52w

Frac Spreads

Active hydraulic fracturing crew counts by major basin:

GET /v1/drilling-intelligence/frac-spreads

Response:

{
  "status": "success",
  "data": {
    "total_us": 265,
    "by_basin": {
      "permian": 145,
      "eagle_ford": 35,
      "bakken": 28,
      "haynesville": 22,
      "marcellus": 18,
      "other": 17
    },
    "month_change": -8,
    "year_ago": 290,
    "metadata": {
      "data_date": "2025-09-01",
      "source": "Primary Vision"
    }
  }
}

Well Permits

New drilling permits issued by state:

GET /v1/drilling-intelligence/well-permits

Response:

{
  "status": "success",
  "data": {
    "total_permits": 4250,
    "by_state": {
      "texas": 1850,
      "new_mexico": 620,
      "north_dakota": 380,
      "oklahoma": 425,
      "colorado": 290,
      "wyoming": 185,
      "other": 500
    },
    "month_over_month": {
      "absolute": 125,
      "percentage": 3.0
    },
    "oil_vs_gas": {
      "oil_permits": 3200,
      "gas_permits": 1050
    },
    "metadata": {
      "period": "2025-08",
      "source": "State Regulatory Agencies"
    }
  }
}

DUC Wells (Drilled but Uncompleted)

Inventory of wells drilled but awaiting completion:

GET /v1/drilling-intelligence/duc-wells

Response:

{
  "status": "success",
  "data": {
    "total_duc_wells": 4435,
    "by_basin": {
      "permian": {
        "count": 893,
        "month_change": -45,
        "months_inventory": 3.2
      },
      "eagle_ford": {
        "count": 345,
        "month_change": -12,
        "months_inventory": 4.1
      },
      "bakken": {
        "count": 328,
        "month_change": -8,
        "months_inventory": 5.5
      },
      "niobrara": {
        "count": 287,
        "month_change": 5,
        "months_inventory": 4.8
      }
    },
    "trends": {
      "three_month": "declining",
      "six_month": "declining",
      "completion_rate": "accelerating"
    },
    "metadata": {
      "data_date": "2025-08-31",
      "source": "EIA Drilling Productivity Report",
      "next_release": "2025-09-15"
    }
  }
}

Basin-Specific Data

Get all drilling metrics for a specific basin:

GET /v1/drilling-intelligence/basin/permian

Response:

{
  "status": "success",
  "data": {
    "basin": "Permian",
    "rig_count": 302,
    "frac_spreads": 145,
    "duc_wells": 893,
    "new_permits": 850,
    "production": {
      "oil_mbpd": 5842,
      "gas_bcfd": 21.3,
      "month_over_month_change": 1.2
    },
    "breakeven_price": 38.50,
    "operators": {
      "active_count": 145,
      "top_5": [
        "Pioneer Natural Resources",
        "EOG Resources",
        "Chevron",
        "ConocoPhillips",
        "Occidental"
      ]
    }
  }
}

Summary Endpoint

Get all drilling intelligence metrics in one call:

GET /v1/drilling-intelligence/summary

Market Impact Analysis

Leading Indicators

MetricIncreasingDecreasing
Rig CountHigher future productionLower future production
Frac SpreadsNear-term production boostProduction slowdown
Well PermitsFuture drilling activity upFuture drilling down
DUC WellsPotential for quick productionCompletions outpacing drilling

Typical Lead Times

  • Rig Count → Production: 4-6 months
  • Frac Spreads → Production: 1-3 months
  • Permits → Drilling: 6-12 months
  • DUC Completions → Production: 2-4 weeks

Rate Limits

  • Requests: 100 per minute
  • Cache: 5 minutes for real-time, 1 hour for historical

Example Usage

Python - Production Forecast

import requests

def analyze_production_outlook():
    headers = {'Authorization': 'Token YOUR_API_KEY'}

    # Get drilling intelligence
    response = requests.get(
        'https://api.oilpriceapi.com/v1/drilling-intelligence/summary',
        headers=headers
    )
    data = response.json()

    # Simple production outlook
    rig_trend = data['rig_counts']['us']['week_change']
    duc_trend = data['duc_wells']['total_change']

    if rig_trend > 0 and duc_trend < 0:
        return "Bullish: Rigs up, DUCs being completed"
    elif rig_trend < 0 and duc_trend > 0:
        return "Bearish: Rigs down, DUCs building"
    else:
        return "Neutral: Mixed signals"

JavaScript - Basin Comparison

async function compareBasins() {
  const basins = ['permian', 'bakken', 'eagle-ford'];
  const data = {};

  for (const basin of basins) {
    const response = await fetch(
      `https://api.oilpriceapi.com/v1/drilling-intelligence/basin/${basin}`,
      {
        headers: {
          'Authorization': 'Token YOUR_API_KEY'
        }
      }
    );
    data[basin] = await response.json();
  }

  // Find most active basin
  const mostActive = Object.entries(data)
    .sort((a, b) => b[1].data.rig_count - a[1].data.rig_count)[0];

  console.log(`Most active basin: ${mostActive[0]} with ${mostActive[1].data.rig_count} rigs`);
}

Error Codes

CodeDescription
401Invalid or missing API key
403Premium access required
404Basin or data not found
429Rate limit exceeded
503Data temporarily unavailable

Data Sources

  • Rig Counts: Baker Hughes (weekly, Fridays at noon CST)
  • Frac Spreads: Primary Vision (monthly)
  • Well Permits: State regulatory agencies (monthly)
  • DUC Wells: EIA Drilling Productivity Report (monthly)

Related Endpoints

  • /v1/prices/latest?code=WTI_USD - WTI crude oil price
  • /v1/prices/latest?code=NATURAL_GAS_USD - Natural gas price
  • /v1/storage/cushing - Cushing oil storage levels
Prev
Cushing Oil Storage Intelligence API
Next
Marine Fuels API