Get the data

Free. You will be asked to confirm an email address before the files are built — that is the only gate, and it is there so we can tell you when a large export is ready.

Preview the first 100 rows

What this is

Permit applications in flight: every row is a wellbore on an application the Commission has not approved yet, with the surface location the applicant gave, the nearest town, the county, the district and the operator.

RRC writes each extract as eleven }-delimited files with a header row, all carrying the same yyyymmddhhmmss stamp. What is parsed here is file 2, dp_wellbore_pending — the one that carries the coordinates. The other ten (the application itself, the permitted fields, the restrictions, the SWR resolutions, the mailing addresses, the wellbore profiles, the PERP records and the lat/long detail) are not archived upstream yet; they tie to this one on universal_doc_no, and RRC's own folder is linked below.

The extracts are kept rather than replaced, because an application appears in successive extracts and then simply stops appearing when it is approved. Every row carries the extract it came from, so the newest extract is what is pending right now and the series is how you watch an application move.

What you can do with it

See intent before approval — who is filing where, days or weeks before the permit appears in the approved file.

Take the newest extract_ts for a snapshot of what is pending today, or compare two extracts to see what was filed, what was approved and what was withdrawn in between.

Map the proposed surface holes: 171 of the 258 rows carry decimal latitude and longitude, and all 171 fall inside Texas.

Resolve the operator — every one of the 258 rows matches the P-5 directory — and, where an API has already been assigned, the existing wellbore.

Gotchas

A pending application is not a permit. Some are withdrawn, some are denied, and the same well appears more than once as an operator amends its filing.

This is a SERIES, not a snapshot. Querying the whole table gives you every extract we hold at once — 258 rows over 15 extracts as of 2026-08-21 — and the same application appears in each extract it was pending for. Filter on extract_ts, or take its maximum, or you will count applications several times.

We started keeping extracts on 2026-08-02, so there is no history before that, and the run is not unbroken: nothing was archived for 2026-08-16, 17 or 18. An extract can also legitimately be empty — 2026-08-08 held a header row and nothing else, because nothing was pending that Saturday evening — and one held a single record. A small extract is not a truncated one.

RRC publishes twice a day, at 11:30 and 17:30, but every extract in the archive carries a 17:08 stamp: only the evening one is being fetched, so our copy in fact gains one extract a day. That is what the mirror cadence on this page says.

87 of the 258 rows have no latitude or longitude at all. Those applications were filed in State Plane coordinates, which arrive in state_plane_x and state_plane_y and are not converted. A spatial export cannot carry those rows.

Coordinates arrive in whichever form the applicant typed. lat_degrees holds decimal degrees on some rows and the degrees of a degrees/minutes/seconds triple on others; the loader composes both into `latitude` and `longitude`, and the six *_s columns keep the strings exactly as the file wrote them. latlong_type_code is the DATUM — NAD27, NAD83 or WGS84 — not the form, and it is NAD27 on 174 of 258 rows: taking the whole column as WGS84 is worth about 200 metres in West Texas.

api_sequence_number is null on 154 of the 258 rows. An application that has not been assigned an API number yet does not have one; where it is present, all 104 resolve to a wellbore.

Several columns are empty in every extract held so far — location_description, offshore_county_code, horiz_wellbore_type_code, and gw1_flag, which RRC's own file definition calls unused. surface_location_code is 'L' in all 258.

Record layout

45 columns.

dp_wellbore_pending 45 columns

Record layout for dp_wellbore_pending — 45 columns
# Column Type RRC name Meaning Lookup
1 latlong_type_code text LATLONG_TYPE_CODE The DATUM the applicant's coordinates were surveyed on — 1 NAD27, 2 NAD83, 3 WGS84 — not the form they are written in. NAD27 on 174 of the 258 rows held, so treating the column as WGS84 is worth about 200 metres in West Texas. e.g. 2 Coordinate datum code
2 lat_degrees numeric LAT_DEGREES Latitude as the applicant typed it: decimal degrees on some rows (32.4716, minutes and seconds blank) and the degrees of a degrees/minutes/seconds triple on others. Use `latitude` unless you need the original. e.g. 31.000000
3 lat_minutes numeric LAT_MINUTES Minutes of latitude, when the applicant filed a degrees/minutes/seconds triple. e.g. 44.0000
4 lat_seconds numeric LAT_SECONDS Seconds of latitude, when the applicant filed a degrees/minutes/seconds triple. e.g. 21.9800
5 long_degrees numeric LONG_DEGREES Longitude in whichever form the applicant typed, matching lat_degrees.
6 long_minutes numeric LONG_MINUTES Minutes of longitude, when filed as a triple.
7 long_seconds numeric LONG_SECONDS Seconds of longitude, when filed as a triple.
8 state_plane_zone_code text STATE_PLANE_ZONE_CODE Texas State Plane zone, 1 North through 5 South, on the applications filed in State Plane rather than latitude/longitude.
9 state_plane_x numeric measured in ft STATE_PLANE_X State Plane easting. Filled on the 87 rows that carry no latitude/longitude at all; not converted, so those rows cannot be mapped from this table.
10 gw1_flag text GW1_FLAG Not used, says RRC's own file definition. 'N' in every row held.
11 lat_degrees_s text LAT_DEGREES_S The latitude degrees exactly as the character string in the file, before any parsing.
12 lat_minutes_s text LAT_MINUTES_S The latitude minutes as the character string in the file.
13 lat_seconds_s text LAT_SECONDS_S The latitude seconds as the character string in the file.
14 long_degrees_s text LONG_DEGREES_S The longitude degrees as the character string in the file.
15 long_minutes_s text LONG_MINUTES_S The longitude minutes as the character string in the file.
16 long_seconds_s text LONG_SECONDS_S The longitude seconds as the character string in the file.
17 api_sequence_number join text API_SEQUENCE_NUMBER The eight-digit API number — county code then unique number, no state prefix. NULL on 154 of the 258 rows: an application that has not been assigned one yet does not have one. Where present, all 104 resolve to a wellbore.
18 directions text DIRECTIONS Compass direction from the nearest town, up to four characters. e.g. S
19 modified_by text MODIFIED_BY The RRC user or process that last changed the row in the pending system.
20 nearest_town_distance numeric measured in mi NEAREST_TOWN_DISTANCE Distance from the nearest town, in miles, to two decimal places. e.g. 20.00
21 nearest_town text NEAREST_TOWN Name of the nearest town, up to sixty characters. e.g. Midland
22 modified_dt date MODIFIED_DT Date the row was last changed in RRC's system. DD-MON-YY in the file (11-AUG-26).
23 api_linked_flag text API_LINKED_FLAG 'Y' when the application has already been linked to an existing API number.
24 location_description text LOCATION_DESCRIPTION Free-text description of the location. Empty in every extract held so far.
25 county_code join text COUNTY_CODE Three-digit county code of the proposed surface location. e.g. 307 Texas county code
26 surface_location_code text SURFACE_LOCATION_CODE Where the surface hole is: L land, O offshore, I inland waterway, B bay or estuary. 'L' in all 258 rows held. e.g. L
27 wellbore_id join bigint WELLBORE_ID RRC's internal identifier for the proposed wellbore. e.g. 1109271
28 offshore_county_code text OFFSHORE_COUNTY_CODE The offshore county code when the surface location is offshore. Empty in every extract held so far, consistent with every row being on land.
29 universal_doc_no join bigint UNIVERSAL_DOC_NO RRC's key for the pending application. It is what ties this file to the other ten in the same extract, and what identifies an application across successive extracts. e.g. 499388233
30 horiz_wellbore_type_code text HORIZ_WELLBORE_TYPE_CODE 1 production sharing agreement, 2 allocation, 3 stacked lateral. Empty in every extract held so far — the three boolean flags below carry the same facts.
31 stacked_lat_status_no text STACKED_LAT_STATUS_NO The parent permit number when this is a stacked lateral. Filled on 14 of the 258 rows.
32 psa_flag text PSA_FLAG 'Y' when the application is for a production sharing agreement well.
33 allocation_flag text ALLOCATION_FLAG 'Y' when the application is for an allocation well. 108 of the 258 rows.
34 stacked_lateral_flag text STACKED_LATERAL_FLAG 'Y' when the application is for a stacked lateral.
35 state_plane_y numeric measured in ft STATE_PLANE_Y State Plane northing, on the applications filed in State Plane coordinates.
36 operator_name text OPERATOR_NAME Operator name on the application, up to eighty characters. e.g. CHEVRON U. S. A. INC.
37 operator_number join text OPERATOR_NUMBER The operator's six-digit P-5 number, zero-padded as text. All 258 rows resolve to texas.operators. e.g. 148113
38 operator_phone text OPERATOR_PHONE Operator telephone number as filed.
39 district join text DISTRICT RRC district as the industry prints it — 01-06, 6E, 7B, 7C, 08, 8A, 09, 10. Unlike the daf802 tables, this file writes the printed code rather than the internal number. e.g. 7C RRC district (printed designation)
40 latitude numeric measured in deg Decimal latitude, composed by the loader from whichever form the applicant filed. NULL on the 87 State Plane rows. All 171 populated points fall inside Texas. e.g. 31.739439
41 longitude numeric measured in deg Decimal longitude, negative for west, composed from whichever form the applicant filed. NULL on the 87 State Plane rows. e.g. -101.936372
42 extract_ts key timestamp The yyyymmddhhmmss stamp in the file name of the extract this row came from. This is what makes the table a series: an application appears in every extract it was pending for, so filter on this or take its maximum before counting anything. e.g. 2026-08-20 17:08:05
43 source_file text Name of the extract file this row was read from.
44 row_seq key integer 1-based position of this row within its extract. With extract_ts it is the key.
45 ingested_at timestamptz When the upstream pipeline last wrote this row. Not an RRC field — it is EZRRC's provenance stamp, and it is what the freshness badge is measured against.

Code lookups used here

Every coded column in this dataset resolves to a real lookup table, so a well code of G can be read as what it actually means.

Texas county code 277 values

Read by county_code

The three-digit county code RRC uses, which is also the county's FIPS code. `canonical_value` carries the full five-digit state plus county FIPS, so a county joins straight to Census geography. There are 254 Texas counties and 277 codes; the extras are offshore areas and administrative entries.

See all 277 codes

Source: Generated from texas.pdq_gp_county

RRC district (printed designation) 14 values

Read by district

The district as the Railroad Commission prints it: 01-06, 6E, 7B, 7C, 08, 8A, 09 and 10, plus 20 for statewide. This is what appears on permits, completions, ST-1 filings and inspection reports. It is not interchangeable with the internal district number. A column holding '11' means District 8A under the internal numbering and nothing at all under this one.

RRC district (printed designation) — 14 codes and their meanings
CodeMeans
01 District 01 — San Antonio RRC District 01, administered from the San Antonio district office.
02 District 02 — San Antonio RRC District 02, administered from the San Antonio district office.
03 District 03 — Houston RRC District 03, administered from the Houston district office.
04 District 04 — Corpus Christi RRC District 04, administered from the Corpus Christi district office.
05 District 05 — Kilgore RRC District 05, administered from the Kilgore district office.
06 District 06 — Kilgore RRC District 06, administered from the Kilgore district office.
6E District 6E — Kilgore RRC District 6E, administered from the Kilgore district office.
7B District 7B — Abilene RRC District 7B, administered from the Abilene district office.
7C District 7C — San Angelo RRC District 7C, administered from the San Angelo district office.
08 District 08 — Midland RRC District 08, administered from the Midland district office.
8A District 8A — Midland RRC District 8A, administered from the Midland district office.
09 District 09 — Wichita Falls RRC District 09, administered from the Wichita Falls district office.
10 District 10 — Pampa RRC District 10, administered from the Pampa district office.
20 District 20 — State Wide RRC District 20, administered from the State Wide district office.

Source: Generated from texas.pdq_gp_district.district_name

Coordinate datum code 3 values

Read by latlong_type_code

Which datum the coordinates on a completion packet were surveyed on. Ignoring this is worth up to about 200 metres of error in West Texas. The pipeline that loads this data resolves the code on the way in, so the warehouse column holds the text below rather than the raw RRC code. Both are recorded here so the original filing can be read either way.

Coordinate datum code — 3 codes and their meanings
CodeMeans
1 NAD27 North American Datum 1927 (EPSG:4267).
2 NAD83 North American Datum 1983 (EPSG:4269).
3 WGS84 World Geodetic System 1984 (EPSG:4326).

Source: OilGasDataProcessing process_completions.packetData, inline lat_lon_code map (CMPL packet field 44)

What this joins to

The Railroad Commission never states these keys anywhere in the files. They are the reason the data is hard to use, so here they are with the exact columns on both sides.

Drilling Permits Pending Approval (with latitudes and longitudes) joins to P-5 Organization (ASCII) on Operator number = ID — many rows here share a single row there.

was filed by

The operator on a pending application, resolved to the P-5 directory — which is how you find out whether the company doing the filing is in good standing, before the permit is granted. All 258 rows across the fifteen extracts held resolve. These two columns are different types — one is text, the other an integer — so a direct equality is rejected by Postgres. Cast the text side to integer, which also disposes of any leading zeros; casting the integer to text would not, because '000123' and 123 are not equal as text.

drilling-permits-pending.operator_number = p5-organization-ascii.id

Drilling Permits Pending Approval (with latitudes and longitudes) joins to Completion Information in Data Format on API sequence number = API number — many rows here share a single row there.

proposes work on the completed well

Where a pending application already names an API number, the completion packet for that hole — which makes the application a re-entry, a deepening or an additional completion rather than a new well. Both files fuse the API to eight digits, county then unique, with no state prefix and no dashes, so they compare directly. 104 of the 258 rows carry an API number at all; 31 of those 104 have a completion packet. The 154 without an API are applications for wells that do not exist yet, so their absence is the answer rather than a miss. All 104 do resolve to the wellbore database, but that file keeps the API dashed or in halves and has no fused column to join against.

drilling-permits-pending.api_sequence_number = completion-information-data-format.api_no

Where this comes from

Published by
Texas Railroad Commission — the original page
Original format
Delimited Separated text, usually with an unusual delimiter such as a brace.
RRC publishes
Updated twice a day (Twice daily, 11:30 am and 5:30 pm.)
EZRRC re-ingests
Nightly The RRC republishes more often than we pull. For the very latest file, go to the RRC directly.
RRC download link
GoAnywhere MFT
Record layout manual
Our table
texas.dp_wellbore_pending

EZRRC is an independent mirror of public-domain data published by the Texas Railroad Commission. It is not affiliated with or endorsed by the RRC. For any legal or regulatory purpose, verify against the official RRC release.