Skip to content

💡 patents

USPTO patent grant and trademark application data from PatentsView bulk downloads and USPTO trademark bulk CSV. Patent tables are year-partitioned by grant_year (1976+). Trademark tables are year-partitioned by application_year. Claims and summaries include vector embedding columns (FLOAT[]) populated at ingestion time via batched embedding calls. Full-dump files are cached locally under GOVDATA_CACHE_DIR/patents/ with a quarterly TTL to avoid re-downloading on every year invocation.

16 datasets · 174 columns

patent_grants · table

One row per granted utility patent (design patents excluded by default; set PATENTS_INCLUDE_DESIGN=true to include). Faithful recreation of g_patent.tsv — no joins. patent_date carries the grant year, so the table self-partitions by grant_year. Abstract, filing date, and figure counts live in their own faithful tables (patent_abstracts, patent_applications, patent_figures), joined on patent_id at query time.

Column Type Null Description
patent_id string yes USPTO patent number (e.g., 10123456)
grant_year integer no Calendar year of patent grant; primary partition key
patent_date string yes Date of patent grant (YYYY-MM-DD)
patent_type string yes utility / design / plant
patent_title string yes Patent title
num_claims integer yes Number of claims
wipo_kind string yes WIPO kind code (B1, B2, etc.)
withdrawn boolean yes Whether patent was withdrawn; filter to false for active grants

patent_assignees · table

Faithful recreation of g_assignee_disambiguated.tsv — one row per patent-assignee combination, keyed by patent_id, no joins and no year. location_id is the foreign key into patent_locations; join there for geography and to patent_grants for a grant year. Loaded once per quarter as a full snapshot.

Column Type Null Description
patent_id string yes USPTO patent number (e.g., 10123456)
assignee_sequence integer yes Order when patent has multiple assignees (0-based)
assignee_id string yes PatentsView disambiguated assignee ID
assignee_organization string yes Organization name; null for individual assignees
assignee_name_first string yes First name; null for org assignees
assignee_name_last string yes Last name; null for org assignees
assignee_type string yes US company / foreign company / US government / individual
location_id string yes FK into patent_locations for geographic fields

patent_inventors · table

Faithful recreation of g_inventor_disambiguated.tsv (~8 GB uncompressed) — one row per patent-inventor combination, keyed by patent_id, no joins and no year. location_id is the foreign key into patent_locations; join there for geography and to patent_grants for a grant year. Loaded once per quarter as a full snapshot.

Column Type Null Description
patent_id string yes USPTO patent number (e.g., 10123456)
inventor_id string yes PatentsView disambiguated inventor ID
inventor_sequence integer yes Inventor order on patent (0 = first/primary)
name_first string yes First name
name_last string yes Last name
gender_code string yes M / F (inferred by PatentsView disambiguation); useful for diversity analysis
location_id string yes FK into patent_locations for geographic fields

patent_cpc_classes · table

Faithful recreation of g_cpc_current.tsv — one row per patent-CPC code combination, keyed by patent_id, no joins and no year. CPC is the primary technology taxonomy for patent analysis. Join to patent_grants on patent_id for a grant year. Loaded once per quarter as a full snapshot.

Column Type Null Description
patent_id string yes USPTO patent number (e.g., 10123456)
cpc_sequence integer yes CPC code sequence on patent
cpc_section string yes CPC section (A-H, Y)
cpc_class string yes CPC class (2-char, e.g., H04)
cpc_subclass string yes CPC subclass (1-char, e.g., L)
cpc_group string yes Full CPC classification string (e.g., H04L0009000)
cpc_type string yes i (inventive) or a (additional)

patent_abstracts · table

Faithful recreation of g_patent_abstract.tsv — one row per patent abstract, keyed by patent_id. Join to patent_grants on patent_id for a grant year. Loaded once per quarter.

Column Type Null Description
patent_id string yes USPTO patent number (e.g., 10123456)
patent_abstract string yes Patent abstract text

patent_applications · table

Faithful recreation of g_application.tsv — one row per application record, keyed by patent_id. Join to patent_grants on patent_id for a grant year. Loaded once per quarter.

Column Type Null Description
patent_id string yes USPTO patent number (e.g., 10123456)
filing_date string yes Original application filing date (YYYY-MM-DD)
patent_application_type string yes Application type (e.g., utility, continuation)

patent_figures · table

Faithful recreation of g_figures.tsv — one row per patent figure/sheet count record, keyed by patent_id. Join to patent_grants on patent_id for a grant year. Loaded once per quarter.

Column Type Null Description
patent_id string yes USPTO patent number (e.g., 10123456)
num_figures integer yes Number of figures
num_sheets integer yes Number of drawing sheets

patent_locations · table

Faithful recreation of g_location_disambiguated.tsv — one row per disambiguated location, keyed by location_id. FK target for patent_inventors.location_id and patent_assignees.location_id. Loaded once per quarter.

Column Type Null Description
location_id string no PatentsView disambiguated location ID (PK)
state_fips string yes State FIPS code
county_fips string yes County FIPS code
country_code string yes Disambiguated country code
latitude double yes Latitude
longitude double yes Longitude

patent_claims · table

One row per patent claim. Claims define the legal scope of the patent — the most analytically useful text component. Per-year source files: g_claims_{year}.tsv.zip from the PatentsView claims/ subdirectory. The embedding column is populated at ingestion time via batched embedding calls. For dependent claims, the transformer prepends the parent independent claim text before embedding to capture full legal scope.

Column Type Null Description
patent_id string yes USPTO patent number (e.g., 10123456)
grant_year integer no Calendar year of patent grant; primary partition key
claim_sequence integer yes Processing order of claim (1-based)
claim_number integer yes Claim number as printed in the patent
claim_text string yes Full claim text
dependent string yes NULL = independent claim; otherwise a "claim N" reference to the parent's claim_number (verbatim from PatentsView)
exemplary boolean yes Claim designated as exemplary; useful for ML classification

patent_summaries · table

One row per patent. Brief summary section text from the patent specification. More concise than the full description; covers key aspects and distinguishing features over prior art. Per-year source files: g_brf_sum_text_{year}.tsv.zip from the PatentsView brief-summary-text/ subdirectory. The embedding column is populated at ingestion time.

Column Type Null Description
patent_id string yes USPTO patent number (e.g., 10123456)
grant_year integer no Calendar year of patent grant; primary partition key
summary_text string yes Full brief summary section text

trademark_case_file · table

Faithful landing of USPTO TRCFECO2 case_file.csv — one row per trademark application (serial_no), all 79 source columns verbatim. Year-partitioned by application filing year.

Column Type Null Description
serial_no string no USPTO trademark serial number (primary key)
abandon_dt string yes Date the mark/application was abandoned (YYYYMMDD)
amend_reg_dt string yes Date of the file amendment to register (YYYYMMDD)
amend_lb_for_app_in string yes Flag: filing basis amended to foreign application priority (44(d))
amend_lb_for_reg_in string yes Flag: filing basis amended to foreign registration (44(e))
amend_lb_itu_in string yes Flag: filing basis amended to intent-to-use
amend_lb_use_in string yes Flag: filing basis amended to use in commerce
reg_cancel_cd string yes Code identifying the section under which the registration was cancelled
reg_cancel_dt string yes Date cancellation of the entire registration was recorded (YYYYMMDD)
cancel_pend_in string yes Flag: a cancellation proceeding is pending
cert_mark_in string yes Flag: mark is a certification mark
chg_reg_in string yes Flag: registration changed (amendment, correction, fewer goods/classes)
coll_memb_mark_in string yes Flag: mark is a collective membership mark
coll_serv_mark_in string yes Flag: mark is a collective service mark
coll_trade_mark_in string yes Flag: mark is a collective trademark
draw_color_cur_in string yes Flag: drawing is currently in color
draw_color_file_in string yes Flag: drawing was in color at filing
concur_use_in string yes Flag: registration is subject to concurrent use
concur_use_pend_in string yes Flag: a concurrent use proceeding is pending
file_location string yes Current location of the application or registration file
draw_3d_cur_in string yes Flag: drawing is currently three-dimensional
draw_3d_file_in string yes Flag: drawing was three-dimensional at filing
exm_attorney_name string yes Name of the USPTO examining attorney assigned to the file
lb_use_file_in string yes Filing basis flag: filed as a use-in-commerce application
lb_for_app_cur_in string yes Filing basis flag: foreign application priority (44(d)) currently
lb_for_reg_cur_in string yes Filing basis flag: foreign registration (44(e)) currently
lb_intl_reg_cur_in string yes Filing basis flag: international registration (66(a)) currently
lb_for_app_file_in string yes Filing basis flag: foreign application priority (44(d)) at filing
lb_for_reg_file_in string yes Filing basis flag: foreign registration (44(e)) at filing
lb_intl_reg_file_in string yes Filing basis flag: international registration (66(a)) at filing
lb_none_cur_in string yes Filing basis flag: no basis currently claimed
filing_dt string yes Application filing date (YYYYMMDD); source of the year partition
for_priority_in string yes Flag: record contains foreign application info and a priority claim
lb_itu_cur_in string yes Filing basis flag: intent-to-use application currently
lb_itu_file_in string yes Filing basis flag: intent-to-use application at filing
interfer_pend_in string yes Flag: an interference proceeding is pending
exm_office_cd string yes Code of the USPTO examining law office assigned
file_location_dt string yes Date the file arrived at its current location (YYYYMMDD)
mark_draw_cd string yes Drawing code 1=typed 2=design 3=stylized 4=standard char 5=color
mark_id_char string yes Trademark text; null for design marks
opposit_pend_in string yes Flag: an opposition proceeding is pending
amend_principal_in string yes Flag: application amended to the Principal Register
concur_use_pub_in string yes Flag: mark published subject to concurrent use
publication_dt string yes Date the mark was published for opposition (YYYYMMDD)
registration_dt string yes Date the mark was registered (YYYYMMDD)
renewal_dt string yes Date of registration renewal (YYYYMMDD)
renewal_file_in string yes Flag: a renewal application was filed
repub_12c_dt string yes Date of republication under Section 12(c) (YYYYMMDD)
repub_12c_in string yes Flag: registered mark republished under Section 12(c)
incontest_ack_in string yes Flag: Section 15 affidavit of incontestability acknowledged
incontest_file_in string yes Flag: Section 15 affidavit of incontestability filed
acq_dist_in string yes Flag: acquired distinctiveness claimed for the whole mark (Section 2(f))
acq_dist_part_in string yes Flag: acquired distinctiveness claimed for part of the mark (Section 2(f))
use_afdv_acc_in string yes Flag: Section 8 continued-use affidavit accepted
use_afdv_file_in string yes Flag: Section 8 continued-use affidavit filed
use_afdv_par_acc_in string yes Flag: Section 8 continued-use affidavit partially accepted
serv_mark_in string yes Flag: mark is a service mark
std_char_claim_in string yes Standard character mark flag (T/F)
cfh_status_cd string yes Status code (live/dead/registered/abandoned/cancelled)
cfh_status_dt string yes Date the case file's current status was recorded (YYYYMMDD)
amend_supp_reg_in string yes Flag: application amended to the Supplemental Register
supp_reg_in string yes Flag: filed for or registered on the Supplemental Register
trade_mark_in string yes Flag: mark is a trademark
lb_use_cur_in string yes Filing basis flag: use-in-commerce application currently
lb_none_file_in string yes Filing basis flag: no basis claimed at filing
ir_auto_reg_dt string yes Date US registration auto-issued absent a first refusal (Madrid) (YYYYMMDD)
ir_first_refus_in string yes Flag: USPTO issued a notice of first refusal to the IB (Madrid)
ir_death_dt string yes Date the international registration expired (YYYYMMDD)
ir_publication_dt string yes Date the international registration was published (YYYYMMDD)
ir_registration_dt string yes Date of the international registration (Madrid) (YYYYMMDD)
ir_registration_no string yes International registration (Madrid Protocol) number
ir_renewal_dt string yes Date by which the international registration must be renewed (YYYYMMDD)
ir_status_cd string yes International registration status code
ir_status_dt string yes Effective date of the international registration status (YYYYMMDD)
ir_priority_dt string yes Date international registration priority was claimed (YYYYMMDD)
ir_priority_in string yes Flag: international registration priority claimed
related_other_in string yes Flag: 'and others' appears in the list of prior registrations
registration_no string yes Registration number; null (or all-zeros) if pending
tad_file_id string yes Identifier of the source XML file the record was extracted from
year integer no Application filing year (Iceberg partition)

trademark_owner · table

Faithful landing of USPTO TRCFECO2 owner.csv — applicant/owner identity, one row per (serial_no, own_seq). own_addr_state_cd is a 2-letter code, not FIPS — join geo.states.

Column Type Null Description
serial_no string no Corresponding case file serial number
own_seq string yes Sequence of owner records within the same party type
own_id string yes Unique identifier for the owner record
own_name string yes Name of the owning party
own_type_cd string yes Owning party type code (e.g. original applicant, new owner)
own_entity_cd string yes Owner legal entity type code
own_entity_desc string yes Owner entity description or statement
own_composed_of string yes Owner 'composed of' statement
own_altn_name string yes Owner alternative names (DBA/AKA)
own_addr_1 string yes Owner address line 1
own_addr_2 string yes Owner address line 2
own_addr_city string yes City or foreign designation of the owner address
own_addr_state_cd string yes State code of the owner address
own_addr_postal string yes US or foreign postal code of the owner address
own_addr_country_cd string yes Country code of the owner address
own_addr_other_cd string yes Other region (non-country) code of the owner address
own_nalty_state_cd string yes State code of the owner's place of origin
own_nalty_country_cd string yes Country code of the owner's place of origin
own_nalty_other_cd string yes Other region (non-country) code of the owner's place of origin
year integer no Application filing year (Iceberg partition)

trademark_classification · table

Faithful landing of USPTO TRCFECO2 classification.csv — US class + first-use dates + status, one row per (serial_no, class_id).

Column Type Null Description
serial_no string no Corresponding case file serial number
class_id string yes Unique identifier for the classification record
class_primary_cd string yes Classification primary code
class_status_cd string yes Classification status code
class_status_dt string yes Date the classification status was recorded (YYYYMMDD)
class_intl_count string yes Number of international classes
class_us_count string yes Number of US classes
first_use_any_dt string yes First-use-anywhere date, converted to a date value (YYYYMMDD)
first_use_any_dt_raw string yes First-use-anywhere date, as entered in the source XML
first_use_com_dt string yes First-use-in-commerce date, converted to a date value (YYYYMMDD)
first_use_com_dt_raw string yes First-use-in-commerce date, as entered in the source XML
year integer no Application filing year (Iceberg partition)

trademark_intl_class · table

Faithful landing of USPTO TRCFECO2 intl_class.csv — international (Nice) class codes, one row per (serial_no, intl_class_cd).

Column Type Null Description
serial_no string no Corresponding case file serial number
intl_class_cd string yes International (Nice) class code
class_id string yes Corresponding classification record ID
year integer no Application filing year (Iceberg partition)

trademark_statement · table

Faithful landing of USPTO TRCFECO2 statement.csv — goods/services and other statement text, one row per (serial_no, statement_type_cd).

Column Type Null Description
serial_no string no Corresponding case file serial number
statement_type_cd string yes Statement type category code
statement_text string yes Statement text (goods/services description is one statement type)
year integer no Application filing year (Iceberg partition)

trademark_applications · view

One row per trademark application (serial_no), joined from trademark_case_file + owner + intl_class + statement. Replaces the old ETL-joined table. applicant_state is a 2-letter code (not FIPS) — join geo.states.

View — columns are resolved by the query engine at runtime.