UIC Database (ASCII)
Queryable Fixed-width
Injection and disposal wells: permits, authorised pressure and volume, monitoring and enforcement.
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.
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.
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.
| Code | Means |
|---|---|
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.
| Code | Means |
|---|---|
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.
| Code | Means |
|---|---|
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.
| Code | Means |
|---|---|
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.
| Code | Means |
|---|---|
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.