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

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

Open HTS Tariff & Trade Scraper on Apify

Related pages