Skip to content
EximAgent

Trade intelligence for AI agents.

EximAgent is an AI company organizing trade data and knowledge for AI agents. From one command line: find importers, classify HS codes, check tariffs, screen sanctions, enrich companies, and draft outreach — every result with a clear confidence label.

Choose your path
$ curl -fsSL https://cli.eximagent.ai/install | sh
View install script

New to the terminal? See the first-run guide

Not sure where to start? Book a call and we'll walk you through it.

Measured, not promised

shipment records from official customs sources
276M+
importers identified across trade lanes
578K+
of enriched companies yield a verified contact
82%
per trusted lead — vs a 12-minute manual baseline
22s
EximAgent internal benchmark: 180 companies × 3 runs, company websites hidden from the agents; the manual lane is a modeled 12-minute-per-lead baseline.
Per trusted leadAgents + EximAgentSame agents, aloneManual research
Cost$1.45$5.50$5.12
Time22s70s12 min
Trust-pass rate96%56%

EximAgent's corpus depth varies by trade lane — every query reports its own coverage envelope.

EAsearch run · germany · 6907
Ask eximagent — find buyers, look up a tariff, screen a company…
EximAgent● readyctrl+p commands

search run · germany · 6907 — EximAgent session (Buyer discovery)

$ Find German buyers for ceramic tile. Preview before it runs.

Thinking: Ceramic tile sits at heading level, so I'll classify first, then dry-run the search — nothing should bill before the criteria look right.

Classifying the product, then previewing the search.

eximagent hscode search --query "ceramic tile"6907 · ceramic flags, paving & wall tiles · heading

eximagent search run --dry-run --location DE --hsCode 6907 --direction buyerscriteria-preview · DE · ~2-4 min · token pt_42b42c…

Preview confirmed — launching the discovery pipeline.

eximagent search run --confirmed --stream --previewToken pt_42b42c…discover → crawl → describe → score → finalize

✓ collection materialized · ranked importers

Ranked importers saved to a collection. Next: enrich contacts → email draft --dry-run.

eximagent, live

Watch the agent run a real task end to end — pick a scene below: discover buyers, classify an HS code with its tariff, or screen a company for sanctions.

EAhscode search · cascade
Ask eximagent — find buyers, look up a tariff, screen a company…
EximAgent● readyctrl+p commands

hscode search · cascade — EximAgent session (HS classify)

$ Classify ceramic tile, and show how chapter-level search works.

Thinking: Name lookups run a lexical → hybrid → LLM cascade — I'll search the product, then restrict a query to chapter level to show the hierarchy.

eximagent hscode search --query "ceramic tile"690740 · ceramic flags, paving & wall tiles · subheading

✓ 6907 · ceramic flags, paving & wall tiles · heading

✓ 690730 · ceramic mosaic cubes · subheading

cascade · mode=llm · 3 candidates

eximagent hscode search --query coffee --level chapter✓ 09 · coffee, tea, maté & spices · chapter

Classified to HS 6907. Anchor the code into search run, tariff, trade lookup, or corridor save.

eximagent hscode search

Search by product name or code and get the likely HS matches, with enough detail to choose the right one before running trade checks.

EAsearch run · run status
Ask eximagent — find buyers, look up a tariff, screen a company…
EximAgent● readyctrl+p commands

search run · run status — EximAgent session (Pipeline run)

$ Kick buyer discovery for ceramic tile into Germany, then track the run.

Thinking: search run is non-blocking — the kickoff returns a runId in seconds, so I poll run status until finalize, then read run summary for cost.

eximagent --dry-run search run --product "ceramic tile" --location DE --hsCode 6907 --direction buyerscriteria-preview · DE · ~2-4 min · token pt_42b42c…

eximagent search run --confirmed --product "ceramic tile" --preview-token pt_42b42c…runId=run_8f3c · status=pending

stages · discover → crawl → describe → score → finalize

eximagent run status --runId run_8f3cstage=crawl · 18/42 · 43% · heartbeat 3s ago

eximagent run summary --runId run_8f3c✓ done · 42 companies · 5 stages · 3m12s

Collection materialized. run status tracks any live run; run summary is the post-mortem with per-stage durations + cost.

eximagent search run · run status

Buyer discovery runs as a non-blocking pipeline: discover, crawl, describe, score, finalize. Poll run status for live progress and read run summary for per-stage durations and cost.

EAtariff · trade lookup · vn → de
Ask eximagent — find buyers, look up a tariff, screen a company…
EximAgent● readyctrl+p commands

tariff · trade lookup · vn → de — EximAgent session (Tariff)

$ Duty and entry rules for ceramic tile, Vietnam → Germany?

Thinking: tariff gives the corridor read; trade lookup adds measures. Coverage on this lane is sparse, so I'll surface the web-grounded fallback honestly.

eximagent tariff --exporter VN --importer DE --product "ceramic tile"EVFTA · preferential 0% with rules of origin

verify · EU TARIC / Access2Markets · code 6907.40

source · websearch_llm (no structured row)

eximagent trade lookup --exporter VN --importer DE --hsCode 690740 --type allno authoritative row · web fallback

fallback · 0% under EVFTA with EUR.1, else ~4% MFN

Duty-free under EVFTA if origin is proven (EUR.1); otherwise ~4% MFN. Coverage is sparse here — confirm on Access2Markets.

eximagent tariff · trade lookup

Enter the exporter, importer, and HS code to see duty rates, available preferential rates, VAT, and key product requirements from official tariff sources.

EAsanctions check · OFAC SDN
Ask eximagent — find buyers, look up a tariff, screen a company…
EximAgent● readyctrl+p commands

sanctions check · OFAC SDN — EximAgent session (Sanctions)

$ Screen two counterparties against OFAC before we engage.

Thinking: sanctions check is substring + alias matching against the OFAC SDN list — it catches parent entities and trading arms. Advisory only.

eximagent sanctions check --name "Northstar Trading GmbH"cleared · 0 matches

eximagent sanctions check --name "Rosneft"3 SDN matches

✕ OJSC Rosneft Oil Company · UKRAINE-EO13662 / RUSSIA-EO14024

! Rosneft Trading S.A. · UKRAINE-EO13662 / VENEZUELA-EO13850

Northstar clears; Rosneft hits 3 SDN entries — do not engage. Advisory; final clearance stays with legal.

eximagent sanctions check

Screen a company name or bulk list against the OFAC SDN list, flag likely matches, and send review cases to the right legal or compliance owner.

Turn trade context into buyer outreach

Use your company profile, notes, and templates to draft outreach. Preview every message first, confirm before sending, and keep replies attached to each company.

Personal enough to send. Controlled enough to scale.

EximAgent turns your trade context into buyer-ready drafts, but keeps review and approval in front of every outbound message.

  • Drafts use your real contextCompany profile, product notes, pricing files, and templates shape the message before it reaches a buyer.
  • Nothing sends without reviewDry-run previews show every email first. Sending requires confirmation, with a short countdown before messages leave.
EAemail draft → send
Ask eximagent — find buyers, look up a tariff, screen a company…
EximAgent● readyctrl+p commands

email draft → send — EximAgent session (Outreach)

$ Draft cold-intro emails for the shortlist, preview, then send.

Thinking: Outreach is preview-first: dry-run every draft with profile + KB context attached, and never send without an explicit --confirm.

eximagent profile get ✓ profile · exporter signature + product notes loaded

eximagent template list ✓ templates · cold-intro · follow-up · distributor-quote

eximagent email draft --collectionId germany-ceramic-buyers --templateName cold-intro --brief 'EVFTA, FOB Haiphong' --dry-rundry-run · 42 drafts generated · 0 sent

preview · "Subject: HS 6907 ceramic tile supply — Vietnam FOB…"

✓ kb context · tariff-notes.txt + pricing.pdf attached

eximagent email send --collectionId germany-ceramic-buyers --confirmcountdown · sending in 10s · ctrl-c to abort

✓ sent · 42 messages · stage=outbound-1

Sent. Reply-stage is tracked per company in company-memory for follow-ups.

EAinstall → login → first result
Ask eximagent — find buyers, look up a tariff, screen a company…
EximAgent● readyctrl+p commands

install → login → first result — EximAgent session (First run)

$ curl -fsSL https://cli.eximagent.ai/install | sh

[eximagent] downloading v0.1.311 for darwin-arm64...

[eximagent] ready on PATH: ~/.eximagent/bin/eximagent

$ eximagent login

opening browser: https://cli.eximagent.ai/device?user_code=GVGSA8EP

(if no browser opens, paste the URL above; code: GVGSA8EP)

waiting for browser authorization...

✓ authorized — session saved to keyring

$ eximagent whoami

{"backend":"https://cli.eximagent.ai","mode":"device-flow","storage":"keyring","userId":"[email protected]","tier":"user"}

$ eximagent hscode search --query "ceramic tile"

✓ matched 5 HS codes — top: 690723 · ceramic flags, paving & wall tiles · subheading

next: eximagent tariff --exporter <iso> --importer <iso> --product ...

Three commands and you're live. Try `eximagent tariff` next — or paste the skill into your AI assistant and let it drive.

eximagent · first run

The whole setup end to end: install, sign in with the device flow, check your account, and classify your first product — about two minutes in a fresh terminal.

EximAgent is a trade-intelligence CLI built for AI agents and the teams behind them. From a single command line it runs buyer and importer discovery, HS-code classification, tariff and NTM lookups, OFAC sanctions screening, company and contact enrichment, and staged outreach. Every row it returns carries a source and a confidence label, so an agent can act on verified data and flag anything that still needs a human eye. A sourcing team might use it to find importers for a product, confirm the right HS code and duty rate, and screen each company before reaching out. You can run it from the command line, drive the same capabilities from the web app, or hand it to an AI assistant as a skill so the assistant operates EximAgent on your behalf — the data and confidence labels read the same whichever way you reach them.

In our internal benchmark, a trusted lead costs $1.45 and takes about 22 seconds with EximAgent, versus $5.50 and 70 seconds for the same AI agents working alone, and $5.12 against a modeled 12-minute-per-lead manual baseline. The quality gap is wider than the speed gap: 96% of EximAgent-assisted leads passed the trust check, versus 56% for independent agents. The setup was deliberately hard on us — 180 standard companies, three repeated runs, and the companies' websites hidden from the agents, so the numbers measure the indexed data layer rather than an agent's ability to browse. Behind those results sit 276 million-plus shipment records from official customs sources and 578,000-plus identified importers, with 82% of enriched companies yielding a verified contact. Corpus depth varies by trade lane, and every query reports its own coverage envelope.

Installing the CLI and creating an account are free — you pay only for what you run. Billing is usage-based per command: anything billable shows a cost preview first and waits for your explicit confirmation, so a run never charges you without showing its scope and price up front. Bulk jobs preview the same way, which is how you confirm the cost of a few-hundred-company run before it starts. Read-only HS-code lookups on the hub are free with no install or account. As a reference point for scale, our published benchmark measured $1.45 per trusted lead end to end.

It draws on importer and exporter discovery data, WTO and national tariff schedules, the OFAC SDN sanctions list, and live crawls of company websites. Tariff and HS lookups come from official schedules, sanctions checks run against the published SDN data, and buyer discovery and enrichment combine trade records with what the CLI reads from a company's own site. It also reads per-shipment customs and bill-of-lading records, and resolves and verifies decision-maker contacts through people-search and LinkedIn, with web search mapping a raw company name to its canonical site. Every result includes the source it came from, and shipment queries report their own coverage — so your team can trace any row back to where the data originated, see where the data is complete, partial, or unavailable, and decide how far to trust it.

Every contact field comes back as a value paired with its source and a confidence label. Data confirmed by a provider is marked verified; anything the CLI extracted from a website or inferred from other signals is returned as a candidate, not a fact. The labels form a single ladder — verified for provider-confirmed facts, extracted for fields pulled from a website crawl, heuristic for values derived from secondary signals, and inferred for a model's best guess from context — so the gap between a confirmed fact and a hypothesis is always explicit. That separation lets an agent use verified addresses straight away while holding candidates back for a quick human check, so outreach never goes out on a guess. The same value-source-confidence shape is used across enrichment, so confidence reads the same wherever data appears.

Yes. Bulk commands take a list of companies and process them in one run, streaming structured results back as each one resolves instead of forcing one tool call per company. An agent can hand over hundreds of rows, keep working, and read results as they arrive, with each row tagged by company so nothing gets mixed up. When a name is ambiguous, auto-pick resolves the best match, so large lists run without a human disambiguating every entry. Because results stream back tagged by company, you can pipe a bulk discovery straight into enrichment and then staged outreach without re-keying the list, and the run's collections and history stay saved to your account for later sessions. Billable steps still preview before they commit, so you can confirm the scope and cost of a few-hundred-row job before it runs.

Outreach always starts with a dry-run preview that shows exactly what would be sent and to whom. Nothing leaves until you explicitly confirm, and a countdown gives you a final window to cancel before the first message goes out. Once sending begins, replies are tracked per company and the outreach stage is recorded, so an agent can follow up based on where each conversation actually stands rather than re-sending blindly. Sanctions screening runs as an advisory first pass, so you can flag a counterparty before you ever draft a message, while final clearance stays with you and your legal team. Message templates, notes, and per-company stage are kept with each contact, so a sequence picks up exactly where the last touch left off. Opt-outs are honored automatically through a suppression list, so once someone unsubscribes they stay excluded from every later send without you tracking it by hand.

Your collections, saved trade routes, message templates, notes, and per-company history are tied to your authenticated account, not written into your local project files. That keeps prospect lists and negotiation history out of your repo and available across your own sessions instead of leaking into version control. Sign-in is handled through the CLI's own login, so the data stays scoped to you and travels with your account rather than the machine you happen to be on. Because the workspace lives behind your login rather than in the working directory, you can move between machines or hand a task to an agent without copying state around, and nothing you save is shared into another user's account. Sign-in runs through an OAuth device flow rather than a stored password, and the access tokens it issues can be revoked at any time, so account access stays under your control.

Because those are web chats, not agents with access to your machine. The skill file at cli.eximagent.ai/skill is a set of instructions that teaches an AI agent how to run eximagent commands — so the assistant reading it must be able to execute commands in a terminal on your computer. Coding agents like Claude Code, Cursor, Windsurf, and Codex CLI can do exactly that: paste the one-line prompt, and the agent reads the skill, installs the CLI if needed, and drives it for you. A chat website can at best read the file and summarize it — it has no terminal, so nothing runs. If you are in a web chat, the recommended path is the CLI: install it with the one-line command at the top of the page and type commands directly, or hand the skill to a coding agent. The web app at app.eximagent.ai remains available if you prefer not to install anything.

Plug your agent into the trade-data lab

One CLI for HS codes, tariffs, sanctions, buyer discovery, enrichment, and outreach. Get structured results, clear confidence labels, and bulk workflows without stitching tools together.