Tony Wang6 min readHow to Scrape ImportYeti in 2026 (API & Python)
Scrape ImportYeti in 2026 — search suppliers by name and pull US customs shipment-volume reports as structured JSON — DIY, no-code, or a structured API.
The fastest way to scrape ImportYeti in 2026 is to call a structured API that returns normalized JSON for company and supplier search plus full company reports — instead of parsing ImportYeti's rendered pages yourself. ImportYeti turns US Customs Bill of Lading records into a searchable directory of suppliers and manufacturers shipping into the US, but it has no self-serve public API and its Terms of Service are explicit about automated access. This guide covers what's actually there, where DIY breaks, and the legal basics.
Why scrape ImportYeti?
ImportYeti's search and company-report data is built for supply-chain and sourcing workflows:
- Supplier discovery — search a product category or company name to find which factories and manufacturers are shipping that kind of product into the US.
- Competitor supplier research — look up a known brand or competitor's company profile to see who their suppliers are and how their import volume trends.
- Sourcing due diligence — pull a candidate supplier's headline shipment-volume metrics before reaching out, as a quick sanity check on scale and activity.
- Vendor and supply-chain monitoring — re-run a company report on a schedule to track whether a supplier's US customs shipment volume is growing, flat, or dropping off.
Is it legal to scrape ImportYeti?
Option 1: DIY in Python (and why it breaks)
A DIY scraper requests ImportYeti's search and company-profile pages and parses the rendered HTML:
import requests
from bs4 import BeautifulSoup
resp = requests.get(
"https://www.importyeti.com/company/some-company-slug",
headers={"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"},
)
soup = BeautifulSoup(resp.text, "html.parser")
# Company identity fields and shipment-volume metrics render as
# client-side data, not consistently selectable static markup
It demos and then breaks:
- The Terms of Service name automated retrieval directly. ImportYeti's terms explicitly prohibit robots, spiders, and "any... manual or automatic device or process" used to retrieve, index, or data-mine the site — this is a real, quoted restriction, not a generic boilerplate clause.
- No public search or company API to build against. There's no self-serve developer program — every field you'd want has to be scraped off a rendered page, with no stable schema guarantee across a redesign.
- Two different result kinds under one search. ImportYeti's search mixes companies and suppliers in the same results, and a naive scraper has to correctly distinguish the two before deciding what page to fetch next.
- Resale is off the table by the terms themselves. Even a working scraper doesn't solve the bigger constraint — ImportYeti's authorized use is non-commercial, so a scraped dataset still can't be sold or redistributed under those terms.
Option 2: No-code tools
Marketplace scraper actors for ImportYeti exist and can pull a one-off company page into a spreadsheet, but they inherit the same Terms of Service exposure as DIY — "any... manual or automatic device or process" isn't limited to hand-written code — and they don't give you a stable, versioned schema for a repeatable sourcing pipeline.
Option 3: A structured ImportYeti API
For a repeatable workflow, Crawlora's ImportYeti API returns normalized JSON for company/supplier search and full company reports — no page parsing, no credentials, and no ImportYeti account or API key required from the caller. Search by company or supplier name:
curl "https://api.crawlora.net/api/v1/importyeti/search?query=stanley" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"results": [
{
"kind": "company",
"slug": "stanley-black-decker-inc",
"name": "Stanley Black & Decker, Inc.",
"country": "United States",
"address": "1000 Stanley Drive, New Britain, CT"
},
{
"kind": "supplier",
"slug": "stanley-industrial-and-automotive-llc",
"name": "Stanley Industrial And Automotive LLC",
"country": "United States",
"address": ""
}
]
}
}
Then pass a company slug from search results to the company-report endpoint in Python:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/importyeti"
hits = requests.get(f"{base}/search", headers=h, params={"query": "stanley"}).json()["data"]["results"]
slug = hits[0]["slug"]
report = requests.get(f"{base}/company", headers=h, params={"slug": slug}).json()["data"]
A company report is normalized JSON — identity fields plus headline US customs shipment-volume metrics (check the docs for the real field set):
{
"code": 200,
"msg": "OK",
"data": {
"slug": "stanley-black-decker-inc",
"name": "Stanley Black & Decker, Inc.",
"address": "1000 Stanley Drive, New Britain, CT",
"phone": "1-8**-***-****",
"website": "stanleyblackanddecker.com",
"shipment_count": 4218,
"supplier_count": 187,
"first_shipment_date": "2015-01-06",
"last_shipment_date": "2026-08-09"
}
}
Store one row per company per pull, keyed by slug, and re-run on a schedule to track shipment_count and supplier_count trends over time.
What you can collect
Search results (kind — company or supplier — slug, name, country, and address) and full company reports (identity fields — name, address, masked phone, website — plus headline US customs shipment-volume metrics such as shipment count, supplier count, and first/last shipment dates). Public data as ImportYeti already surfaces it — not a way to reconstruct raw, unaggregated Bill of Lading records or bypass ImportYeti's own paid subscription tiers for deeper shipment-level detail.
Limitations and common challenges
- Search returns companies and suppliers together. Filter on
kindbefore deciding what to do next — a company slug and a supplier slug aren't interchangeable inputs elsewhere in a pipeline. - Headline metrics, not raw shipment records. This is company-level aggregation (shipment counts, supplier counts, date ranges) — not a line-by-line export of every Bill of Lading entry, which is what ImportYeti's own paid tiers go deeper on.
- Phone numbers come back masked. Contact fields like phone are partially redacted in the public report, matching what ImportYeti itself shows without a paid account.
- Non-commercial resale restriction under ImportYeti's terms. Even collected legitimately, the site's own terms scope authorized use to non-commercial purposes and bar selling information or data accessed through the site — plan any commercial use accordingly.
- No bulk export. There's no official feed of ImportYeti's full company directory — build coverage by iterating search queries by product category, keyword, or known company/supplier names.
Where this gets used
- Supplier sourcing pipelines — search by product category, then pull company reports for the top candidates before outreach.
- Competitor supply-chain research — track a competitor's known suppliers and their shipment-volume trend over time.
- Vendor risk monitoring — re-run a company report on a schedule to flag a supplier whose shipment volume drops sharply.
Sources
Start collecting
Try it first, free: run any public URL through the Free Web Scraper, or check whether a site blocks bots with the Anti-Bot Checker — no signup.
Test the search and company-report endpoints in the Playground, check the schema in the API docs, and review pricing. For the same aggregated-company-intelligence pattern in a different market, see how to scrape PitchBook; for another public-records-based data source, see how to scrape SEC EDGAR; and for the people side of supplier and vendor research, see how to scrape LinkedIn. See also how to choose a web scraping API and is web scraping legal.
Part of our how-to-scrape guide series — every platform we cover, in one index.
Frequently asked questions
How do I search ImportYeti companies with an API?
Send a company or supplier name to Crawlora's /importyeti/search endpoint and get normalized results — kind, slug, country, and address — as structured JSON.
Does the ImportYeti API require an account or API key?
No ImportYeti account or API key is required from the caller — only your Crawlora API key.
What does the company report include?
Identity fields (name, address, masked phone, website) plus headline US customs shipment-volume metrics for that company.