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

UIA010. Every saltwater disposal well, enhanced-recovery injector and storage well permitted under the Underground Injection Control programme, in 622-byte records across fourteen record types.

The inventory record carries the control number, the permit dates, the UIC class, the injection type, the approved injection interval, the maximum authorised surface pressure and daily volume, and a long list of what may be injected. Two child files hang off it — the monitoring requirements attached to the permit and the district office's remarks.

This is the dataset people ask for after an induced-seismicity story.

What you can do with it

Find every disposal well within an area, with its permitted daily volume and maximum pressure — the two numbers that matter for seismicity and for aquifer risk.

See what an operator is authorised to inject, from produced water to CO2 to fracture flowback, and check the monitoring the permit requires.

Join to the wellbore database on the county and unique API number to put every injector on a map with its depth and casing.

Gotchas

The API number here is only the five-digit unique component; the county is in its own column. Concatenate the two to get the eight-digit API the rest of the catalog uses.

dist is RRC's internal district number, not the printed designation.

Permitted volume and pressure are what the permit authorises, not what was injected. Actual injection is reported on Form H-10, which is not in this file.

The injectable-fluid flags are a wide row of single-character columns — saltwater, fresh water, frac water, CO2, gas, H2S, polymer, steam, air, nitrogen and more — each set independently.

Record layout

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

uic_inventory 73 columns

# Column Type Bytes RRC name Meaning Lookup
1 record_type text 1-2 UIC-RECORD-TYPE The two-byte record type from the original hierarchical file. Constant within a table; kept so a row can be traced back to its line in the source.
2 cntl_no key join text 3-11 UIC-CNTL-NO The UIC control number. Primary key here, and the join key for the monitoring and remark tables. e.g. 000119919
3 next_available text 12-20 UIC-NEXT-AVAILABLE This field contains the next available UIC control number when the UIC-CNTL-NO equals all zeros.
4 next_dummy_lease text 21-26 UIC-NEXT-DUMMY-LEASE Next available dummy lease number. A housekeeping field on the file's control record; it carries no meaning on a well record.
5 og_type text 12 UIC-OG-TYPE Whether the associated lease is on the oil or gas schedule. e.g. A
6 lease_id join text 13-18 UIC-LEASE-ID Lease identifier the injection well is on.
7 dist text 19-20 UIC-DIST RRC district. RRC district (internal number)
8 well_no text 21-26 UIC-WELL-NO Well number within the lease.
9 operator join text 27-32 UIC-OPERATOR Operator's six-digit P-5 number.
10 cnty_no join text 33-35 UIC-CNTY-NO County code — the first half of the API number. Texas county code
11 api_no join text 36-40 UIC-API-NO The five-digit unique part of the API number. Concatenate with cnty_no for a full API.
12 field_no join text 41-48 UIC-FIELD-NO The eight-digit RRC field number. The field's name is not in most files; join to the field directory to get it.
13 uic_class text 49 UIC-UIC-CLASS Underground Injection Control class of the well. e.g. 2 UIC well class
14 appr_date date 50-57 UIC-APPR-DATE Date the original UIC application was approved.
15 w14_date date 58-65 UIC-W14-DATE Date the most recent Form W-14 was issued, under Statewide Rule 9.
16 h1_date date 66-73 UIC-H1-DATE Date the most recent Form H-1 was issued.
17 letter_date date 74-81 UIC-LETTER-DATE Date of the permit letter.
18 permit_added_date date 82-89 UIC-PERMIT-ADDED-DATE Date the permit was added to the UIC system.
19 activated_flag text 90 UIC-ACTIVATED-FLAG Whether the permit is activated.
20 cancel_date date 91-98 UIC-CANCEL-DATE Date the permit was cancelled.
21 w2_g1_date date 99-106 UIC-W2-G1-DATE Date the completion report was filed for the well.
22 w3_date date 107-114 UIC-W3-DATE Date the Form W-3 plugging report was filed.
23 type_inj text 115 UIC-TYPE-INJ What is being injected and why. The vocabulary changed on 1 June 1995 — codes 4-7 mean different things before and after. UIC injection type (from 1995-06-01)
24 type_inj_cmt text 116-145 UIC-TYPE-INJ-CMT Free-text description used when the injection type is 'miscellaneous'.
25 type_flu_cmt text 146-175 UIC-TYPE-FLU-CMT Free-text description of the fluid or gas injected.
26 bbl_vol_inj bigint measured in bbl/d 176-184 UIC-BBL-VOL-INJ Maximum authorised liquid injection volume, barrels per day.
27 mcf_vol_inj bigint measured in MCF/d 185-193 UIC-MCF-VOL-INJ Maximum authorised gas injection volume, MCF per day.
28 top_inj_zone integer measured in ft 194-198 UIC-TOP-INJ-ZONE Top of the permitted injection interval, feet.
29 bot_inj_zone integer measured in ft 199-203 UIC-BOT-INJ-ZONE Bottom of the permitted injection interval, feet.
30 max_inj_pressure text measured in psi 204-208 UIC-MAX-INJ-PRESSURE Maximum authorised injection pressure, psi.
31 h1_no text 209-213 UIC-H1-NO Form H-1 permit number.
32 w14_no text 214-218 UIC-W14-NO Form W-14 permit number.
33 inj_sw text 219 UIC-INJ-SW Flag: saltwater is among the fluids authorised for injection.
34 inj_fw text 220 UIC-INJ-FW Flag: fresh water is among the fluids authorised for injection.
35 inj_frac_water text 221 UIC-INJ-FRAC-WATER Flag: frac flowback water is among the fluids authorised for injection.
36 inj_norm text 222 UIC-INJ-NORM Flag: naturally occurring radioactive material is involved.
37 inj_co2 text 223 UIC-INJ-CO2 Flag: carbon dioxide is among the fluids authorised for injection.
38 inj_gas text 224 UIC-INJ-GAS Flag: gas is among the fluids authorised for injection.
39 inj_h2s text 225 UIC-INJ-H2S Flag: hydrogen sulphide is among the fluids authorised for injection.
40 inj_polymer text 226 UIC-INJ-POLYMER Flag: polymer is among the fluids authorised for injection.
41 inj_steam text 227 UIC-INJ-STEAM Flag: steam is among the fluids authorised for injection.
42 inj_air text 228 UIC-INJ-AIR Flag: air is among the fluids authorised for injection.
43 inj_nitrogen text 229 UIC-INJ-NITROGEN Flag: nitrogen is among the fluids authorised for injection.
44 inj_other text 230 UIC-INJ-OTHER Flag: some other fluid is authorised; see the fluid comment.
45 inj_bw text 231 UIC-INJ-BW Flag: brackish water is among the fluids authorised for injection.
46 inj_lpg text 232 UIC-INJ-LPG Flag: liquefied petroleum gas is among the fluids authorised for injection.
47 max_inj_pressure_2 text measured in psi 233-237 UIC-MAX-INJ-PRESSURE-2 Second maximum authorised injection pressure, where two are permitted.
48 spec_ann_press_test text 238 UIC-SPEC-ANN-PRESS-TEST Special permit condition: an annual pressure test is required.
49 spec_rad_tracer_sur text 239 UIC-SPEC-RAD-TRACER-SUR Special permit condition: a radioactive tracer survey is required.
50 spec_ann_temp_survey text 240 UIC-SPEC-ANN-TEMP-SURVEY Special permit condition: an annual temperature survey is required.
51 spec_downhole_survey text 241 UIC-SPEC-DOWNHOLE-SURVEY Special permit condition: a downhole survey is required.
52 spec_semi_annual_pt text 242 UIC-SPEC-SEMI-ANNUAL-PT Special permit condition: a semi-annual pressure test is required.
53 spec_tbg_csg_annulus text 243 UIC-SPEC-TBG-CSG-ANNULUS Special permit condition: the tubing-casing annulus must be monitored.
54 spec_tbg_csg_freq text 244 UIC-SPEC-TBG-CSG-FREQ How often the tubing-casing annulus must be monitored.
55 spec_montr_press text 245 UIC-SPEC-MONTR-PRESS Special permit condition: pressure must be monitored.
56 spec_montr_press_code_1 text 246-247 UIC-SPEC-MONTR-PRESS-CODE-1 First pressure-monitoring requirement code.
57 spec_montr_press_code_2 text 248-249 UIC-SPEC-MONTR-PRESS-CODE-2 Second pressure-monitoring requirement code.
58 spec_montr_press_freq text 250 UIC-SPEC-MONTR-PRESS-FREQ How often pressure must be monitored.
59 spec_meas_fluid_level text 251 UIC-SPEC-MEAS-FLUID-LEVEL Special permit condition: fluid level must be measured.
60 spec_meas_fluid_freq text 252 UIC-SPEC-MEAS-FLUID-FREQ How often fluid level must be measured.
61 spec_commercial text 253 UIC-SPEC-COMMERCIAL Flag: the well is a commercial disposal well, taking third-party water.
62 spec_cement_sqz text 254 UIC-SPEC-CEMENT-SQZ Special permit condition: a cement squeeze is required.
63 location text 365-416 UIC-LOCATION Free-text location description.
64 survey_lines text 417-444 UIC-SURVEY-LINES Distances from survey lines.
65 status text 445 UIC-STATUS Whether the UIC form behind this record has been received and completed. UIC form status
66 geothermal text 446 UIC-GEOTHERMAL Whether the well is a geothermal well. Geothermal indicator
67 mismatch text 447 UIC-MISMATCH Flag set when the UIC record and the wellbore record disagree.
68 depth_boz integer measured in ft 448-452 UIC-DEPTH-BOZ Depth to the base of the injection zone, feet.
69 depth_pkr integer measured in ft 453-457 UIC-DEPTH-PKR Packer setting depth, feet.
70 inj_mode text 458 UIC-INJ-MODE Primary injection mode: C for casing, T for tubing.
71 docket_no_dist text 560-561 UIC-DOCKET-NO-DIST District of that docket.
72 docket_no text 562-568 UIC-DOCKET-NO Docket number associated with the permit.
73 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.

uic_monitoring 7 columns

# Column Type Bytes RRC name Meaning Lookup
1 cntl_no key join text The UIC control number this monitoring row belongs to.
2 monitor_date date 3-10 UIC-MONITOR-DATE Date of the monitoring event.
3 monitor_type text 11 UIC-MONITOR-TYPE What was monitored.
4 monitor_method text 12-41 UIC-MONITOR-METHOD How it was monitored.
5 monitor_result text 42-71 UIC-MONITOR-RESULT The result recorded.
6 row_no key integer Sequence number of this row within its parent record. Part of the key.
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.

uic_permit_remarks 4 columns

# Column Type Bytes RRC name Meaning Lookup
1 cntl_no key join text The UIC control number this remark belongs to.
2 remark_text text 3-72 UIC-REMARK-TEXT One line of free-text permit remark. Order by row number to rebuild it.
3 row_no key integer Sequence number of this row within its parent record. Part of the key.
4 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 cnty_no

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 (internal number) 14 values

Read by dist

RRC's internal sequential district numbering, 01 to 14 plus 20 for statewide. The production data, the UIC database and the high-cost gas certifications all use this. Internal 07 is District 6E, 08 is 7B, 09 is 7C, 10 is District 08, 11 is 8A, 13 is 09 and 14 is District 10. There is no internal 12.

CodeMeans
01 District 01 — San Antonio (internal 01) Internal district number 01, which RRC prints as District 01 and administers from San Antonio.
02 District 02 — San Antonio (internal 02) Internal district number 02, which RRC prints as District 02 and administers from San Antonio.
03 District 03 — Houston (internal 03) Internal district number 03, which RRC prints as District 03 and administers from Houston.
04 District 04 — Corpus Christi (internal 04) Internal district number 04, which RRC prints as District 04 and administers from Corpus Christi.
05 District 05 — Kilgore (internal 05) Internal district number 05, which RRC prints as District 05 and administers from Kilgore.
06 District 06 — Kilgore (internal 06) Internal district number 06, which RRC prints as District 06 and administers from Kilgore.
07 District 6E — Kilgore (internal 07) Internal district number 07, which RRC prints as District 6E and administers from Kilgore.
08 District 7B — Abilene (internal 08) Internal district number 08, which RRC prints as District 7B and administers from Abilene.
09 District 7C — San Angelo (internal 09) Internal district number 09, which RRC prints as District 7C and administers from San Angelo.
10 District 08 — Midland (internal 10) Internal district number 10, which RRC prints as District 08 and administers from Midland.
11 District 8A — Midland (internal 11) Internal district number 11, which RRC prints as District 8A and administers from Midland.
13 District 09 — Wichita Falls (internal 13) Internal district number 13, which RRC prints as District 09 and administers from Wichita Falls.
14 District 10 — Pampa (internal 14) Internal district number 14, which RRC prints as District 10 and administers from Pampa.
20 District 20 — State Wide (internal 20) Internal district number 20, which RRC prints as District 20 and administers from State Wide.

Source: Generated from texas.pdq_gp_district.district_no

UIC well class 2 values

Read by uic_class

Which Underground Injection Control class the permit falls under.

CodeMeans
2 Injection / disposal well Class II: oil and gas related injection and disposal.
5 Storage, geothermal or brine well Storage, geothermal or brine wells. Brine wells are held on a separate file.

Source: RRC manual UIA010, data-item note on UIC-CLASS

UIC form status 3 values

Read by status

Whether the UIC form behind the permit record has been received and completed.

CodeMeans
0 Not received The form has not been received.
I Incomplete The form is incomplete.
C Complete The form is complete.

Source: RRC manual UIA010, data-item note on UIC-STATUS

Geothermal indicator 2 values

Read by geothermal

Whether the UIC record describes a geothermal well.

CodeMeans
0 Not geothermal
G Geothermal

Source: RRC manual UIA010, data-item note on UIC-GEOTHERMAL

UIC injection type (from 1995-06-01) 7 values

Read by type_inj

What is being injected and why, under the vocabulary in force from 1 June 1995. UIA010 also documents a superseded list used until 31 May 1995, in which 4 meant hydrocarbon storage, 5 meant gas storage and 6 meant miscellaneous. Records that predate the change carry the old meanings, so this code is not safe to interpret without a date.

CodeMeans
1 Disposal into a nonproductive zone Permitted on Form W-14.
2 Disposal into a productive zone Permitted on Form H-1.
3 Secondary or tertiary recovery Enhanced recovery injection.
4 Miscellaneous types See the injection type comment.
5 R95 liquid storage — salt formation
6 R96 gas storage — reservoir
7 R97 gas storage — salt formation

Source: RRC manual UIA010, data-item note on UIC-TYPE-INJ, 'NEW TYPES AS OF 06/01/95'

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.

UIC Database (ASCII) joins to Full Wellbore Database (ASCII) on County number = API county and API number = API unique — many rows here share a single row there.

injects into the wellbore

The UIC file stores only the five-digit unique component of the API number, with the county in a separate column — exactly the two halves the wellbore database keys on. Joining them as a pair matches 748 of 866 permits; the rest carry a placeholder API. This is what puts a disposal well on a map with its depth, casing and plugging status.

uic-database-ascii.cnty_no = full-wellbore-ascii.api_county AND uic-database-ascii.api_no = full-wellbore-ascii.api_unique

UIC Database (ASCII) joins to UIC Monitoring Records on Cntl number — one row here matches many rows there.

requires the monitoring

The monitoring attached to a UIC permit, keyed on the control number.

uic-database-ascii.cntl_no = uic-monitoring-records.cntl_no

UIC Database (ASCII) joins to P-5 Organization (ASCII) on Operator = ID — many rows here share a single row there.

permitted to

The P-5 number of the organization authorised to inject, resolved to the operator directory.

uic-database-ascii.operator = p5-organization-ascii.id

UIC Database (ASCII) joins to UIC Permit Remarks on Cntl number — one row here matches many rows there.

carries the remarks

The district office's free-text remarks on the permit, keyed on the control number.

uic-database-ascii.cntl_no = uic-permit-remarks.cntl_no

UIC Database (ASCII) joins to PDQ Field Directory on Field number — many rows here share a single row there.

injects into the field

The permitted injection field, resolved to a field name.

uic-database-ascii.field_no = pdq-field-directory.field_no

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 month (Monthly. Available by the 3rd workday.)
RRC download link
GoAnywhere MFT
Record layout manual
Our table
texas.uic_inventory

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.