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

The R-3 report: gas received, processed and delivered by each Texas gas processing plant. 6,260 approved filings over 1,449 plants in the twelve monthly releases published so far, with 413,160 rows of form lines behind them.

RRC replaced the EBCDIC R-3 extract with this JSON dataload on 2025-09-15. It is published on the Commission's R-3 page as one zip of JSON per month, named r3dataload- plus the month and year (r3dataload-july-2026.zip) — twelve of them, August 2025 to July 2026. Every zip is mirrored here byte for byte alongside the parsed tables.

The retired EBCDIC tape beside this one holds the same reporting up to August 2025, and the two join on the printed plant id: 6,119 of these 6,260 filings resolve to a plant on the tape. Together they are the R-3 from 1912 to now.

What you can do with it

Filter the filings by plant, district, county, reporting period or plant type, and export them with all six child tables: the seven single-row sections as (section, line, label, value) rows, the facilities behind the filing, and Sections VI, VIII, IX and X.

See where gas goes after the lease — which plants process it, how much, and what comes out. The section-line table is the one to reach for: it carries intake, disposition of unprocessed and residual gas, sulfur and CO2 recovery, liquid production and the barrel balance in one shape.

Gotchas

A month's file is the filings RRC APPROVED that month, not the filings FOR it. January 2026's zip carries 332 December 2025 reports, 50 January ones and singles reaching back to October 2023, so report_month and period_yyyymm are different columns and only period_yyyymm answers "what happened in December".

New as of 2025-09-15, so the series is short: twelve monthly releases and 1,449 distinct plants against the retired tape's 7,183. The tape holds the history.

The plant-type vocabulary CHANGED at the changeover. The tape writes one letter (C/G/O/P); the JSON writes five words and adds 'Gas Plant', which has no equivalent on the tape. Do not map them one to one.

Section lines are keyed by line NUMBER, not by the caption. RRC keys the JSON objects by the label printed on the form and one is already mis-spaced ('7. Carbon Black Plants -Casinghead'); the day it is fixed, a filter on the text stops matching and a filter on the number does not. line_no 0 means the label carried no number, which is how both of Section IV's lines and Section V's two totals are written.

The units in r3_report_line depend on the section: MCF in I, II and III, long tons and MCF in IV, barrels in V and VII. One column carries all of them, which is why the table declares no unit.

Latitude and longitude are as filed and are not all trustworthy. 19 rows sit outside Texas — two Reeves County plants are stamped 48.268 / -103.560, which is North Dakota — and others are rounded to a whole degree as a placeholder. That is why this dataset is not offered as a mapped layer.

r3_plant_id is empty in all 6,260 filings: the field is in RRC's schema and nobody has ever filled it. serial_number is the id that means something.

If you open the original zips yourself: two of the twelve are mislabelled INSIDE. r3dataload-july-2026.zip contains a member called 'R3dataload August 2026.json'. The zip's own name is the authority for which month it is.

Record layout

70 columns.

r3_report 19 columns

This is the table you get when you download or query R-3 Gas Processing Plants (JSON).

Record layout for r3_report — 19 columns
# Column Type RRC name Meaning Lookup
1 report_month key join integer The month RRC PUBLISHED the file this row came out of, as one YYYYMM integer, taken from the zip's name. It is not the month the filing reports on -- see `period_yyyymm` -- because a month's file holds the R-3s APPROVED that month, whose reporting periods scatter back years: 122 of the 6,260 filings report on a period more than a year before the file that carries them, and 7 report on a period after it. This is the column the loader replaces by, so it is also the column that says which release a row belongs to. e.g. 202607
2 report_r3_key key join text ReportR3Key RRC's ReportR3Key for the filing, unique within its publication month. The two columns together are the primary key; the key alone is not, because RRC restarts the numbering in each file. e.g. 47132
3 source_file text The zip this filing was read out of, e.g. 'r3dataload-july-2026.zip'. Kept because the month cannot be taken from the member INSIDE the zip: r3dataload-july-2026.zip contains a member called 'R3dataload August 2026.json', and two of the twelve releases are mislabelled that way. The zip's own name is the authority. e.g. r3dataload-july-2026.zip
4 view_profile_request_key text ViewProfileRequestKey RRC's online-form reference number for the filing. Effectively a row identifier -- 6,259 distinct values over 6,260 rows -- but not the key the file is organised by, and one pair collides, so it is not usable as one.
5 facility_key join text Facility Key RRC's internal facility identifier for the plant, stable across filings: 1,449 distinct keys over the 6,260 filings, exactly as many as there are distinct serial numbers. Use it to follow one plant through the twelve releases without parsing the printed id. e.g. 686131
6 serial_number join text Serial Number The plant id as RRC prints it -- '7C-0412' -- district designation, hyphen, four-digit serial. This is the SAME id the retired EBCDIC tape derives as `r3_plant.plant_id`, and the join between the two eras: 6,119 of these 6,260 filings resolve to a plant on the tape. Not unique within a month: 703 (month, serial) pairs carry more than one filing, because a plant can have several periods approved at once. e.g. 7C-0022
7 district_code join text The district designation split out of `serial_number` by EZRRC -- 01-06, 7B, 7C, 08, 8A, 09, 10. The printed spelling, not the internal number the retired tape keys on. `district_reported` beside it is what the filer selected, which agrees on all but a handful. e.g. 7C RRC district (printed designation)
8 serial_no join integer The four-digit serial split out of `serial_number` by EZRRC, as a whole number, so '7C-0412' is 412 here. Unique only with the district. e.g. 22
9 facility_name text Facility Name The plant's name as filed -- 'SOUTHWEST OZONA', 'MORBY DRIP'. The retired tape calls the same thing `plant_name`, and the two spellings do not always agree for one plant. e.g. SOUTHWEST OZONA
10 plant_type text Plant Type What kind of plant, in the JSON's own words: Other (5,431), Natural Gasoline (670), Compressor/Drip (130), Cycling (21), Gas Plant (8). The retired tape writes the same idea as one letter (O/G/C/P) and has no 'Gas Plant' value, so the two vocabularies are not interchangeable. e.g. Natural Gasoline
11 r3_plant_id text R3 Plant ID A filer-supplied plant identifier. EMPTY on all 6,260 filings in all twelve releases -- the field exists in RRC's schema and nobody has ever filled it. Do not confuse it with `serial_number`, which is the id that means something.
12 cid_critical text CIDCritical 'YES' where the filing is flagged as critical infrastructure designation, 98 of 6,260; 'NO' on the rest. Published as words, not a boolean. e.g. NO
13 period_yyyymm join integer The month the filing REPORTS ON, as one YYYYMM integer. This is the column to take a date range on: `report_month` is only when RRC published the file. Periods run 2022-03 to 2026-12 across 35 distinct months, and every row carries one. e.g. 202606
14 period_month_name text ReportingPeriodMonth The reporting month as the file spells it ('June'). Kept as published; `period_yyyymm` beside it is the parsed form. e.g. June
15 latitude numeric measured in deg Latitude Plant latitude in decimal degrees, WGS84, as filed. Every filing carries one, and they are NOT all trustworthy: 19 rows sit outside Texas -- two Reeves County plants are stamped 48.268 / -103.560, which is North Dakota -- and a further set is rounded to a whole degree (30.0 / -100.0) as a placeholder. This is why the dataset is not published as a mapped layer.
16 longitude numeric measured in deg Longtitude Plant longitude in decimal degrees, WGS84, as filed. See the latitude note: the same 19 rows are outside Texas and the same whole-degree placeholders occur. RRC's key for it in the JSON is 'Longtitude', with the extra t; the loader reads that spelling because it is the one in the file.
17 plant_average_capacity numeric measured in MCF/d PlantAverageCapacity The plant's average capacity in MCF per day, as filed. Zero on 5,465 of the 6,260 filings, which for a drip station is a fact rather than a gap; the largest is 5,500,000. e.g. 3036200.0000
18 district_reported text District The district as the filer selected it on the form, with the office name attached -- '08 - Midland', '7C - San Angelo'. `district_code` beside it is the machine-readable half. Kept because a filer choosing the wrong district is visible here and nowhere else. e.g. 7C - San Angelo
19 county text County The county the plant is in, by NAME and in upper case -- 'REEVES', 'WEBB'. Not a code: there is no county number anywhere in the R-3 JSON. All 146 distinct names match a Texas county in the county directory, so uppercasing and joining on the name works here (it does not on the P-18). e.g. CROCKETT

r3_report_delivery 7 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset.

Record layout for r3_report_delivery — 7 columns
# Column Type RRC name Meaning Lookup
1 report_month key join integer The month RRC PUBLISHED the file this row came out of, as one YYYYMM integer, taken from the zip's name. It is not the month the filing reports on -- see `period_yyyymm` -- because a month's file holds the R-3s APPROVED that month, whose reporting periods scatter back years: 122 of the 6,260 filings report on a period more than a year before the file that carries them, and 7 report on a period after it. This is the column the loader replaces by, so it is also the column that says which release a row belongs to.
2 report_r3_key key join text ReportR3Key RRC's ReportR3Key for the filing, unique within its publication month. The two columns together are the primary key; the key alone is not, because RRC restarts the numbering in each file.
3 ordinal key smallint This row's position in its section's array in the JSON, from 1. EZRRC's column: the file expresses the ordering by position and carries no sequence number, and without it a filing with two identical lines would collapse to one row. e.g. 1
4 delivered_to text Delivered to Whom Section X: who the gas went to, as the filer typed it -- 'Momentum Midstrea' (sic), 'Sequent / Northern Nat Gas'. A name, not an operator number, and the truncations are RRC's. e.g. Sequent / Northern Nat Gas
5 use_or_disposition text Use or Disposition What the gas was for: Transmission Line (1,434 of the 1,732 rows) or Other Processing Plants (298). The retired tape writes the same idea as one letter, T or P. e.g. Transmission Line
6 unprocessed_gas numeric measured in MCF Unprocessed Gas (Sec.II) Unprocessed gas delivered on this line, in MCF. e.g. 0.0000
7 residual_gas numeric measured in MCF Residual Gas (Sec.IIII) Residue gas delivered on this line, in MCF. The JSON spells it 'residual' where the tape spells it 'residue'; they are the same figure. e.g. 13310051.0000

r3_report_facility 8 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset.

Record layout for r3_report_facility — 8 columns
# Column Type RRC name Meaning Lookup
1 report_month key join integer The month RRC PUBLISHED the file this row came out of, as one YYYYMM integer, taken from the zip's name. It is not the month the filing reports on -- see `period_yyyymm` -- because a month's file holds the R-3s APPROVED that month, whose reporting periods scatter back years: 122 of the 6,260 filings report on a period more than a year before the file that carries them, and 7 report on a period after it. This is the column the loader replaces by, so it is also the column that says which release a row belongs to.
2 report_r3_key key join text ReportR3Key RRC's ReportR3Key for the filing, unique within its publication month. The two columns together are the primary key; the key alone is not, because RRC restarts the numbering in each file.
3 ordinal key smallint This row's position in its section's array in the JSON, from 1. EZRRC's column: the file expresses the ordering by position and carries no sequence number, and without it a filing with two identical lines would collapse to one row. e.g. 1
4 facility_type text Facility Type What the facility is registered as: Natural Gasoline (590 of the 641 rows), R3 (30), Cycling (21). e.g. Natural Gasoline
5 rrc_id join text RRC ID RRC's facility registration number, 'GP0000004745'. A different identifier from the plant's printed serial and from `facility_key` on the filing above; it is the number the R-5/R-6 system uses. e.g. GP0000004745
6 facility_name text Facility Name The facility's name as registered -- 'RIPTIDE PLANT'. e.g. RIPTIDE PLANT
7 facility_status text Facility Status Active (355), Decommissioned (227) or Expired (59). The status of the FACILITY, which is not the status of the filing. e.g. Active
8 coc text CoC Certificate of compliance: Valid (374) or Invalid (267). An invalid CoC on an active facility is the thing worth looking for in this table. e.g. Valid

r3_report_injection 9 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset.

Record layout for r3_report_injection — 9 columns
# Column Type RRC name Meaning Lookup
1 report_month key join integer The month RRC PUBLISHED the file this row came out of, as one YYYYMM integer, taken from the zip's name. It is not the month the filing reports on -- see `period_yyyymm` -- because a month's file holds the R-3s APPROVED that month, whose reporting periods scatter back years: 122 of the 6,260 filings report on a period more than a year before the file that carries them, and 7 report on a period after it. This is the column the loader replaces by, so it is also the column that says which release a row belongs to.
2 report_r3_key key join text ReportR3Key RRC's ReportR3Key for the filing, unique within its publication month. The two columns together are the primary key; the key alone is not, because RRC restarts the numbering in each file.
3 ordinal key smallint This row's position in its section's array in the JSON, from 1. EZRRC's column: the file expresses the ordering by position and carries no sequence number, and without it a filing with two identical lines would collapse to one row. e.g. 1
4 field_reservoir text Field Reservoir Section IX: the field and reservoir the gas was injected into, by name -- 'Woodbine', 'MAHONEY-HD-WASSON 72'. A name as typed, not a field number, so it does not join to the field directory. e.g. CORNELL UNIT
5 well_owner text Well Owner Who owns the injection well, as typed. Spelling is the filer's: the 34 rows include both 'HILCORP ENERGY COMPANY' and 'HILCORP ENERGY COMOPANY'. e.g. HILCORP ENERGY COMOPANY
6 lease_name text Lease The lease the injection well is on, where the filer gave one.
7 well_no text Well No. The injection well's number, where the filer gave one.
8 injection_pressure numeric measured in psi Injection Pressure Injection pressure, in psi as reported. e.g. 1500.0000
9 mcf_monthly numeric measured in MCF MCF Monthly Gas injected during the reporting month, in MCF. e.g. 489760.0000

r3_report_line 10 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset.

Record layout for r3_report_line — 10 columns
# Column Type RRC name Meaning Lookup
1 report_month key join integer The month RRC PUBLISHED the file this row came out of, as one YYYYMM integer, taken from the zip's name. It is not the month the filing reports on -- see `period_yyyymm` -- because a month's file holds the R-3s APPROVED that month, whose reporting periods scatter back years: 122 of the 6,260 filings report on a period more than a year before the file that carries them, and 7 report on a period after it. This is the column the loader replaces by, so it is also the column that says which release a row belongs to.
2 report_r3_key key join text ReportR3Key RRC's ReportR3Key for the filing, unique within its publication month. The two columns together are the primary key; the key alone is not, because RRC restarts the numbering in each file.
3 section key text Which R-3 section this line belongs to: I intake (12 lines), II disposition of unprocessed gas (10), III disposition of residual gas (17), IV sulfur and CO2 recovery (2), V plant liquid hydrocarbon production (12), VII barrels (10), XI remarks (3). The four genuinely repeating sections -- VI, VIII, IX and X -- have tables of their own and are not in here. e.g. I
4 item_no key smallint Which object of the section this line came from. 1 on all 413,160 rows so far: these seven sections each carry a single object per filing. It is in the key so that a section RRC turns into an array loads rather than colliding. e.g. 1
5 line_no key smallint The line number printed on the form. 0 means the label carried no number -- Section III's 'TOTAL (Lines 1-16)', Section V's 'TOTAL (Lines 1 - 10)' and 'Other Type Value', and both of Section IV's lines. Filter on this rather than on the label, which is the caption and can be edited. e.g. 1
6 label key text The caption printed on the form, kept verbatim beside the value: '2. Gas into Gathering System - Casinghead'. It is in the primary key because line numbers repeat (Section IV writes two different lines as 0) and it is NOT the column to filter on: RRC already ships one caption with a missing space ('7. Carbon Black Plants -Casinghead'), and the day it is fixed a filter on the text stops matching while a filter on the number does not. e.g. No. of Wells Produced
7 gas_well_gas numeric The line's gas-well-gas column, where the form has one. Null on the sections that print a single figure per line (III, IV, VII, XI). Units follow the section: MCF in I, II and III, barrels in V and VII. e.g. 21.0000
8 casinghead numeric The line's casinghead column, where the form has one -- only sections I and II print one, so it is MCF wherever it is not null. Null on the single-value sections, and null on many I and II lines that the filer left blank rather than zeroed.
9 total numeric The line's total, and for the single-value sections its only figure. Units follow the section: MCF in I, II and III; long tons for the sulfur line and MCF for the CO2 line of IV; barrels in V and VII. e.g. 21.0000
10 text_value text Where the line's value is words rather than a number. 763 rows in Section XI (the reason gas was vented -- 'gas flared due to mechanical process upset'), 165 in V (the 'Enter Other Type' caption's product name) and 49 in I line 8, which lists the plants the gas came from with their ids: 'CAMPO VIEJO PLANT (8A-0176)'. Null on the other 412,183 rows.

r3_report_liquid_statement 10 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset.

Record layout for r3_report_liquid_statement — 10 columns
# Column Type RRC name Meaning Lookup
1 report_month key join integer The month RRC PUBLISHED the file this row came out of, as one YYYYMM integer, taken from the zip's name. It is not the month the filing reports on -- see `period_yyyymm` -- because a month's file holds the R-3s APPROVED that month, whose reporting periods scatter back years: 122 of the 6,260 filings report on a period more than a year before the file that carries them, and 7 report on a period after it. This is the column the loader replaces by, so it is also the column that says which release a row belongs to.
2 report_r3_key key join text ReportR3Key RRC's ReportR3Key for the filing, unique within its publication month. The two columns together are the primary key; the key alone is not, because RRC restarts the numbering in each file.
3 ordinal key smallint This row's position in its section's array in the JSON, from 1. EZRRC's column: the file expresses the ordering by position and carries no sequence number, and without it a filing with two identical lines would collapse to one row. e.g. 1
4 company text Company Section VIII: the company the liquid was received from or delivered to, as the filer typed it -- 'GulfMark Energy', 'Shell trading Co'. Free text, so it cannot be joined to the operator directory; `rrc_registration_no` beside it is the identifier. e.g. GulfMark Energy
5 registered_outside_texas text Is this operator registered outside the State of Texas 'Yes' on 4 of the 5,102 rows, 'No' on the rest. Published as words, not a boolean. e.g. No
6 rrc_registration_no text RRC Registration No. The counterparty's RRC registration number, written in the district-serial style ('03-0413'). It is a T-1/T-4 style registration and NOT a P-5 operator number, so it does not join to the operator directory. e.g. 03-0810
7 commodity text Commodity What moved: Condensate (2,654), Other (1,815), Gasoline (161), Butane (160), Ethane (136), Propane (136), Scrubber Oil (40). Where it is 'Other', `other_commodity_description` says what. e.g. Condensate
8 other_commodity_description text Other Commodity Description Free text naming the commodity when `commodity` is 'Other' -- 'mix'. Null otherwise.
9 received_barrels numeric measured in bbl Received Barrels Barrels received from this company in the reporting month.
10 delivered_barrels numeric measured in bbl Delivered Barrels Barrels delivered to this company in the reporting month. e.g. 536.0000

r3_report_scrubber 7 columns

Documented here because RRC ships it in the same file. It is not in a download of this dataset.

Record layout for r3_report_scrubber — 7 columns
# Column Type RRC name Meaning Lookup
1 report_month key join integer The month RRC PUBLISHED the file this row came out of, as one YYYYMM integer, taken from the zip's name. It is not the month the filing reports on -- see `period_yyyymm` -- because a month's file holds the R-3s APPROVED that month, whose reporting periods scatter back years: 122 of the 6,260 filings report on a period more than a year before the file that carries them, and 7 report on a period after it. This is the column the loader replaces by, so it is also the column that says which release a row belongs to.
2 report_r3_key key join text ReportR3Key RRC's ReportR3Key for the filing, unique within its publication month. The two columns together are the primary key; the key alone is not, because RRC restarts the numbering in each file.
3 ordinal key smallint This row's position in its section's array in the JSON, from 1. EZRRC's column: the file expresses the ordering by position and carries no sequence number, and without it a filing with two identical lines would collapse to one row. e.g. 1
4 source_name text Source of Scrubber/Condensate Slugs Not Returned Section VI: where the drip or scrubber liquid came from -- 'Main Drip Line', 'Hawkins Gas Plant', a station name. Prose, not a lease key, exactly as on the retired tape's r3_section6_drip. e.g. Main Drip Line
5 gas_wells numeric No. of Gas Wells Gas wells behind this line's recovery. A count, not a volume. e.g. 67.0000
6 oil_wells numeric No. of Oil Wells Oil wells behind this line's recovery. A count, not a volume. e.g. 0.0000
7 barrels numeric measured in bbl Barrels Barrels of drip and scrubber liquid recovered from this source. e.g. 361.0000

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.

RRC district (printed designation) 14 values

Read by district_code

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

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.

R-3 Gas Processing Plants (JSON) joins to R-3 Gas Processing Plants (EBCDIC, retired) on Serial number = Plant ID — many rows here share a single row there.

is the plant on the retired tape

The two eras of the R-3, joined on the id RRC prints. The EBCDIC tape carries the plant master and the last two years of forms up to 2025-08; the JSON carries every filing approved since. 6,119 of the 6,260 JSON filings resolve to a plant on the tape, and 1,404 of the 1,449 distinct plant ids in the JSON. The 45 that do not are plants RRC registered after the tape was frozen -- there is no other way to be in the JSON and not on the tape, because the tape was never truncated. Going the other way, only 1,404 of the tape's 7,137 identified plants appear in the JSON at all: the rest stopped filing before September 2025, many of them decades before. `plant_id` is EZRRC's derivation on the tape side, built from the internal district number and the serial; `serial_number` is as RRC publishes it. Joining on (district_code, serial_no) instead gives the identical 6,119.

r3-gas-processing-plants-json.serial_number = r3-gas-processing-plants-ebcdic.plant_id

Where this comes from

Published by
Texas Railroad Commission — the original page
Original format
JSON Structured JSON.
RRC publishes
Updated once a month (Monthly, mid-month. New as of 09-15-2025.)
RRC download link
GoAnywhere MFT
Record layout manual
Our table
texas.r3_report

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.