Methodology
How we source, compute, and verify the data on Tariff Tracker.
Tariff Tracker is an independent resource which presents publicly available U.S. tariff and customs revenue data, drawn directly from government sources. This page describes exactly where the data comes from, how we compute the figures shown on the site, and where the limits of our data are.
If you're a journalist, researcher, or anyone planning to cite or rely on figures from Tariff Tracker, read this page. We've endeavored to be specific enough for the user to independently verify any number on the site against its original source.
Data sources
We pull from six sources. Five are federal government APIs published as part of normal public-data programs; the sixth is a research aggregate from the Yale Budget Lab.
USITC Harmonized Tariff Schedule (HTS)
- Source: U.S. International Trade Commission, official HTS publication
- Endpoint:
https://hts.usitc.gov/reststop/search(also available via bulk download) - What we pull:All ~29,583 HTS codes — 10-digit statistical suffixes, 8-digit subheadings, and parent-chapter entries — with descriptions, MFN base rates ("General"), special program rates (FTA-specific), Column 2 rates (for the small set of non-MFN countries), and Chapter 99 cross-references that identify Section 232, Section 301, IEEPA, and other special programs that apply.
- How often it updates: USITC publishes revisions periodically (39 revisions in calendar year 2025 alone, varying with policy actions). Our sync script compares the SHA-256 hash of the bulk download against the previous fetch and only re-syncs when the schedule changes.
- What's in our database: Every active HTS entry with its full hierarchy. The
total_rate(computed effective rate stacking base + special programs) is intentionally not computed by us: see Yale Budget Lab below for that.
U.S. Treasury Daily Treasury Statement (DTS)
- Source: U.S. Department of the Treasury, Bureau of the Fiscal Service
- Endpoint:
https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v1/accounting/dts/deposits_withdrawals_operating_cash/ - What we pull:Daily customs revenue from the "Deposits and Withdrawals of Operating Cash" table, filtered to the customs line item.
- How often it updates:Daily on business days. Treasury publishes the previous business day's figures around 4 PM Eastern.
- Critical detail (units): DTS reports figures in millions of dollars. Our database stores the raw value; the frontend multiplies by 1,000,000 when displaying alongside MTS data, which uses different units (see below).
- Critical detail (label changes):In November 2025, Treasury renamed the customs line from "DHS - Customs and Certain Excise Taxes" to "DHS - Customs Duties, Taxes, and Fees." Our fetcher accepts both historical labels so backfill data and current data sit in the same table without gaps.
- Critical detail (timing):DTS records customs revenue by cash collection date, not import date. Most importers settle duties via the Periodic Monthly Statement (PMS), which falls on the fifteenth business day after each month. The result: daily figures typically show $200M–$500M, with one ~$5B+ spike each month on PMS day. Don't read low daily figures as a tariff slowdown; check the PMS calendar.
U.S. Treasury Monthly Treasury Statement (MTS)
- Source: U.S. Department of the Treasury
- Endpoint:
https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v1/accounting/mts/ - What we pull: Monthly customs duties from MTS Table 4, including gross receipts, refunds, net receipts, and fiscal-year-to-date totals. We also pull all federal receipt categories from MTS Table 4 to power our Tariffs and Taxes comparison page.
- How often it updates: Monthly. Treasury publishes around the third week of the following month (e.g., May 2026 data publishes approximately mid-June 2026).
- Critical detail (units):MTS reports figures in actual dollars, including cents; different from DTS's units. This is the source of unit confusion that catches almost everyone reading Treasury data the first time. We handle the conversion in our code; you should be aware if comparing figures between our site and raw Treasury exports.
- Critical detail (table choice): The relevant customs detail lives in MTS Table 4, not Table 5 as some references suggest. Table 5 is agency outlays. Customs duties data appears in Tables 3, 4, and 7; Table 4 has the most granular breakdown.
U.S. Census Bureau International Trade Imports
- Source: U.S. Census Bureau, International Trade Division
- Endpoint:
https://api.census.gov/data/timeseries/intltrade/imports/hs - What we pull: Per-HTS-10 import volumes and calculated duties, by country of origin. As of writing, our database contains roughly 1.86 million rows covering recent ingested months.
- How often it updates: Monthly. Census publishes import data with an approximately two-month lag: for example, April 2026 figures typically publish in early June 2026. This lag is inherent to the source and unrelated to our infrastructure.
- Critical detail (filtering): Census returns multiple aggregation levels (HS-2, HS-4, HS-6, HS-10) and multiple summary types (detailed, country group) in a single API response. We filter strictly to
COMM_LVL='HS10'ANDSUMMARY_LVL='DET'AND non-zeroCAL_DUT_MOAND a country code containing no'X'characters. Without theSUMMARY_LVLfilter, regional aggregation rows would double-count on top of individual countries, inflating totals by roughly 3.6x. - Critical detail (timing vs DTS/MTS): Census reports by import month, the month goods crossed the border. DTS and MTS report by cash collection date, the month duties were paid. These typically differ by one to two months. Per-month figures will not match between sources; cross-month sums converge.
Federal Register
- Source: Office of the Federal Register, National Archives and Records Administration
- Endpoint:
https://www.federalregister.gov/api/v1/documents.json - What we pull: Rule, Proposed Rule, and Notice documents related to tariffs, trade remedies, and customs administration.
- How often it updates: Daily. The Federal Register publishes documents each business day; our sync picks up new entries within hours.
- Critical detail (filtering):The Federal Register's full-text search is loose; searching for "Section 301" returns FDA debarment orders, "safeguard" returns Medicare enrollment moratoriums, and so on. Roughly 75% of unfiltered results are non-tariff noise. We filter by the agency slug in each document's metadata, accepting only documents published by tariff-relevant agencies: the Office of the U.S. Trade Representative (USTR), the International Trade Administration (ITA), the U.S. International Trade Commission (ITC), U.S. Customs and Border Protection (CBP), the Foreign Trade Zones Board (FTZB), and the Bureau of Industry and Security (BIS). This filter drops the noise from approximately 75% to under 5%. Borderline cases that survive the filter include U.S. Customs cultural-property import restrictions (which are enforced by CBP but aren't strictly tariffs) and ITC Section 337 patent cases.
- AD/CVD orders specifically: No public API exposes antidumping and countervailing duty orders directly. We source these from Federal Register documents that match keywords
antidumpingorcountervailing dutywithin our agency-filtered set.
Yale Budget Lab Tariff Rate Tracker
- Source: Yale Budget Lab, open-source research project (MIT-licensed)
- Repository: github.com/Budget-Lab-Yale/tariff-rate-tracker
- Snapshot: As of writing, the most recent snapshot is dated April 1, 2026, published as an Excel workbook.
- What we pull:Yale's aggregate effective tariff rate (ETR) calculations across multiple cuts: overall daily ETR, ETR by tariff authority (Section 232, 301, IEEPA Reciprocal, IEEPA Fentanyl, Section 122, Base), ETR by partner region, ETR by GTAP economic sector, and a timeline of major policy events. Roughly 13,000 daily-resolution rows covering January 2025 through projections to December 2026.
- How often it updates: Yale publishes snapshots periodically rather than continuously. We load each new snapshot when it is published. Yale has indicated they may add a maintained time-series feed in the future.
- Important limitation: The published snapshot is aggregate-only. It does not include per-HTS-code or per-individual-country effective rates. This is the single biggest gap in our data layer right now. Without per-HTS data, our Rate Calculator can show only the legal rate components (MFN base + applicable special programs by Chapter 99 cross-reference) - not a finished effective-rate computation.
Critical data caveats
A few quirks of the source data that you should understand before drawing conclusions from anything on Tariff Tracker.
Unit conversion between DTS and MTS.DTS reports in millions of dollars; MTS reports in actual dollars with cents. When we display a cumulative figure that splices MTS through the most recent complete month and adds DTS for the current incomplete month, we multiply DTS by one million to put both on the same scale. If you're independently computing totals from raw Treasury exports, watch the units.
Cash collection date versus import month.DTS and MTS report customs revenue when collected (typically one to two months after the goods entered the country). Census reports trade volumes and duties calculated by import month (when goods crossed the border). The same shipment shows up in different months across these sources. Don't expect month-by-month figures to match; expect them to converge over multi-month windows.
Net versus gross customs revenue.MTS Table 4 distinguishes gross receipts from net receipts (net = gross minus refunds and drawbacks). DTS publishes a single daily figure that is closer to gross. When citing "monthly customs revenue" we use the net figure from MTS for completed months because that is the figure that flows into the federal balance sheet; we use the DTS daily total for the current incomplete month as the best provisional approximation.
The Treasury label change of November 2025. Treasury renamed the customs line item from "DHS - Customs and Certain Excise Taxes" to "DHS - Customs Duties, Taxes, and Fees" in November 2025. Older third-party charts that filter by the old label name will report zero customs revenue from late 2025 onward. We accept both labels.
HTS code format. Within our database, Census import data stores HTS codes as plain ten-digit strings (e.g., 8703230140). The USITC HTS schedule stores them in dotted format (e.g., 8703.23.01.40). When you see cross-referenced data on the site (description of a code from USITC paired with import volume from Census), we translate between formats internally.
The "Tariffed Product Lines" figure on the Dashboard. The hero stat showing "8,217 / 29,583 product lines tariffed" is currently a placeholder estimate, not a computed figure. Producing an accurate count requires per-HTS-code effective rate data from Yale, which the published snapshot does not yet include. We will replace the hardcoded figure with a computed one as soon as that data becomes available; the placeholder is flagged on the Dashboard.
How we compute headline figures
Cumulative revenue since January 2025 (shown on the Dashboard counter strip): sum of MTS Table 4 net customs receipts for every completed month from January 2025 through the most recent published MTS month, plus DTS daily customs receipts for every business day in the current incomplete month (multiplied by one million for unit alignment).
Year-to-date 2026: sum of MTS Table 4 net customs receipts for January 2026 through the most recent published MTS month, plus DTS days in the current month.
Top product categories by month (Dashboard right card): Census Bureau calculated_dutiesaggregated by HTS chapter (first two digits of the HTS code) for the most recent month with published Census data. Year-over-year deltas compare each chapter's current-month value to the same chapter in the same month one year prior.
Historical Archive cumulative totals (Itemized Duties detail view, Historical Archive page): sum of Census calculated_duties since January 2025 for the relevant HTS code, chapter, or source country.
Update cadence
| Source | Cadence | Our cron schedule (UTC) |
|---|---|---|
| USITC HTS | When USITC publishes | Daily check via hash compare |
| DTS | Each business day at ~4 PM ET | Daily weekday |
| MTS | ~Third week of following month | Monthly |
| MTS Table 4 receipts | Same as MTS | Twice monthly |
| Census imports | ~Two months after import month | Monthly |
| Federal Register | Each business day | Daily |
| Yale Budget Lab | When Yale publishes a snapshot | Manual reload |
Known gaps and limitations
We work in good faith with what's publicly available. Some things we cannot currently do, and we want you to know.
No per-HTS-code effective rate breakdown. Without Yale's per-HTS data (currently aggregate-only), we cannot show "this specific code has an effective rate of X% after Section 301 and IEEPA stacking" for individual HTS entries. The Rate Calculator shows the legal rate components and the special programs that apply to a chosen country, but does not compute a final percentage.
AD/CVD orders sourced via Federal Register filter, not authoritative API. No public API serves U.S. antidumping and countervailing duty orders directly. We source them by keyword-filtering the Federal Register feed (antidumping or countervailing duty within tariff-relevant agencies). For comprehensive AD/CVD research, also consult the ITA's Enforcement and Compliance site and Commerce Department dockets directly.
Census two-month publication lag. Census Bureau international-trade data publishes approximately two months after the import month. Our Itemized Duties and Historical Archive pages reflect this lag, as the most recent month with import detail is roughly two months behind the calendar.
No state-level revenue breakdown. Customs revenue is collected federally, not by state. Some research outlets estimate state-level burden by combining tariff data with state import-mix data; we currently do not.
Daily Treasury Statement reflects collection patterns, not economic activity. The mid-month PMS spike pattern is a payment-processing artifact, not a signal about trade flows or policy effects. Daily figures should always be read in the context of the PMS calendar.
How to verify our numbers
Every figure on Tariff Tracker can be checked against its underlying source.
- Daily customs revenue: Fiscal Service Daily Treasury Statement
- Monthly customs revenue and FYTD totals: Fiscal Service Monthly Treasury Statement
- HTS code data: USITC HTS Online
- Federal Register tariff documents: federalregister.gov
- Import volume and calculated duties by HTS code: Census USA Trade Online
- Yale Budget Lab effective rate research: budgetlab.yale.edu/research/tariff-rate-tracker
If you find a discrepancy between what Tariff Tracker shows and what the underlying source publishes, please tell us at the address below. We treat these as bugs.
Glossary
- HTS— Harmonized Tariff Schedule, the U.S. classification system for imported goods, organized into 99 chapters
- DTS— Daily Treasury Statement
- MTS— Monthly Treasury Statement
- FYTD— Fiscal Year To Date (federal fiscal year runs October 1 to September 30)
- CYTD— Calendar Year To Date
- AD/CVD— Antidumping and Countervailing Duty: trade-remedy actions imposed when foreign goods are found to be sold below fair value (AD) or subsidized by foreign governments (CVD)
- Section 232— Tariffs imposed under Section 232 of the Trade Expansion Act of 1962 for national security reasons (e.g., steel and aluminum tariffs)
- Section 301— Tariffs imposed under Section 301 of the Trade Act of 1974 in response to unfair foreign trade practices (e.g., tariffs on China)
- IEEPA— International Emergency Economic Powers Act, the authority used for several recent tariff actions including the Reciprocal Tariffs and Fentanyl tariffs
- MFN— Most Favored Nation: the standard tariff rate that applies to imports from any country with which the U.S. has normal trade relations
- USTR— Office of the United States Trade Representative
- CBP— U.S. Customs and Border Protection (the agency that collects duties)
- ITC (or USITC) — U.S. International Trade Commission
- ITA— International Trade Administration (within the Department of Commerce)
- BIS— Bureau of Industry and Security (within the Department of Commerce)
- FTZB— Foreign Trade Zones Board
- PMS— Periodic Monthly Statement, the customs duty payment program most importers use; settles roughly 15 business days after each month
Citing Tariff Tracker
If you reference data from this site in a published article or research paper, please cite both Tariff Tracker and the underlying government source. Suggested format:
Tariff Tracker (tarifftracker.org), drawing on U.S. Treasury Daily Treasury Statement data, accessed [date].
The site is updated daily. Including the date you accessed a figure helps your readers reconcile any later revisions from upstream sources.
Contact
Methodology questions, corrections, or requests for additional documentation: privacy@tarifftracker.org