---
title: "List state drilling permits"
method: GET
path: "/v1/ei/well-permits"
tags: ["Drilling Intelligence", "Premium"]
---

# List state drilling permits

`GET /v1/ei/well-permits`

## Request

- Base URL: `https://api.oilpriceapi.com`
- URL: `https://api.oilpriceapi.com/v1/ei/well-permits`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1/docs/v1/ei/well-permits/get.ts> (a function with typed inputs; its response is checked against the schema)

Paginated drilling permits from state regulators, newest `permit_date`
first. Each row carries the permit, operator, well, location, target
and source provenance.

Requires a Well Permits subscription (an add-on or the Scale plan).
Free keys can use the bounded `/v1/ei/well-permits/preview` instead.

## Query parameters

- `states` string
- `start_date` string, date
- `end_date` string, date
- `page` integer
- `per_page` integer

## Response `200`

One page of well permits

- object
  - `status` string, required
  - `data` object, required
    - `well_permits` StateWellPermit[], required
      - `api_number` string
      - `state_code` string
      - `county` string, nullable
      - `permit_number` string, nullable
      - `permit_type` string, nullable
      - `permit_status` string, nullable
      - `permit_date` string, date, nullable
      - `operator` object
        - `name` string, nullable
        - `name_normalized` string, nullable
        - `number` string, nullable
      - `well` object
        - `name` string, nullable
        - `number` string, nullable
        - `type` string, nullable
      - `location` object: Decimal-degree coordinates as strings.
        - `latitude` string, nullable
        - `longitude` string, nullable
      - `target` object
        - `formation` string, nullable
        - `formation_normalized` string, nullable
        - `total_depth_proposed` integer, nullable
      - `provenance` object
        - `source` string
        - `fetched_at` string, date-time, nullable
    - `meta` object, required
      - `total_count` integer
      - `page` integer
      - `per_page` integer
      - `total_pages` integer

## Other responses

- `401`: Missing or invalid API key.
- `403`: The account has no Well Permits subscription. The body carries `upgrade_url` and `available_tiers`.
- `500`: Unexpected server error. Retry transient failures with bounded backoff and retain the request ID when contacting support.

## Changes

- **2026-11-10** `abcce0611b94`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1/changes/v1/ei/well-permits/get.md)

---

[API](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1.md) - [All operations](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1/revisions/abcce0611b94?raw)
