HTS · tariffs
HTS, Federal Register, and USTR tariff-change digests
This Actor builds per-topic digests from the public Federal Register API, USITC HTS REST, and optional USTR RSS context. Keep each topic narrow (one FR query plus a small HTS code set).
Not a customs broker, landed-cost engine, or legal opinion. As-published government records only.
from $9.00 / 1,000 tariff or trade change rows ($0.009 per successfully delivered new or changed record). No Actor Start.
Open HTS Tariff & Trade Scraper on Apify
HTS Tariff & Trade Scraper, not a neighboring Actor
Use this page for this Actor’s job. Use TED, SAM.gov & Grants Bid Alerts for Procurement opportunities.
| This Actor | TED, SAM.gov & Grants Bid Alerts | |
|---|---|---|
| Intent | HTS Tariff & Trade Scraper | Procurement opportunities |
| Primary input | topics |
keywords / jurisdictions |
| What it reads | Public sources listed on the Store page | SAM/TED/Grants |
| Primary output | Dataset rows billed per live PPE | notice rows |
| Not this job | Not a customs broker, landed-cost engine, or legal opinion. As-published government records only. | Not HTS/tariff schedule changes |
Store ID: taroyamada/tariff-trade-change-digest. Respect source terms, robots.txt, and rate limits.
Use cases
- Section 301 / chapter 99 watches
- HTS line change evidence
- Ecommerce supply-chain docket tracking
How is HTS Tariff & Trade Scraper different from TED, SAM.gov & Grants Bid Alerts?
HTS Tariff & Trade Scraper (taroyamada/tariff-trade-change-digest): This Actor builds per-topic digests from the public Federal Register API, USITC HTS REST, and optional USTR RSS context. Keep each topic narrow (one FR query plus a small HTS code set). Not a customs broker, landed-cost engine, or legal opinion. As-published government records only. TED, SAM.gov & Grants Bid Alerts is for Procurement opportunities (input keywords / jurisdictions; SAM/TED/Grants; notice rows). Not HTS/tariff schedule changes.
What input is required?
Live required fields: topics. exampleRunInput is Section 301 / HTS 9903.88* with USTR context, lookbackDays 45, datasetMode all. Schema defaults lookbackDays 7, datasetMode changed_only, includeUstrContext false.
| Field | Type | Default | Notes |
|---|---|---|---|
topics |
array required | empty |
Topics / watchlists to monitor (required). One entry = one digest row. Keep each topic narrow: one Federal Register query plus one focused HTS keyword and/or small HTS code set.. item object fields: id:string (Stable … |
watchTerms |
string | empty |
Global watch terms. Comma-separated terms added to every topic for highlighting notices and context. |
lookbackDays |
integer | 7 |
Global lookback window (days). Default lookback for Federal Register and USTR context filtering. |
maxDocsPerTopic |
integer | 20 |
Max Federal Register docs per topic. Upper bound on Federal Register documents returned for each topic. |
maxPagesPerTopic |
integer | 2 |
Max Federal Register API pages per topic. Hard page cap for the Federal Register query. Keep low for recurring runs. |
maxHtsMatchesPerTopic |
integer | 15 |
Default max HTS matches per topic. Default cap for HTS evidence rows when topic.hts.maxMatches is omitted. |
delivery |
string | dataset |
Delivery mode. dataset stores the digest JSON in the Apify dataset/local output. webhook posts the full payload to webhookUrl. |
webhookUrl |
string | empty |
Webhook URL. Required only when delivery=webhook. |
datasetMode |
string | changed_only |
Dataset output mode. all emits every topic row. action_needed emits only action-needed rows. changed_only emits only topics with changes since the last run. |
snapshotKey |
string | tariff-trade-change-digest-state |
Snapshot key. Stable key used to persist seen Federal Register docs plus current HTS state across recurring runs. |
federalRegisterApiUrl |
string | https://www.federalregister.gov/api/v1/documents.json |
Federal Register API URL. Public Federal Register documents endpoint. |
htsBaseUrl |
string | https://hts.usitc.gov/reststop/ |
USITC HTS base URL. Public no-auth HTS REST base URL. |
ustrRssUrl |
string | https://ustr.gov/rss.xml |
USTR RSS URL. Optional context-only RSS feed. Default: https://ustr.gov/rss.xml |
includeUstrContext |
boolean | false |
Enable USTR context for all topics. Global default for topic.useUstrContext. |
requestTimeoutSeconds |
integer | 30 |
HTTP request timeout (seconds). Timeout for each public-source HTTP request. |
notifyOnNoChange |
boolean | false |
Emit rows even when no changes detected. When false, stable topics are omitted unless datasetMode requires them. |
dryRun |
boolean | false |
Dry run. Skip snapshot writes and webhook delivery. |
nowIso |
string | empty |
Override current time (testing). ISO timestamp used for deterministic fixture tests. |
fixturePath |
string | empty |
Fixture file path (testing). Local JSON fixture bundle for offline tests and proofs. |
Published Store example run input (omitted fields take schema defaults):
{
"topics": [
{
"id": "section-301",
"name": "Section 301 China Tariffs",
"watchTerms": "section 301,chapter 99,additional duties",
"useUstrContext": true,
"federalRegister": {
"agencySlug": "trade-representative-office-of-united-states",
"documentTypes": "NOTICE",
"keywords": "tariff"
},
"hts": {
"searchTerm": "9903.88",
"htsCodes": "9903.88.01,9903.88.03,9903.88.05",
"maxMatches": 10
}
}
],
"watchTerms": "ieepa,tariff actions",
"lookbackDays": 45,
"maxDocsPerTopic": 10,
"maxPagesPerTopic": 1,
"maxHtsMatchesPerTopic": 10,
"delivery": "dataset",
"datasetMode": "all",
"snapshotKey": "tariff-trade-section301-prod",
"notifyOnNoChange": true,
"dryRun": false
}
Run HTS Tariff & Trade Scraper on Apify
How do dataset, webhook, and dry-run delivery work?
delivery defaults to dataset on the live schema. Dataset output is the billable surface when rows are written. webhookUrl is used when delivery is webhook (and typically not during dryRun). dryRun true validates or samples without the usual dataset/webhook side effects described on the Store schema. datasetMode can limit emits to changes_only versus all. Unchanged runs that write zero default-dataset rows typically charge $0.00 on current PPE.
What does a result contain?
The published README output sample on the Store page is truncated or not valid standalone JSON. Treat README field lists as illustrations, not a live coverage guarantee. There is no published output JSON schema on the Store page.
How is HTS Tariff & Trade Scraper priced?
Billing is pay per event. The live Store card is from $9.00 / 1,000 tariff or trade change rows ($0.009 per successfully delivered new or changed record). No Actor Start. Current PPE:
| Event | Price | Emitted when |
|---|---|---|
apify-default-dataset-item (Tariff or trade change row) |
$0.009 | Charged for one successfully delivered new or changed public tariff or trade record. |
The published README Cost block is stale versus the live Store pricing tab. README Cost quotes actor-start $0.01 + dataset-item $0.003. Live: Tariff or trade change row $0.009, no start. This page quotes live PPE only.
from $9.00 / 1,000 tariff or trade change rows ($0.009 per successfully delivered new or changed record). No Actor Start.
See HTS Tariff & Trade Scraper pricing on Apify
Limits to keep in mind
- Public FR + HTS + optional USTR RSS
- Keep topics narrow
- Not customs advice
- notifyOnNoChange default false
- Respect source terms, robots.txt, and rate limits.
Open HTS Tariff & Trade Scraper on Apify
Related pages
- TED, SAM.gov & Grants Bid Alerts — Bid/opportunity notices, not HTS lines.
- Government Contract Award Change Report — Awards, not tariff schedules
- Google News Scraper — Headlines, not Federal Register/HTS
- Sanctions Change Tracker — OFAC SDN diffs, not HTS tariffs
- UN Comtrade Trade Flow Change Report — Comtrade flows, not HTS rates.
- BIS Export Control List Change Report — BIS Entity/DPL/UVL.
- Tools