TiRADE

v1.4

Tariff Rates in Announcements, Declarations, and Events

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

Every 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, a link to the source, and labels that show which rows restate a measure already on record.

Every tariff rate in TiRADE, day by day, January 2025 to September 2026: threatened or announced in blue, implemented in green
Rate statements
733
one row each · 340 count each measure once
Source records
637
Speech 244 · Executive Order 220 · Social 85 · White House statement 71 · Court document 8 · Cabinet official 6 · Press report 2 · Foreign government 1
Coverage
2025-01-21 → 2026-09-13
506 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 — and then coded by hand against written coding principles: a US tariff rate stated by the President, not foreign tariffs, taxes, statistics, or counterfactuals. A few rows record events that shape the tariff record without a presidential rate — court rulings, agency notices, statements by cabinet officials — and say so in source_type.

A statement repeated across speeches, posts, and documents keeps one row per document, so the same measure can appear many times. Since v1.4 the authors' labels (tag, role, conditional) say what each row is and what it adds; the label guide below explains them. Releases v1.0 to v1.3 also carried OECD ICIO country and sector codes and US import values.

Download and explore

Released 5 October 2026 · data cutoff 13 September 2026 · Updated weekly on Mondays · a newer version is available
tirade-v1.4-rate-statements.csv
CSV · 461 KBStart here

The dataset. One row per stated tariff rate in each source document, with the authors' labels (tag, role, conditional) and a fixed row_id.

SHA-25673bd3bf56c77853a353180885b85412fb037a7c7879ae7c4af5ef8bfc113d475

Release v1.4 is a fixed snapshot; its file never changes. This is its permanent link.

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. Count each measure once with role: keep first_statement, modification, implementation_step, and climbdown. The label guide below explains every label.
  4. 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.
  5. 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.
  6. Verify any row from its excerpt and link. row_id is the fixed key of a row from v1.4 on and is the field to join on across versions; ref_id is the stable key to the source document. event_id groups records of the same action across channels but is re-keyed on every release, so never join across versions on it.

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; Cabinet official, Court document, Press report, or Foreign government on the few rows outside the President's own statements.
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 (only when an act puts the rate in force); “Announced (deal)” for a framework agreement with no rate; “Court event” for rulings and stays; 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.
row_idFixed key of the row (TRK-0001, …). Never changes or gets reused; join across versions on it.
event_idGroups records of one action across channels. Re-keyed each release.
linkURL of the transcript, post, or document.
excerptVerbatim passage supporting the row.

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). Releases v1.0 to v1.3 have no labels and carry instead the OECD ICIO enrichment (iso_matched, sector_codes_matched, USA_imp_affected_musd, stateful_direction, and intermediate fields).

How to read the labels
tagWhat is it?
instrument
An official act: order, proclamation, notice
signal
Says a rate will, may, or won't apply
story
Retells a threat, or a rate being paid
musing
A hypothetical; no intent to act
no_rate
No U.S. rate to code
roleWhat does it add?
first_statement
First mention of the measure
repeat
Same rate, said again
duplicate
Same statement, recorded twice
status_description
Describes a rate in force; nothing new
modification
A new rate for the same measure
implementation_step
The act that puts it into law
climbdown
A cut or a withdrawal
no_rate
No rate step to code
conditionalDoes it depend on the target?
1
A threat tied to what the target does
0
Everything else
planned_forWhen does it start?

The start date, schedule, or condition, as the source states it. Blank if none was stated.

To count each measure once, keep the rows whose role is first_statement, modification, implementation_step, or climbdown.

Citation

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

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.5},
  howpublished = {Global Linkages Lab, Brown University},
  url          = {https://www.globallinkages.org/datasets/tirade/v1.5},
  note         = {Data cutoff 9 October 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 in releases v1.0 to v1.3: 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.5Currentreleased 12 October 2026 · covers 2025-01-21 → 2026-10-09
  • 16 new rate statements (TRK-0735 to TRK-0750) from 9 speeches, 28 September to 9 October 2026: restatements of the 50% steel, 25% auto and 15% South Korea rates; retellings of the 200% threat to most-favored-nation drug countries, the 150% wine and champagne threat to France, the 250% threat to India and Pakistan, and the 100%, 200%, 300% threat on chips; a 10%, 50%, 250% pharmaceutical build-or-pay ladder after one, two and three years; and a generic 150% to 300% threat to companies that do not build in the US.
  • The new rows carry tag, role and conditional labels drafted by the maintainers under the authors' coding principles and approved by the reviewer. 749 rate statements, up from 733; no earlier row changed. No new country or sector strings.
v1.4released 5 October 2026 · covers 2025-01-21 → 2026-09-13
  • A revision by the dataset's authors: every statement of 2025 and 2026 re-read against written coding principles. 733 rate statements, up from 605.
  • 128 rows added: statements the earlier screens missed; acts and statements that state no rate (rate_role tbd); and rows that matter to the tariff record without a presidential rate — 8 court events, 6 statements by cabinet officials, agency notices that first stated a rate, 2 press reports, and China's 34% of April 2025 as context, each marked by source_type. One row removed.
  • Corrections to existing rows: 6 dates moved from the day a rate took effect to the day it was stated (the effective day stays in planned_for); 39 times added from the documents' own stamps; 10 event types corrected, mostly from Implemented to Threatened or Announced where no act put the rate in force; smaller fixes to rate texts, sectors, and effective dates.
  • Four new columns of the authors' coding: row_id, a fixed key never reused; tag, what the statement is; role, what it does for its measure; and conditional. Counting the rows whose role is first_statement, modification, implementation_step, or climbdown (340) counts each measure once.
  • The 14 OECD ICIO columns are removed; they remain in v1.0 to v1.3. The event keys are now filled on every row.
v1.3released 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