Oil Price API Documentation - Quick Start in 5 Minutes | REST API
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
  • Futures

    • Futures API
    • ICE Brent Futures
    • ICE WTI Futures
    • ICE Gas Oil Futures
    • NYMEX Natural Gas Futures
    • ICE EUA Carbon Futures
  • Dark Data (Premium)

    • Energy Intelligence API
    • Rig Counts
    • Well Permits
    • Oil Inventories
    • OPEC Production
    • Drilling Productivity
    • Forecasts (STEO)
  • Analytics

    • Analytics API
  • Account & Billing

    • Account API

Well Permits

Real-time well permit data from state regulatory agencies. Track new drilling permits as they're filed across 26 US oil and gas producing states.

Sources: 26 state regulatory agencies including Texas RRC, Oklahoma OCC, New Mexico OCD, NDIC, CalGEM, PA DEP, and more Frequency: Daily for high-volume states, weekly for others (within 24-48 hours of state publication) Tier Required: Well Permits Add-on or Enterprise Total Coverage: 26 states representing 99%+ of US onshore drilling activity

For free public data and pSEO endpoints, see Drilling Intelligence (Public).

Pricing Tiers

TierCoverageMonthly
Starter1 state$49
RegionalTX, OK, NM (3 states)$99
US CompleteAll 26 states$349

State Coverage

We collect well permit data from 26 US states.

Update Schedule

Times shown in EST/CST (standard time). During Daylight Saving Time, add 1 hour.

Daily Updates

StateCodeUTCEasternCentral
KansasKS6:00 AM1:00 AM12:00 AM
TennesseeTN7:00 AM2:00 AM1:00 AM
NebraskaNE8:00 AM3:00 AM2:00 AM
New YorkNY8:00 AM3:00 AM2:00 AM
AlaskaAK10:00 AM5:00 AM4:00 AM
MississippiMS1:00 PM8:00 AM7:00 AM
AlabamaAL2:00 PM9:00 AM8:00 AM
TexasTX8:00 PM3:00 PM2:00 PM
OklahomaOK9:00 PM4:00 PM3:00 PM
New MexicoNM10:00 PM5:00 PM4:00 PM
CaliforniaCA11:00 PM6:00 PM5:00 PM
North DakotaND12:00 AM7:00 PM6:00 PM
ColoradoCO1:00 AM8:00 PM7:00 PM
LouisianaLA2:00 AM9:00 PM8:00 PM

Weekly Updates

StateCodeDayUTCEasternCentral
PennsylvaniaPASun4:00 AM11:00 PM Sat10:00 PM Sat
West VirginiaWVMon7:00 AM2:00 AM1:00 AM
ArkansasARMon9:00 AM4:00 AM3:00 AM
KentuckyKYMon10:00 AM5:00 AM4:00 AM
IllinoisILMon3:00 PM10:00 AM9:00 AM
VirginiaVAMon4:00 PM11:00 AM10:00 AM
FloridaFLTue8:00 AM3:00 AM2:00 AM
UtahUTTue11:00 AM6:00 AM5:00 AM
WyomingWYWed6:00 AM1:00 AM12:00 AM
MichiganMIWed9:00 AM4:00 AM3:00 AM
MontanaMTWed12:00 PM7:00 AM6:00 AM
IndianaINThu10:00 AM5:00 AM4:00 AM
OhioOHSat5:00 AM12:00 AM11:00 PM Fri

Endpoints

MethodEndpointDescription
GET/v1/ei/well-permitsList paginated permits
GET/v1/ei/well-permits/latestRecent permits (default: 7 days)
GET/v1/ei/well-permits/by-stateFilter by state
GET/v1/ei/well-permits/by-operatorFilter by operator name
GET/v1/ei/well-permits/by-formationFilter by target formation
GET/v1/ei/well-permits/searchGeographic/text search
GET/v1/ei/well-permits/summaryActivity summary stats
GET/v1/ei/well-permits/:api_numberSingle permit by API number

List Permits

GET /v1/ei/well-permits

Parameters

ParameterTypeDefaultDescription
pageinteger1Page number
per_pageinteger25Results per page (max 100)
statesstringallComma-separated: TX,OK,NM
start_datedatenoneFilter from date
end_datedatenoneFilter to date

Response

{
  "success": true,
  "well_permits": [
    {
      "api_number": "42-003-12345-00-00",
      "state_code": "TX",
      "county": "Midland",
      "permit_number": "849367",
      "permit_type": "new_drill",
      "permit_status": "approved",
      "permit_date": "2025-12-30",
      "operator": {
        "name": "ConocoPhillips Company",
        "name_normalized": "conocophillips",
        "number": "123456"
      },
      "well": {
        "name": "UNIVERSITY 42-3 #1H",
        "number": "1H",
        "type": "oil"
      },
      "location": {
        "latitude": 31.9686,
        "longitude": -102.0779
      },
      "target": {
        "formation": "Wolfcamp",
        "formation_normalized": "WOLFCAMP",
        "total_depth_proposed": 12500
      },
      "provenance": {
        "source": "texas_rrc",
        "fetched_at": "2025-12-30T14:25:00Z"
      }
    }
  ],
  "meta": {
    "total_count": 1250,
    "page": 1,
    "per_page": 25,
    "total_pages": 50
  }
}

Latest Permits

Get the most recent permits across states.

GET /v1/ei/well-permits/latest

Parameters

ParameterTypeDefaultDescription
daysinteger7Lookback period (1-90)
statesstringallComma-separated: TX,OK,NM
per_pageinteger25Max results (1-100)

Response

{
  "success": true,
  "well_permits": [...],
  "meta": {
    "days": 7,
    "states": ["TX", "OK", "NM"],
    "count": 25,
    "as_of": "2025-12-31T12:00:00Z",
    "data_quality": {
      "TX": {
        "date_coverage": "full",
        "source": "Texas Railroad Commission"
      },
      "OK": {
        "date_coverage": "full",
        "source": "Oklahoma Corporation Commission"
      },
      "NM": {
        "date_coverage": "partial",
        "source": "New Mexico Oil Conservation Division",
        "note": "Historical data before 2020 may have gaps"
      }
    }
  }
}

Data Quality Tiers

The data_quality field provides transparency about data completeness per state:

CoverageDescription
full100% of permits have dates, high confidence
partial50-99% date coverage, some gaps in historical data
limited<50% date coverage, source limitations

By State

Filter permits by a specific state.

GET /v1/ei/well-permits/by-state

Parameters

ParameterTypeRequiredDescription
statestringYesState code: TX, OK, or NM
start_datedateNoFilter from date
end_datedateNoFilter to date
pageintegerNoPage number
per_pageintegerNoResults per page (max 100)

Response

{
  "success": true,
  "well_permits": [...],
  "state": "TX",
  "meta": {
    "total_count": 850,
    "page": 1,
    "per_page": 25,
    "total_pages": 34
  }
}

By Operator

Search permits by operator name (fuzzy matching).

GET /v1/ei/well-permits/by-operator

Parameters

ParameterTypeRequiredDescription
operatorstringYesOperator name (partial match)
statesstringNoFilter by states
start_datedateNoFilter from date
end_datedateNoFilter to date

Example

GET /v1/ei/well-permits/by-operator?operator=ConocoPhillips

Response

{
  "success": true,
  "well_permits": [...],
  "operator_query": "ConocoPhillips",
  "meta": {
    "total_count": 47,
    "page": 1,
    "per_page": 25,
    "total_pages": 2
  }
}

By Formation

Search permits by target formation.

GET /v1/ei/well-permits/by-formation

Parameters

ParameterTypeRequiredDescription
formationstringYesFormation name (partial match)
statesstringNoFilter by states
start_datedateNoFilter from date
end_datedateNoFilter to date

Common Formations

BasinFormations
PermianWolfcamp, Bone Spring, Spraberry, Delaware
AnadarkoWoodford, Springer, Meramec, SCOOP, STACK
Eagle FordEagle Ford, Austin Chalk
BakkenBakken, Three Forks

Response

{
  "success": true,
  "well_permits": [...],
  "formation_query": "Wolfcamp",
  "meta": {
    "total_count": 312,
    "page": 1,
    "per_page": 25,
    "total_pages": 13
  }
}

Geographic Search

Search permits by location and other criteria.

GET /v1/ei/well-permits/search

Parameters

ParameterTypeRequiredDescription
latitudefloatNoCenter latitude
longitudefloatNoCenter longitude
radius_milesfloatNoSearch radius (1-100, default: 10)
countystringNoCounty name (partial match)
well_namestringNoWell name (partial match)
permit_typestringNoType: new_drill, recomplete, reenter
well_typestringNoType: oil, gas, injection
statesstringNoFilter by states

Example: Permian Basin Search

GET /v1/ei/well-permits/search?latitude=31.97&longitude=-102.08&radius_miles=25

Response

{
  "success": true,
  "well_permits": [...],
  "meta": {
    "total_count": 89,
    "page": 1,
    "per_page": 25,
    "total_pages": 4
  }
}

Summary Statistics

Get aggregate permit activity stats.

GET /v1/ei/well-permits/summary

Parameters

ParameterTypeDefaultDescription
daysinteger30Analysis period (1-365)

Response

{
  "success": true,
  "period_days": 30,
  "total_permits": 1847,
  "by_state": {
    "TX": 1102,
    "OK": 423,
    "NM": 322
  },
  "top_operators": [
    { "name": "conocophillips", "count": 89 },
    { "name": "eog resources", "count": 76 },
    { "name": "pioneer natural", "count": 68 }
  ],
  "top_formations": [
    { "name": "WOLFCAMP", "count": 412 },
    { "name": "BONE_SPRING", "count": 287 },
    { "name": "SPRABERRY", "count": 198 }
  ],
  "by_permit_type": {
    "new_drill": 1623,
    "recomplete": 156,
    "reenter": 68
  },
  "weekly_trend": [
    { "week": "2025-12-02", "count": 387 },
    { "week": "2025-12-09", "count": 412 },
    { "week": "2025-12-16", "count": 398 },
    { "week": "2025-12-23", "count": 340 },
    { "week": "2025-12-30", "count": 310 }
  ],
  "last_updated": "2025-12-31T06:00:00Z"
}

Single Permit

Get detailed information for a specific permit by API number.

GET /v1/ei/well-permits/:api_number

Response

{
  "success": true,
  "well_permit": {
    "api_number": "42-003-12345-00-00",
    "api_number_raw": "42003123450000",
    "state_code": "TX",
    "county": "Midland",
    "permit_number": "849367",
    "permit_type": "new_drill",
    "permit_status": "approved",
    "permit_date": "2025-12-30",
    "approval_date": "2025-12-30",
    "spud_date": null,
    "operator": {
      "name": "ConocoPhillips Company",
      "name_normalized": "conocophillips",
      "number": "123456"
    },
    "well": {
      "name": "UNIVERSITY 42-3 #1H",
      "number": "1H",
      "type": "oil"
    },
    "location": {
      "latitude": 31.9686,
      "longitude": -102.0779
    },
    "legal_description": {
      "section": "42",
      "township": "3S",
      "range": "37E",
      "abstract": "A-1234",
      "survey": "University Lands",
      "block": "42"
    },
    "target": {
      "formation": "Wolfcamp",
      "formation_normalized": "WOLFCAMP",
      "total_depth_proposed": 12500
    },
    "lease_name": "UNIVERSITY 42-3",
    "uwi": null,
    "validation": {
      "status": "validated",
      "errors": {}
    },
    "provenance": {
      "source": "texas_rrc",
      "source_url": "https://www.rrc.texas.gov/...",
      "fetched_at": "2025-12-30T14:25:00Z",
      "data_as_of": "2025-12-30"
    },
    "metadata": {},
    "created_at": "2025-12-30T14:30:00Z",
    "updated_at": "2025-12-30T14:30:00Z"
  }
}

API Number Format

Well permits use standardized 14-digit API numbers:

SS-CCC-WWWWW-SS-EE
ComponentDescriptionExample
SSFIPS state code42 (Texas)
CCCFIPS county code003 (Andrews)
WWWWWWell number12345
SSSidetrack code00
EEEvent sequence00

State Codes (FIPS):

StateCodeStateCode
Texas42Pennsylvania42
Oklahoma35Ohio39
New Mexico30Wyoming56
California06West Virginia54
North Dakota38Montana30
Colorado08Utah49
Louisiana22Arkansas05
Alaska02Kansas20
Florida12Mississippi28
Indiana18Nebraska31
Kentucky21New York36
Tennessee47Michigan26
Virginia51Illinois17
Alabama01

Webhooks

Subscribe to real-time permit notifications via webhooks.

Events

EventDescription
drilling.well_permit.newNew permit filed
drilling.well_permits.batchBatch of permits (daily)

Webhook Payload

{
  "id": "evt_abc123",
  "event": "drilling.well_permit.new",
  "created_at": "2025-12-31T14:30:00Z",
  "data": {
    "api_number": "42-003-12345-00-00",
    "state_code": "TX",
    "county": "Midland",
    "permit_type": "new_drill",
    "permit_status": "approved",
    "permit_date": "2025-12-31",
    "operator": {
      "name": "ConocoPhillips Company",
      "name_raw": "CONOCOPHILLIPS CO"
    },
    "well": {
      "name": "UNIVERSITY 42-3 #1H",
      "type": "oil"
    },
    "location": {
      "latitude": 31.9686,
      "longitude": -102.0779
    },
    "target": {
      "formation": "Wolfcamp",
      "total_depth_proposed": 12500
    },
    "provenance": {
      "source": "texas_rrc",
      "fetched_at": "2025-12-31T14:25:00Z"
    }
  }
}

See Webhooks for setup and signature verification.

Code Examples

Python

import requests

api_key = "YOUR_API_KEY"
headers = {"Authorization": f"Token {api_key}"}
base_url = "https://api.oilpriceapi.com/v1/ei"

# Get latest Texas permits
response = requests.get(
    f"{base_url}/well-permits/latest",
    headers=headers,
    params={"states": "TX", "days": 7}
)
data = response.json()

for permit in data["well_permits"]:
    print(f"{permit['api_number']}: {permit['operator']['name']} - {permit['well']['name']}")

JavaScript

const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://api.oilpriceapi.com/v1/ei';

// Get Wolfcamp permits in the Permian
const response = await fetch(
  `${BASE_URL}/well-permits/by-formation?formation=Wolfcamp&states=TX,NM`,
  { headers: { 'Authorization': `Token ${API_KEY}` } }
);
const data = await response.json();

console.log(`Found ${data.meta.total_count} Wolfcamp permits`);
data.well_permits.forEach(permit => {
  console.log(`${permit.operator.name}: ${permit.well.name}`);
});

cURL

# Get summary statistics for past 30 days
curl -H "Authorization: Token YOUR_API_KEY" \
  "https://api.oilpriceapi.com/v1/ei/well-permits/summary?days=30"

Data Quality

Normalization

  • API Numbers: Standardized to 14-digit format
  • Operator Names: Fuzzy-matched to parent companies
  • Formations: Mapped to standard codes (e.g., "WOLF CAMP A" -> "WOLFCAMP")

Provenance

Every record includes:

  • source: State agency (texas_rrc, oklahoma_occ, new_mexico_ocd)
  • source_url: Direct link to source document
  • fetched_at: When OilPriceAPI retrieved the data
  • data_as_of: State's publication date

Latency

StateSource TypeTypical Latency
TexasBulk file< 24 hours
OklahomaExcel export< 24 hours
New MexicoREST API< 12 hours

Why Well Permits Matter

  • Leading Indicator: Permits precede drilling by 30-90 days
  • Operator Activity: Track company capital deployment
  • Basin Intelligence: Monitor formation and geographic trends
  • M&A Signals: Identify hot spots before public announcements

Related

  • Rig Counts - Baker Hughes weekly data
  • Drilling Productivity - DUC wells and productivity
  • Forecasts - EIA STEO production outlook
Last Updated: 2/3/26, 1:27 AM
Prev
Rig Counts
Next
Oil Inventories