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 06. One row per perforated interval: from-depth, to-depth and whether the interval is open hole rather than perforated casing.

It is the most direct statement in the public record of where in the rock a well is actually producing from.

What you can do with it

Determine the completed interval of any well, measure gross completed thickness, and identify wells completed in more than one interval.

Gotchas

Depths are measured depth. In a horizontal well the perforated interval is along the lateral, so a 10,000 ft interval is length, not depth.

An open-hole completion is flagged rather than perforated, and its interval means something different.

Record layout

7 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_perforations 7 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 perf_count key smallint 3-5 WB-PERF-COUNT Sequence of this perforated interval within the bore.
4 from_perf integer measured in ft 6-10 WB-FROM-PERF Top of the perforated interval, feet.
5 to_perf integer measured in ft 11-15 WB-TO-PERF Bottom of the perforated interval, feet.
6 open_hole_code text 16-17 WB-OPEN-HOLE-CODE 'OH' when the interval is open hole rather than perforated casing. Open hole indicator
7 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.

Open hole indicator 1 value

Read by open_hole_code

Marks a producing interval that is open hole rather than perforated casing.

CodeMeans
OH Open hole The interval is completed open hole.

Source: RRC manual WBA091, WBPERF record, WB-OPEN-HOLE-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 Perforation Records joins to Full Wellbore Database (ASCII) on API county and API unique — many rows here share a single row there.

its perforated intervals

One row per perforated or open-hole interval the well produces through. 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-perforations.api_county AND full-wellbore-ascii.api_unique = wellbore-perforations.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_perforations

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.