CommoVision

See the future in real time

← All tables

gold_well_permits

One row per drilling permit, covering every permit on file (pending, approved, rejected, expired, cancelled, and drilled), so the table reads as the forward-looking activity pipeline. Amendments update the permit's row (last_amended_date marks them) rather than creating duplicates. Carries the permitted well's identity and proposed location (including bottom-hole for horizontals), the operator at filing and today, and proposed depth, formation, and purpose. well_id is NULL until a well exists.

Access tier: portal Portal. These rows are well-level or producing-unit-level data, or our modelled output at cohort or grid grain. They open with a Portal, Pro or Enterprise plan. The website shows aggregates built from them, never the rows.
Primary key: permit_id
Region codes: ab, ak, ar, bc, ca, co, ks, la, mt, nd, nm, oh, ok, pa, tx, ut, wv, wy

Columns

ColumnTypeNullableDescription
permit_id string no Globally unique permit identifier (opaque string), this table's primary key. Stable across time; never parse substrings out of it.
well_id string yes Join key to the well register. NULL while no well exists (pending or rejected filings); set once the well is created at permit approval.
permit_number string yes Agency-assigned permit identifier. TX: RRC district-sequence (08-123456). ND: NDIC permit number. Format varies by state. NULL where the source assigns no permit number (New Mexico, West Virginia).
country string no Country code (ISO 3166-1 alpha-2, upper-case, e.g. US, CA).
state_province string no Full name of the state or province the well sits in (e.g. 'Texas', 'Alberta').
state_province_code string no Jurisdiction code within the country (e.g. TX, AB); paired with country it forms a globally unique jurisdiction key.
well_name string yes Proposed well name from the permit application. May differ from the final name in the well register.
permit_type string yes What the permit authorizes: new_drill, recompletion, deepening, re_entry, sidetrack, plug, reclass, or other. Mapped from each state's own codes. Values: new_drill · recompletion · deepening · re_entry · sidetrack · plug · reclass · other.
status string yes Current permit status: pending, approved, expired, rejected, cancelled, or drilled. The full lifecycle including terminal states; drilled is derived automatically once the linked well has a spud date. Values: pending · approved · expired · rejected · cancelled · drilled.
filed_date date yes Date the permit application was submitted to the regulatory agency. For an amended application this is the date the latest amendment was received.
approved_date date yes Date the agency approved the permit. NULL when the permit is pending, was rejected, or was cancelled before approval. Also NULL when our source feed does not carry the approval date: the feed may start after the permit was issued, or record only related processing steps.
expiration_date date yes Scheduled permit validity end date, set at approval. The date the permit will (or did) expire if not drilled. Present on approved, expired, and drilled permits.
cancelled_date date yes Date the operator withdrew or the agency cancelled the permit. Some agencies record one without moving the permit status to cancelled; both are published as reported.
reported_date date yes Date the source agency first published this permit, useful for monitoring new activity. NULL for permits loaded from historical archives.
last_amended_date date yes Effective date of the most recent amendment. NULL = original filing, never amended. When populated, the permit's characteristics (tvd, md, formation, and so on) reflect the amended version; only the latest state is carried.
record_origin string no How this permit row came to exist: reported = a source-published permit filing (regulator daily report or permit database); inferred = reconstructed from the well register for a well with no separate permit filing in our records (e.g. ND wells permitted before 2005). Inferred rows carry NULL filed/approved dates by construction, and this flag discloses why. Always populated. Filter record_origin = 'reported' for actual filings only. Values: reported · inferred.
operator string yes The company that holds this permit today, as a canonical company name with mergers and acquisitions applied as of today, so Occidental's permit book includes inherited Anadarko filings. Sourced from the filing where the permit names its operator; where the source publishes no operator on the permit itself, we carry the well's operator of record instead. NULL when neither names one.
operator_id string yes Stable company identifier for operator, the holder as of today. Join key to the organizations register. NULL when unresolved. Populated even where reported_operator_id is NULL: for permits whose filing names no operator, the holder comes from the well record rather than from correcting the filing.
reported_operator string yes The operator as the source's permit filing records it, normalized to a canonical display name but with NO merger succession applied: the faithful filing record. Where both are present, differs from operator exactly where our ownership graph corrected a stale operator-of-record. NULL where the permit filing itself names no operator (some regulators publish permits without one); operator then carries the well's operator of record instead.
reported_operator_id string yes Stable company identifier for reported_operator (no merger succession). NULL when the raw filing name is not yet mapped to a registered organization.
reported_operator_entity string yes Raw filing entity name from the permit application: the legal entity as the permit filing itself names it, before any normalization. NULL where the filing names no real company (the regulator publishes permits without an operator field, or uses placeholder strings like "historic owner" or "not assigned", which we treat as no operator rather than publish as one), and where we cannot read the name from the filing itself; the name is never substituted from another register. Useful for audit and M&A analysis.
reported_operator_registration_id string yes The regulator-issued ID of the filing operator (TX P-5 number and each region's equivalent). Where the filing carries one, it is passed through raw as an opaque string. Where the regulator issues licence IDs but never prints them on permit filings (currently Kansas), it is our match of the filing operator's name to the state's licensee register, derived by us rather than filed. NULL otherwise.
trajectory string yes Planned well trajectory: horizontal, vertical, or directional. Same values as the well register. Mapped from state-specific flags or codes. Values: horizontal · vertical · directional.
primary_product string yes Oil or gas, the product the permit is for. Where the application states one product, that is the value. Where the application states both, states nothing, or lists fields that disagree, we resolve it with our calibrated estimate from the details the filing carries (the fields or formation it names where it lists them, its location, depth and era) and the wells drilled around it: the product of the play it targets, published only where it clears the region's measured agreement bar against what such permits' wells went on to produce. See primary_product_source for which. NULL where no signal clears the bar, and for permits whose purpose is not production (injection, disposal, storage, observation, service, stratigraphic test; see well_purpose) unless the filing states a product. Values: oil · gas.
primary_product_source string yes Which signal set primary_product on this permit: filing = the application states this product; inferred = the application stated both products, none, or fields that disagree, and this is our calibrated estimate from the details the filing carries, its location, depth, era and neighbouring wells, made only where it clears the region's measured agreement bar against what such permits' wells went on to produce (published on the methodology page). NULL exactly when primary_product is NULL. Values: filing · inferred.
well_purpose string yes Intended well purpose: producer, injector, disposal, storage, observation, service, stratigraphic_test, or other. Same values as the well register. From the permit application. Values: producer · injector · disposal · storage · observation · service · stratigraphic_test · other.
is_offshore boolean yes Whether the permitted location is offshore, as the source classifies it. Stable: a well doesn't move onshore.
tvd int32 yes Proposed true vertical depth (feet). From the permit application. In Texas and Wyoming the regulator files a single unqualified well depth; it behaves as a vertical depth and is published here, though a minority of filings carry the measured depth instead.
md int32 yes Proposed total measured depth (feet). From the permit application.
formation string yes Target formation as reported by the operator on the permit application. Not normalized (operator-reported); may differ from the well register's formation. In Oklahoma an application can list up to ten target formations; the deepest declared target is published. In Ohio the column is filled only where the application names a single target formation we can match; it is NULL where the application lists several targets or a range, joins names with a hyphen (which we do not split), or gives a name we cannot match.
zone string yes Target landing zone where specified on the permit. Same formation/zone convention as the well register. NULL where not available.
latitude float64 yes Proposed surface hole location latitude (WGS84).
longitude float64 yes Proposed surface hole location longitude (WGS84).
bhl_latitude float64 yes Proposed bottom-hole latitude from the permit filing (WGS84). Vertical filings that state a bottom hole, typically coinciding with the surface location, are published as filed. NULL where the filing states no bottom hole we can source to it: many vertical wells state none, some regulators publish only a footage call, and some publish a coordinate we cannot distinguish from the as-drilled record.
bhl_longitude float64 yes Proposed bottom-hole longitude from the permit filing (WGS84). Vertical filings that state a bottom hole, typically coinciding with the surface location, are published as filed. NULL where the filing states no bottom hole we can source to it: many vertical wells state none, some regulators publish only a footage call, and some publish a coordinate we cannot distinguish from the as-drilled record.
basin string yes Basin assignment from spatial lookup on the proposed surface location.
sub_basin string yes Structural sub-unit of the basin from spatial lookup, populated only where a real named sub-unit exists, never a play name. NULL otherwise.
field string yes Field the permit names, as filed with the regulator and in the regulator's own naming. NULL where the filing names no field: a wildcat, unknown or undefined designation is published as NULL, not as a field; and NULL where a filing names several fields without the source's completion record singling one out; applied as each region's permits rebuild under this contract, so a region not yet rebuilt may still show such a designation.

Region-specific columns

Extra columns a single region's source adds.

ab (1 column)
ColumnTypeDescription
licence_number string
bc (1 column)
ColumnTypeDescription
wa_number string
ca (3 columns)
ColumnTypeDescription
county string
county_unique string
county_fips string
co (2 columns)
ColumnTypeDescription
perm_type string
prop_depth_ft int32
ks (7 columns)
ColumnTypeDescription
county string
county_unique string
county_fips string
township string
range string
section string
lease_name string
la (6 columns)
ColumnTypeDescription
la_permit_id string
la_well_serial string
district string
county string
county_unique string
county_fips string
mt (5 columns)
ColumnTypeDescription
county string
county_unique string
county_fips string
mbogc_dor_id string
mbogc_slant string
nd (1 column)
ColumnTypeDescription
file_no int64
nm (2 columns)
ColumnTypeDescription
ocd_district string
lease_type string
pa (8 columns)
ColumnTypeDescription
county string
county_unique string
county_fips string
municipality string
lease_name string
unconventional boolean
dep_region string
authorization_id int64
tx (7 columns)
ColumnTypeDescription
tx_permit_id string
tx_well_id string
district string
county string
county_unique string
county_fips string
lease_name string
wv (6 columns)
ColumnTypeDescription
county string
county_unique string
county_fips string
api14 string
permit_action string
well_type_wv string
wy (5 columns)
ColumnTypeDescription
county string
county_unique string
county_fips string
apd_number string
well_class_wy string

How these numbers are built is on methodology; the machine twin of this page is data-dictionary.json.