---
title: "Preview recent drilling permits for one state"
method: GET
path: "/v1/ei/well-permits/preview"
tags: ["Drilling Intelligence"]
---

# Preview recent drilling permits for one state

`GET /v1/ei/well-permits/preview`

## Request

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

Bounded preview of real permit data that any API key can call,
including Free. It returns at most 25 permits from the trailing 90
days for one state, newest first. Pagination is not supported; the
row cap is the bound.

`meta` reports the data's freshness (`as_of`, `data_age_days`,
`stale`) and per-state date coverage. For full history, every state,
and operator, formation or geographic search, use
`/v1/ei/well-permits` with a Well Permits subscription.

## Query parameters

- `state` string
- `days` integer

## Response `200`

Up to 25 recent permits for the state

- 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
    - `preview` boolean, required
    - `meta` object, required
      - `state` string
      - `days` integer
      - `count` integer
      - `row_cap` integer
      - `bounded` boolean
      - `as_of` string, date, nullable
      - `data_age_days` integer, nullable
      - `stale` boolean
      - `as_of_basis` string
      - `data_quality` object: Date coverage and source, keyed by state code.
      - `upgrade` object
        - `message` string
        - `upgrade_url` string, uri

## Other responses

- `400`: The state is not one of the covered state codes.
- `401`: Missing or invalid API key.
- `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/preview/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)
