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

Record type 02 of the wellbore database. One row per completion identifier a wellbore carries: the oil lease number and well number, or the gas district and gas well number, plus the flags that say whether the completion is active, downhole-commingled or covered by a Rule 37 exception.

This is the bridge between a physical wellbore and the lease-level world that production reporting lives in.

What you can do with it

Turn an API number into the lease numbers its production is reported under, which is the only way to connect a well to the PDQ production data.

Find wells with multiple completions, and separate active completions from inactive ones.

Gotchas

A wellbore can have many completion records, so joining this to the root wellbore row multiplies rows. Oil completions carry a lease number and gas completions carry a gas well number; the same wellbore can have both.

Texas writes the API number four different ways across these files and none of them says so. The permit and wellbore files write it dashed as 42-XXX-XXXXX; the completion file fuses it to eight digits (county then unique, no state prefix); the wellbore file also carries the two halves separately as api_county and api_unique; and the UIC file stores only the five-digit unique with the county in its own column. Normalise before you join anything.

Record layout

19 columns. Byte positions are 1-based and come from the RRC record layout, so you can check our decoding against the original file yourself.

wb_completions 19 columns

# Column Type Bytes RRC name Meaning Lookup
1 api_county key join text The three-digit county component of the API number. For offshore wells this is the nearest onshore county, not the well's actual location.
2 api_unique key join text The five-digit well component of the API number. Unique only in combination with the county code.
3 row_no key smallint Sequence number of this row within its parent record. Part of the key.
4 oil_code text 3 WB-OIL-CODE 'O' when the completion sits on the oil proration schedule. Oil or gas schedule
5 oil_district text 4-5 WB-OIL-DISTRICT District of the oil lease.
6 oil_lse_nbr join text 6-10 WB-OIL-LSE-NBR Oil lease number.
7 oil_well_nbr text 11-16 WB-OIL-WELL-NBR Well number on the oil lease.
8 gas_dist text 17-18 WB-GAS-DIST District of the gas well ID.
9 gas_well_no join text 19-24 WB-GAS-WELL-NO Gas well ID number.
10 multi_well_rec_nbr text 25 WB-MULTI-WELL-REC-NBR Multi-well record number, for wells with several completions.
11 api_suffix text 26-27 WB-API-SUFFIX Two-digit API suffix identifying a sidetrack.
12 active_inactive_code text 46 WB-ACTIVE-INACTIVE-CODE Whether this completion is currently active.
13 created_from_pi_flag text 122 WB-CREATED-FROM-PI-FLAG Y when the record was created from the old P-I tape rather than a filing.
14 rule_37_nbr text 123-129 WB-RULE-37-NBR Statewide Rule 37 (spacing exception) case number, if any.
15 p15_flag text 156 WB-P15-FLAG Y when a Form P-15 productivity statement is on file.
16 p12_flag text 157 WB-P12-FLAG Y when a Form P-12 pooling authority is on file.
17 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.
18 dwn_hole_commingle_code text 87 WB-DWN-HOLE-COMMINGLE-CODE Downhole commingling authority code.
19 plug_date_pointer text 158-165 WB-PLUG-DATE-POINTER CCYYMMDD pointer to the plugging record for this completion.

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.

Oil or gas schedule 2 values

Read by oil_code

Which schedule a lease is carried on. This is not decoration: an oil lease number and a gas lease number can be the same digits and mean different leases, so a lease key is only unique with this code and the district in it.

CodeMeans
O Oil Carried on the oil proration schedule; lease numbers are oil lease numbers.
G Gas Carried on the gas proration schedule; lease numbers are gas well IDs.

Source: PDQ Dump user manual; values confirmed as the complete distinct set in texas.pdq_og_lease_cycle.oil_gas_code

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.

Wellbore Completion Records joins to Full Wellbore Database (ASCII) on API county and API unique — many rows here share a single row there.

the lease and well identifiers it is completed under

One row per completion identifier on the wellbore. A well with an oil completion and a gas completion has two. Keyed on the API county and unique number, which is how every record type in WBA091 hangs off its root record.

full-wellbore-ascii.api_county = wellbore-completions.api_county AND full-wellbore-ascii.api_unique = wellbore-completions.api_unique

Where this comes from

Published by
Texas Railroad Commission — the original page
Original format
Fixed-width Columns are byte ranges with no separators, described only in a scanned record layout.
Update cadence
Updated once a week (Weekly, with the wellbore database.)
RRC download link
GoAnywhere MFT
Record layout manual
Our table
texas.wb_completions

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.