TiRADE

v1.3

Tariff Rates in Announcements, Declarations, and Events

Şebnem Kalemli-Özcan · Can Soylu · Muhammed A. Yildirim

Every numeric tariff rate President Trump threatened, announced, or implemented in his second term — from speeches, Truth Social, executive orders, and White House statements — with date, time, countries, products, and a link to the source.

Released 15 September 2026 · data cutoff 13 September 2026 · Updated weekly on Mondays
Rate statements
605
one row each
Source records
515
Speech 243 · Executive Order 137 · Social 72 · White House statement 63
Coverage
2025-01-21 → 2026-09-13
388 records timed to the minute
Rate range
0–350%
median 25%

About

TiRADE records every occasion on which the President attached a number to a US tariff, whatever the channel: speeches, interviews and press gaggles, Truth Social posts, executive orders and proclamations, and White House fact sheets and statements. Each record gives the date and, where the source allows, the time in US Eastern; the countries and products concerned; whether the rate was threatened, announced, or implemented; a link to the source; and the verbatim excerpt behind the coding.

Candidates are found mechanically — any transcript segment, post, or document mentioning a tariff with a numeric percentage — and then judged by hand against fixed inclusion rules: a US tariff rate stated by the President, not foreign tariffs, taxes, statistics, or counterfactuals. Every record also carries OECD ICIO country and sector codes and the value of US imports it covers, so it can be taken straight into trade analysis.

How to use

  1. Download the CSV. It is the whole dataset: one row per stated rate, UTF-8, comma-separated, with a header row. It opens directly in Excel, R (read.csv), Python (pandas.read_csv), or Stata (import delimited).
  2. One row is one numeric rate. A source that states several rates (“25%; 50%”) appears once per rate: rate_role says how the row relates to its source cell and n_rates_in_source how many rows the cell was split into. Where an action was recorded without a stated number — a framework deal, a threat carrying no rate, a per-item dollar duty — rate_value is blank and rate_role is tbd; every blank rate_value is a tbd row, so filtering them out is one test.
  3. Filter to what you need. source_type selects the channel and event_type separates Threatened, Announced, and Implemented. countries and sectors are lists separated by “; ”, so match on the part rather than the whole cell. Rows with rate_role = scheduled are future step-ups; include or exclude them deliberately.
  4. Times are US Eastern wall-clock, the convention US markets trade on; datetime_et combines date and time_eastern. For a UTC instant, localise datetime_et to America/New_York. Where the source gives no time — most Federal Register instruments without a public signing event — time_eastern is blank and datetime_et is the bare date; a parser will read that as midnight, which is an artifact, not a claim about the hour. For intraday work, keep only rows with a time_eastern.
  5. Verify any row from its excerpt and link. ref_id is the stable key to the source document and is safe to join across versions. event_id groups records of the same action across channels but is re-keyed on every release, so never join across versions on it.
  6. For trade exposure, iso_matched and sector_codes_matched give the OECD ICIO cells the row covers, USA_imp_affected_musd the value of US imports in those cells, and stateful_direction whether the action raised or lowered the prevailing rate. Rows with no geography, such as policy-defined groups, are left unmapped; match_status says why.

Key columns

dateDate of the communication (YYYY-MM-DD).
time_easternWall-clock time, US Eastern (HH:MM). Blank where unknown.
datetime_etDate and time_eastern combined. A bare date where no time is known — parsers show that as midnight.
source_typeSpeech, Social, Executive Order, or White House statement.
countriesCountry or group the rate applies to; several are separated by “; ”.
sectorsProducts covered, as stated. “All goods” where the source does not narrow it.
rateRate text as stated in the source, e.g. “10% (reduced from 25%)”.
rate_valueThe numeric rate for this row, in percent.
rate_rolesingle, one_of_several, range_low, range_high, scheduled, or tbd (tbd wherever rate_value is blank).
event_typeThreatened, Announced, or Implemented; “Announced (deal)” for a framework agreement with no rate; compound forms are spaced, as in “Implemented / Threatened”.
planned_forEffective or planned date or condition, recorded as written.
ref_idTranscript id, Truth Social post id, or Federal Register document number. Stable across versions.
event_idGroups records of one action across channels. Re-keyed each release.
linkURL of the transcript, post, or document.
excerptVerbatim passage supporting the row.
iso_matchedISO codes of the OECD ICIO countries the row resolves to.
sector_codes_matchedICIO sector codes the row resolves to.
USA_imp_affected_musdUS imports in the affected ICIO cells, USD millions.
stateful_directionincrease, decrease, mixed, potential_*, no_change, or not_codable, from the chronological running-rate engine.

The remaining columns are alternative event keys (event_id_strict, overlap_type, event_multisource_w1), the timezone label tz and the source medium and social-media metadata (medium, platform, deleted, engagement_fav_reblog_reply), and intermediate ICIO fields (idc, idp, match_status, tariff_action, prior_rate, pp_decrease, and the stateful_* cell counts).

Download

tirade-v1.3-rate-statements.csv
CSV · 581 KBStart here

The dataset. One row per stated tariff rate, with the OECD ICIO enrichment attached.

SHA-256fbc495937906444ea2672dec7fc5a2e48e6ec2e76e8e3add790d88efc70260af

Release v1.3 is a fixed snapshot; its file never changes. To cite this exact release, link to its permanent URL.

Citation

Kalemli-Özcan, Şebnem, Can Soylu, and Muhammed A. Yildirim (2026). TiRADE: A Database of Tariff Rates in Announcements, Declarations, and Events, v1.3. Global Linkages Lab, Brown University. https://www.globallinkages.org/datasets/tirade/v1.3

BibTeX
@misc{tirade2026,
  author       = {Kalemli-Özcan, Şebnem and Soylu, Can and Yildirim, Muhammed A.},
  title        = {{TiRADE}: A Database of Tariff Rates in Announcements, Declarations, and Events},
  year         = {2026},
  version      = {v1.3},
  howpublished = {Global Linkages Lab, Brown University},
  url          = {https://www.globallinkages.org/datasets/tirade/v1.3},
  note         = {Data cutoff 13 September 2026}
}

Free to use, with attribution

No licence is attached: the sources were obtained free of charge and impose none. Use, redistribute, and build on the data as you wish, including commercially. In return, cite the dataset and carry the acknowledgements below.

  • Speeches, interviews, and social media posts: the Roll Call Factbase archive, generously shared by Bill Frischling.
  • Executive orders, proclamations, and other presidential documents, with the USTR, BIS, and CBP notices they cite: the public US Federal Register API.
  • Briefings, fact sheets, and presidential actions: the public whitehouse.gov archives.
  • Executive-order coverage is reconciled against the US Tariff Announcement Database (USTAD) of Manova, Novy, Sampson and Tang (2026), “Tariff Confusion,” CEPR Discussion Paper No. 2195.
  • Country and sector enrichment: the OECD Inter-Country Input-Output (ICIO) tables.

Versions

Updated weekly on Mondays: each week's new tariff statements are screened, reviewed, and released as the next version.

v1.3Currentreleased 15 September 2026 · covers 2025-01-21 2026-09-13
  • 7 new source records, 2 to 13 September 2026: the September 8 Section 338 package answering Canada's new retaliation — Proclamations 11064 and 11065 reshuffle the 50% duty lists on Canadian alcohol and motor vehicles from September 15 (ATVs and more dairy products in, rock salt and cement out), with the White House fact sheet covering the five proclamations, including the import bans that state no rate; two retellings of the France wine and champagne threat (100%, 150%); and two restatements of the tariff on Chinese cars at 150% and 100 to 150%.
  • 515 source records and 605 rate statements, up from 508 and 597. No new country or sector strings.
v1.2released 27 August 2026 · covers 2025-01-21 2026-08-24
  • Data quality only. No record was added, removed, or reclassified: the counts, the coverage window, and every derived figure are identical to v1.1.
  • The two records that state an action without a number — a reciprocal-in-principle announcement and a threat to end trade talks — now carry rate_role = tbd, like the eleven others. Every blank rate_value is now a tbd row.
  • Compound event_type labels are written one way, spaced: “Implemented / Threatened”. Three rows used an unspaced form.
  • Newly documented: “Announced (deal)” as an event_type, and that datetime_et is a bare date on records with no known time of day — software that parses it will show midnight, which is an artifact rather than a time.
v1.1released 27 August 2026 · covers 2025-01-21 2026-08-24
  • 21 new source records, 22 July to 24 August 2026: the Section 301 forced-labor tariffs (10% and 12.5%), the Section 232 proclamations on polysilicon (15%) and drones (up to 100%), the quartz safeguard, the three-day suspension of the 50% Section 338 duties on Canada, and the announced 50% on Canadian cars, trucks, parts, and steel from January 2027.
  • 508 source records and 597 rate statements, up from 487 and 568. Five new sector strings and two new country strings added to the ICIO crosswalk.
v1.0released 21 August 2026 · covers 2025-01-21 2026-07-21