Oil Annual Report Field Table
Queryable Delimited
Annual oil production, well counts and gravity, per field.
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
OGA100. One row per field per report year: total wells, producing wells, annual oil and casinghead gas, cumulative oil since discovery, formation depth, oil gravity, discovery date and the county the field is in.
It is the Commission's own annual field summary — the numbers behind the printed annual report.
RRC publishes it as thirteen }-delimited district parts, olf3341 to olf334d. Only olf334d — District 10, 741 rows for report year 2025 — has been fetched, archived and loaded so far, so this table is one district today. Upstream is being extended to all thirteen parts; the table and the archive here will grow to the whole state as that lands, and nothing about the columns will change.
Until August 2026 five of the column names in this table were wrong and two more held each other's values. Since then they have been right; if you took an export before then, read the gotchas before comparing it with a fresh one.
What you can do with it
Compare fields year over year on production and well count, find fields by discovery date, and get oil gravity by field without sampling wells.
Gotchas
District 10 only, for now. RRC's folder holds all thirteen district parts and upstream is being extended to load them; until it does, a field outside District 10 is not missing from Texas, it is missing from here.
Until August 2026 this table was published under column names that did not describe their contents, verified against RRC's OGA100 layout and the table itself, and upstream corrected them: depth_ft was called field_number (it is formation depth; nothing in it was ever an 8-digit field number, and EZRRC offered it as a "Field number" filter); cumulative_oil was called total_gas_prod (it is cumulative oil since discovery, which is why 490 of 741 rows carry a value while reporting zero producing wells); and remark1 to remark10 were called filler1 to filler10 and documented as empty, though 72 rows carry docket numbers and field-transfer notes in them. Only filler11 is padding. The values in these columns did not change; only the names did.
oil_production and casinghead_gas_prod kept their names but were transposed — each held the other's values — until the same correction. An export taken before August 2026 has gas in oil_production and oil in casinghead_gas_prod.
There is no field number in this table. depth_ft is text, unpadded, and two rows carry N/A.
Annual totals here will not exactly match a sum of monthly PDQ production: the annual report is cut at a different time and includes later amendments.
Record layout
25 columns.
oil_annual_field
25 columns
| # | Column | Type | RRC name | Meaning | Lookup |
|---|---|---|---|---|---|
| 1 |
report_year
key
|
text | REPORT_YEAR |
The calendar year the totals cover. | — |
| 2 |
district
key
join
|
text | DISTRICT |
RRC district the record belongs to, written the way RRC prints it (01-06, 6E, 7B, 7C, 08, 8A, 09, 10). | RRC district (printed designation) |
| 3 |
field_name
key
|
text | FIELD_NAME |
Field name. With report_year and district it identifies the row: there is no field number in this table (see depth_ft), so the name is the only handle, and every one of the 741 (year, district, name) triples loaded as of August 2026 — District 10 only, so far — is distinct. | — |
| 4 |
county_name
|
text | COUNTY_NAME |
County name. | — |
| 5 |
multi_county_flag
|
text | MULTI_COUNTY_FLAG |
Y when the field spans more than one county. | — |
| 6 |
discovery_date
|
text | DISCOVERY_DATE |
Field discovery date. | — |
| 7 |
depth_ft
|
text measured in ft | DEPTH_FT |
Formation depth in feet (WS-DL-DEPTH-OUT in RRC's OGA100 layout). Written as text, unpadded, and two rows carry N/A. Until August 2026 this column was called field_number, and EZRRC offered it as a "Field number" filter; every value is between 1,136 and 17,409 and not one of the 741 rows was ever an 8-digit RRC field number. Upstream corrected the name; the values did not change. | — |
| 8 |
oil_gravity
|
text measured in API | OIL_GRAVITY |
Representative oil gravity for the field, degrees API. | — |
| 9 |
total_wells
|
integer | TOTAL_WELLS |
Total wells in the field. | — |
| 10 |
producing_wells
|
integer | PRODUCING_WELLS |
Producing wells in the field. | — |
| 11 |
oil_production
|
bigint measured in bbl | OIL_PRODUCTION |
Oil produced in the year, barrels (WS-DL-OIL-FROM-FIELD-OUT). Until August 2026 this column and casinghead_gas_prod carried each other's values - the parser had them transposed - so an export taken before then holds gas here and oil in casinghead_gas_prod. Upstream corrected the parser; the names did not change. | — |
| 12 |
casinghead_gas_prod
|
bigint measured in MCF | CASINGHEAD_GAS_PROD |
Casinghead gas produced in the year, MCF (WS-DL-GAS-FROM-FIELD-OUT). Until August 2026 this column and oil_production carried each other's values - the parser had them transposed - so an export taken before then holds oil here and gas in oil_production. Upstream corrected the parser; the names did not change. | — |
| 13 |
cumulative_oil
|
bigint measured in bbl | CUMULATIVE_OIL |
Cumulative oil produced since the field was discovered, barrels (WS-DL-CUM-PROD-OUT). Until August 2026 this column was called total_gas_prod and documented as an annual gas total; 490 of the 741 rows carry a value while reporting zero producing wells, which only a cumulative figure can do. Upstream corrected the name; the values did not change. | — |
| 14 |
remark1
|
text | REMARK1 |
Remark line 1 from the RRC layout (WS-DL-RMRK1). 72 of the 741 rows carry text in the remark columns - docket numbers and field-transfer notes. Until August 2026 these ten columns were called filler1 to filler10, and documented as empty; upstream corrected the names, and the values did not change. | — |
| 15 |
remark2
|
text | REMARK2 |
Remark line 2 from the RRC layout (WS-DL-RMRK2). 72 of the 741 rows carry text in the remark columns - docket numbers and field-transfer notes. Until August 2026 these ten columns were called filler1 to filler10, and documented as empty; upstream corrected the names, and the values did not change. | — |
| 16 |
remark3
|
text | REMARK3 |
Remark line 3 from the RRC layout (WS-DL-RMRK3). 72 of the 741 rows carry text in the remark columns - docket numbers and field-transfer notes. Until August 2026 these ten columns were called filler1 to filler10, and documented as empty; upstream corrected the names, and the values did not change. | — |
| 17 |
remark4
|
text | REMARK4 |
Remark line 4 from the RRC layout (WS-DL-RMRK4). 72 of the 741 rows carry text in the remark columns - docket numbers and field-transfer notes. Until August 2026 these ten columns were called filler1 to filler10, and documented as empty; upstream corrected the names, and the values did not change. | — |
| 18 |
remark5
|
text | REMARK5 |
Remark line 5 from the RRC layout (WS-DL-RMRK5). 72 of the 741 rows carry text in the remark columns - docket numbers and field-transfer notes. Until August 2026 these ten columns were called filler1 to filler10, and documented as empty; upstream corrected the names, and the values did not change. | — |
| 19 |
remark6
|
text | REMARK6 |
Remark line 6 from the RRC layout (WS-DL-RMRK6). 72 of the 741 rows carry text in the remark columns - docket numbers and field-transfer notes. Until August 2026 these ten columns were called filler1 to filler10, and documented as empty; upstream corrected the names, and the values did not change. | — |
| 20 |
remark7
|
text | REMARK7 |
Remark line 7 from the RRC layout (WS-DL-RMRK7). 72 of the 741 rows carry text in the remark columns - docket numbers and field-transfer notes. Until August 2026 these ten columns were called filler1 to filler10, and documented as empty; upstream corrected the names, and the values did not change. | — |
| 21 |
remark8
|
text | REMARK8 |
Remark line 8 from the RRC layout (WS-DL-RMRK8). 72 of the 741 rows carry text in the remark columns - docket numbers and field-transfer notes. Until August 2026 these ten columns were called filler1 to filler10, and documented as empty; upstream corrected the names, and the values did not change. | — |
| 22 |
remark9
|
text | REMARK9 |
Remark line 9 from the RRC layout (WS-DL-RMRK9). 72 of the 741 rows carry text in the remark columns - docket numbers and field-transfer notes. Until August 2026 these ten columns were called filler1 to filler10, and documented as empty; upstream corrected the names, and the values did not change. | — |
| 23 |
remark10
|
text | REMARK10 |
Remark line 10 from the RRC layout (WS-DL-RMRK10). 72 of the 741 rows carry text in the remark columns - docket numbers and field-transfer notes. Until August 2026 these ten columns were called filler1 to filler10, and documented as empty; upstream corrected the names, and the values did not change. | — |
| 24 |
filler11
|
text | FILLER11 |
Trailing padding in the brace-delimited record. Genuinely empty. | — |
| 25 |
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.
RRC district (printed designation) 14 values
Read by district
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.
| Code | Means |
|---|---|
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.
Oil Annual Report Field Table joins to Oil & Gas Field Name & Numbers on District and Field name — rows can match many rows in both directions.
is the field
The oil annual report has no field number either, so it takes the same route as its gas twin: the printed district and the exact field name, no folding and no translation on either side. 33,929 of the 33,943 rows resolve. The fourteen that miss are the thirteen 'DISTRICT TOTAL' lines and the one 'TEXAS TOTAL' line RRC writes into the field-name column -- every row naming an actual field finds one. A name is not a key here either: those 33,929 matched rows come back as 34,017, because 88 of them name a field the directory gives to more than one number in the same district. Group or take distinct rows if you are summing. Measured 2026-08-23, the day texas.oil_annual_field first held all thirteen districts. Until then it had held District 10 alone -- 741 rows for the whole state -- because the loader read RRC's 185-byte District 6E part as an empty file and refused the staged swap that carried the other twelve with it.
oil-annual-report-field-table.district = oil-gas-field-names-numbers.district AND oil-annual-report-field-table.field_name = oil-gas-field-names-numbers.field_name
Oil Annual Report Field Table joins to Statewide Field Data on District = District name and Field name = Field name — many rows here share a single row there.
is the field record for
The same join on the oil side, and it works as well: 739 of the 741 rows currently loaded find their field. 741 rows is the whole oil annual table today, and every one of them is District 10 -- upstream loads one district part of that file and twelve of the gas one. When the other eleven arrive this join covers them without changing.
oil-annual-report-field-table.district = statewide-field-data.district_name AND oil-annual-report-field-table.field_name = statewide-field-data.field_name
Where this comes from
- Published by
- Texas Railroad Commission — the original page
- Original format
- Delimited Separated text, usually with an unusual delimiter such as a brace.
- RRC publishes
- Updated once a month (Monthly. Available by the 27th.)
- EZRRC re-ingests
- Weekly
- RRC download link
- GoAnywhere MFT
- Record layout manual
- Our table
texas.oil_annual_field
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.