{
  "data": {
    "id": "O0Y7U0Bu210prMcLE",
    "actId": "Z6yBfXjhmwlemWc6w",
    "userId": "IYgBDiXtHOijAaUel",
    "startedAt": "2026-11-09T12:47:40.491Z",
    "finishedAt": "2026-11-09T12:47:50.263Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 9684,
      "runTimeSecs": 9.684,
      "computeUnits": 0.01076,
      "imageSizeBytes": 319497728
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "QYo53EZkJk0prePWY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"ImportYeti Trade, Supplier & Shipment Data Scraper Input\",\n  \"description\": \"Search US importers and global suppliers, load US import/export and Mexico company profiles, or explore an HS code page. Public data only; no ImportYeti account required.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"description\": \"What to do. Search by keyword, load specific company/supplier profiles, or explore an HS code.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"searchImporters\",\n        \"searchSuppliers\",\n        \"companyProfile\",\n        \"searchByHsCode\"\n      ],\n      \"enumTitles\": [\n        \"Search US importers by company or product keyword\",\n        \"Search global suppliers by company name\",\n        \"Load company/supplier profiles from URLs or slugs (US import, US export, Mexico)\",\n        \"Search companies and suppliers by HS code\"\n      ],\n      \"default\": \"searchImporters\",\n      \"prefill\": \"searchImporters\"\n    },\n    \"query\": {\n      \"title\": \"Search Query\",\n      \"type\": \"string\",\n      \"description\": \"Company name or product keyword for searchImporters/searchSuppliers. Optional in companyProfile (a profile URL here is used when startUrls is empty) and in searchByHsCode (a numeric HS code here is used when hsCode is empty).\",\n      \"editor\": \"textfield\",\n      \"default\": \"electronics\",\n      \"prefill\": \"electronics\"\n    },\n    \"startUrls\": {\n      \"title\": \"Company / Supplier URLs\",\n      \"type\": \"array\",\n      \"description\": \"For companyProfile: ImportYeti profile URLs or paths. Accepts company/..., supplier/..., us-export/company/..., mx/company/..., and mx/supplier/... (e.g. https://www.importyeti.com/company/samsung-electronics-america or supplier/foxconn). Bare slugs are treated as US company profiles.\",\n      \"editor\": \"requestListSources\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"url\": {\n            \"type\": \"string\",\n            \"title\": \"Profile URL\",\n            \"description\": \"ImportYeti company or supplier profile URL.\"\n          }\n        }\n      },\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"hsCode\": {\n      \"title\": \"HS Code\",\n      \"type\": \"string\",\n      \"description\": \"For searchByHsCode: 2-10 digits. 2-digit chapters (84) and 4-digit headings (8418) load their page directly; 6+ digit subheadings use the HS search API (e.g. 841810 or 8418.10). 8- and 10-digit HTS codes fall back to the 6-digit subheading when needed.\",\n      \"editor\": \"textfield\"\n    },\n    \"maxItems\": {\n      \"title\": \"Max Records\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum number of dataset records across companies, HS summaries, and shipment rows.\",\n      \"minimum\": 1,\n      \"maximum\": 500,\n      \"default\": 20,\n      \"prefill\": 3\n    },\n    \"includeShipments\": {\n      \"title\": \"Include shipment rows\",\n      \"type\": \"boolean\",\n      \"description\": \"Add one record per recent bill of lading with recordType=shipment. US import profiles expose up to 100 recent BOLs (two 50-row views merged by BOL); US export and Mexico profiles expose up to 50. In search modes this costs one extra profile request per company.\",\n      \"default\": false,\n      \"prefill\": false,\n      \"sectionCaption\": \"Profile and shipment options\",\n      \"sectionDescription\": \"Optional filters and shipment rows. All fields are omit-empty.\"\n    },\n    \"since\": {\n      \"title\": \"Only on/after date\",\n      \"type\": \"string\",\n      \"description\": \"Optional recency filter, YYYY-MM-DD or DD/MM/YYYY. Applies to shipment dates and to a company's most recent shipment date. Records without a date are excluded when this is set.\",\n      \"editor\": \"textfield\"\n    },\n    \"addressContains\": {\n      \"title\": \"Address contains\",\n      \"type\": \"string\",\n      \"editor\": \"textfield\",\n      \"description\": \"Optional case-insensitive filter on the company or supplier address, e.g. a state, city, or street keyword.\"\n    },\n    \"proxyConfiguration\": {\n      \"title\": \"Proxy Configuration\",\n      \"type\": \"object\",\n      \"description\": \"Optional proxy settings. ImportYeti allows about 25 requests per IP before a login wall; Apify Proxy AUTO (included in the plan) rotates exit IPs. No residential proxy is required.\",\n      \"editor\": \"proxy\",\n      \"default\": {\n        \"useApifyProxy\": true\n      },\n      \"prefill\": {\n        \"useApifyProxy\": true\n      },\n      \"sectionCaption\": \"Proxy\",\n      \"sectionDescription\": \"AUTO datacenter proxy is enough. Leave the default for cloud runs.\"\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# ImportYeti Trade, Supplier & Shipment Scraper\r\n\r\nSearch **ImportYeti** and pull three kinds of data from one actor across its public **US import**, **US export**, and **Mexico** datasets:\r\n\r\n- **Company and supplier records** from keyword search, profile URLs, or an HS code.\r\n- **Full profile enrichment** for importers, exporters, and overseas suppliers: website, phone/contact info, geography, 12-month activity, quarterly growth, monthly time series, partners, ports and lanes, carriers/SCAC, containers, HS and HTS breakdowns, notify parties, other addresses, other websites, trademarks, and UFLPA status.\r\n- **Shipment rows** — one record per recent bill of lading, with BOL/master BOL, date, counterparty, route, transport type, weight, containers, quantity, product description, and CIF value when the source publishes it.\r\n\r\nNo ImportYeti account, cookie, or API key is required. Every record has a `recordType` (`company`, `supplier`, `hsCode`, or `shipment`) so you can split the dataset into streams. Every record also carries `dataset` (`us-import`, `us-export`, or `mx`), and profile/shipment records carry `sourceDomain`, so records from different datasets stay distinguishable.\r\n\r\n## Modes\r\n\r\n| Mode | Input | What you get |\r\n|---|---|---|\r\n| `searchImporters` | `query` | US importer summaries, paged until `maxItems` |\r\n| `searchSuppliers` | `query` | Overseas supplier summaries, paged until `maxItems` |\r\n| `companyProfile` | `startUrls` (URL or slug) | One enriched profile per US import company/supplier, US export company, or Mexico company/supplier |\r\n| `searchByHsCode` | `hsCode` (2–10 digits) | HS summary, top importing companies, top suppliers, and optionally recent shipments under that code |\r\n\r\n`includeShipments` adds shipment rows in `companyProfile` and `searchByHsCode`, and in the two search modes it fetches each matched company profile once to add its recent shipments.\r\n\r\n## Input\r\n\r\n| Field | Type | Default | Description |\r\n|---|---|---|---|\r\n| `mode` | string | `searchImporters` | One of the four modes above |\r\n| `query` | string | `electronics` | Company name or product keyword for search modes; also accepted as a profile URL fallback or numeric HS-code fallback |\r\n| `startUrls` | array | `[]` | `companyProfile` targets: full ImportYeti URLs or paths — `company/...`, `supplier/...`, `us-export/company/...`, `mx/company/...`, `mx/supplier/...` — or bare US company slugs |\r\n| `hsCode` | string | — | `searchByHsCode` target with 2–10 digits. 2-digit chapters (`84`) and 4-digit headings (`8418`) load directly; 6+ digit subheadings use the HS search API (e.g. `841810` or `8418.10`); 8/10-digit HTS codes fall back to the 6-digit subheading |\r\n| `maxItems` | integer | `20` | Total dataset records, 1–500 |\r\n| `includeShipments` | boolean | `false` | Add one record per recent BOL (`recordType: \"shipment\"`) |\r\n| `since` | string | — | Recency filter (`YYYY-MM-DD` or `DD/MM/YYYY`) for shipment dates and a company's most recent shipment date |\r\n| `addressContains` | string | — | Case-insensitive filter on company/supplier address (state, city, street) |\r\n| `proxyConfiguration` | object | `{\"useApifyProxy\": true}` | Optional. AUTO datacenter proxy is enough; no residential proxy needed |\r\n\r\n## Examples\r\n\r\nSearch US importers:\r\n\r\n```json\r\n{\r\n  \"mode\": \"searchImporters\",\r\n  \"query\": \"lithium battery\",\r\n  \"maxItems\": 100\r\n}\r\n```\r\n\r\nLoad a company profile and its recent shipments:\r\n\r\n```json\r\n{\r\n  \"mode\": \"companyProfile\",\r\n  \"startUrls\": [\r\n    {\"url\": \"https://www.importyeti.com/company/samsung-electronics-america\"}\r\n  ],\r\n  \"includeShipments\": true,\r\n  \"maxItems\": 60\r\n}\r\n```\r\n\r\nLoad a supplier by URL or slug:\r\n\r\n```json\r\n{\r\n  \"mode\": \"companyProfile\",\r\n  \"startUrls\": [{\"url\": \"supplier/foxconn\"}],\r\n  \"maxItems\": 5\r\n}\r\n```\r\n\r\nLoad US export and Mexico profiles:\r\n\r\n```json\r\n{\r\n  \"mode\": \"companyProfile\",\r\n  \"startUrls\": [\r\n    {\"url\": \"https://www.importyeti.com/us-export/company/ikea-supply\"},\r\n    {\"url\": \"https://www.importyeti.com/mx/company/latex-centroamericana\"},\r\n    {\"url\": \"https://www.importyeti.com/mx/supplier/mic650113792\"}\r\n  ],\r\n  \"includeShipments\": true,\r\n  \"maxItems\": 60\r\n}\r\n```\r\n\r\nExplore a 4-digit HS heading:\r\n\r\n```json\r\n{\r\n  \"mode\": \"searchByHsCode\",\r\n  \"hsCode\": \"8418\",\r\n  \"includeShipments\": true,\r\n  \"maxItems\": 25\r\n}\r\n```\r\n\r\nExplore an HS subheading:\r\n\r\n```json\r\n{\r\n  \"mode\": \"searchByHsCode\",\r\n  \"hsCode\": \"841810\",\r\n  \"includeShipments\": true,\r\n  \"maxItems\": 25\r\n}\r\n```\r\n\r\nSearch with filters:\r\n\r\n```json\r\n{\r\n  \"mode\": \"searchImporters\",\r\n  \"query\": \"furniture\",\r\n  \"addressContains\": \"North Carolina\",\r\n  \"since\": \"2026-01-01\",\r\n  \"maxItems\": 50\r\n}\r\n```\r\n\r\n## Output\r\n\r\n### Company / supplier records (`recordType: \"company\"` or `\"supplier\"`)\r\n\r\nCore fields: `companyName`, `type`, `dataset`, `sourceDomain`, `country`, `countryName`, `address`, `website`, `phoneNumber`, `phones`, `companyUrl`, `totalShipments`, `shipments12m`, `mostRecentShipment`, `otherAddressesCount`, `otherNamesCount`, `trademarks`, `scrapedAt`.\r\n\r\nProfile enrichment (when the profile page is loaded): `alsoKnownNames`, `otherAddresses`, `otherWebsites`, `trademarkDetails`, `uflpa`, `hasInternalShipments`, `internalSuppliersCount`, `notifyPartyShipments`, `notifyPartyShipmentsPercent`, `geo`, `dateRange`, `avgTeuPerMonth`, `avgTeuPerShipment`, `quarterlyGrowth`, `timeSeries` (up to 120 monthly points), `totalShippingCostUsd`, `shippingCostCoveragePercent`.\r\n\r\n`phones` lists the contact numbers ImportYeti publishes for the company's addresses, with shipment/company/address counts and the last shipment date/BOL. The masked display numbers (`XXX-XXX-X000`) are omitted; `phoneNumber` is only present when the source publishes an unmasked main number.\r\n\r\nBreakdowns: `partners` (suppliers for a US importer, customers for a supplier), `partnerRole`, `notifyParties`, `carriers`, `carriersByCountry`, `lanes`, `containers`, `containerLoad`, `hsCodes`, `htsCodes`, `topImportHsChapters`, `billTypeShipments`, `tags`.\r\n\r\n### HS code record (`recordType: \"hsCode\"`)\r\n\r\n`dataset` (`us-import`), `hsCode`, `description`, `exactDescription`, `totalShipments`, `tariff`, `dateRange`, `totals` (weight/TEU), `companyCount`, `supplierCount`, `companyUrl`, `scrapedAt`.\r\n\r\n### Shipment record (`recordType: \"shipment\"`)\r\n\r\n`companyName` / `companyUrl` / `companyType` / `dataset` / `sourceDomain` (the profile owner in profile/search modes; absent in HS-code shipment rows), `bol`, `bolId`, `masterBol`, `houseBol`, `billTypeCode`, `billType`, `transportType`, `date`, `counterpartyName`, `counterpartyAddress`, `counterpartyCountry`, `counterpartyCountryCode`, `counterpartyUrl`, `shipperName`, `weightKg`, `containersCount`, `quantity`, `quantityUnit`, `productDescription`, `shippingRoute`, `shippingCostUsd`, `cifValueUsd`, `cifBillType`, `hsCode` (in HS mode), `scrapedAt`.\r\n\r\nAll records are omit-empty: a field the source does not publish is left out, never returned as `null` or a placeholder.\r\n\r\n## Use cases\r\n\r\n- **Sourcing** — find suppliers that already ship a product category, then inspect their lanes and carriers.\r\n- **B2B lead generation** — build importer lists by keyword, address, or HS code.\r\n- **Competitive intelligence** — compare shipment volume, 12-month activity, quarterly growth, and recent BOLs.\r\n- **Supply-chain risk** — map countries, ports, carriers, and notify parties for a counterparty.\r\n- **Trade finance** — use shipment recency and CIF values as activity signals.\r\n- **Tariff and product research** — start from an HS code and see who imports it and under which HTS lines.\r\n\r\n## FAQ\r\n\r\n**Where does this data come from?** Public records ImportYeti indexes: US Customs ocean bills of lading (US import dataset), US export bills of lading, and Mexico's SAT customs records (the `mx` dataset). Each profile record reports its `dataset`.\r\n\r\n**Is this affiliated with ImportYeti?** No. This is a third-party actor that reads ImportYeti's public pages.\r\n\r\n**Do I need an ImportYeti account?** No. The actor uses only public pages. It never logs in, and it does not bypass login walls or paid views.\r\n\r\n**What are the hard limits?** ImportYeti allows roughly **25 pageviews per IP** before asking for a login. Public profiles expose at most **100 recent BOLs for US import companies** (two 50-row views merged by BOL) and up to **50 for US export and Mexico profiles**; that is the source ceiling, not an actor cap. Full BOL details, full contact records, and power-query exports require an ImportYeti login or paid plan and are out of scope. The US import dataset covers **ocean imports** only (no air freight); the US export and Mexico datasets are separate and the Mexico records include truck/air/sea transport types where the source publishes them.\r\n\r\n**Why enable proxy?** On Apify cloud many runs share exit IPs. AUTO datacenter proxy rotation keeps the request budget fresh; no residential proxy is required. The daily-test prefill stays on the cheapest path that returns records.\r\n\r\n**What happens when the limit is hit?** The run rotates proxy sessions when configured, keeps the records already collected, and ends with a status message instead of failing. A profile that cannot be loaded is skipped with a log line.\r\n\r\n**Why do some 2- and 4-digit HS pages lack a tariff?** ImportYeti publishes tariff/AHTN detail on 6+ digit subheading pages. Chapter and heading pages still return the summary, top companies/suppliers, and recent BOL rows.\r\n\r\n**Why do some shipment rows lack CIF values?** ImportYeti publishes two recent-BOL views for US import profiles. The actor merges them by BOL number; fields only one view carries are filled when present and omitted otherwise.\r\n\r\n**How current are the dates?** Customs data is published with a lag of a few weeks, so the latest shipment date usually trails today even for very active importers.\r\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "importyeti-us-importer-and-global-supplier-search",
      "title": "ImportYeti US Importer & Global Supplier Search",
      "description": "Search US importers and suppliers by company, product, or HS code, or load US import, US export, and Mexico profiles with partners, lanes, carriers, HS/HTS data, contacts, and optional BOL shipment rows.",
      "version": "1.1",
      "buildTag": "latest",
      "dockerfile": "Dockerfile",
      "readme": "# ImportYeti Trade, Supplier & Shipment Scraper\r\n\r\nSearch **ImportYeti** and pull three kinds of data from one actor across its public **US import**, **US export**, and **Mexico** datasets:\r\n\r\n- **Company and supplier records** from keyword search, profile URLs, or an HS code.\r\n- **Full profile enrichment** for importers, exporters, and overseas suppliers: website, phone/contact info, geography, 12-month activity, quarterly growth, monthly time series, partners, ports and lanes, carriers/SCAC, containers, HS and HTS breakdowns, notify parties, other addresses, other websites, trademarks, and UFLPA status.\r\n- **Shipment rows** — one record per recent bill of lading, with BOL/master BOL, date, counterparty, route, transport type, weight, containers, quantity, product description, and CIF value when the source publishes it.\r\n\r\nNo ImportYeti account, cookie, or API key is required. Every record has a `recordType` (`company`, `supplier`, `hsCode`, or `shipment`) so you can split the dataset into streams. Every record also carries `dataset` (`us-import`, `us-export`, or `mx`), and profile/shipment records carry `sourceDomain`, so records from different datasets stay distinguishable.\r\n\r\n## Modes\r\n\r\n| Mode | Input | What you get |\r\n|---|---|---|\r\n| `searchImporters` | `query` | US importer summaries, paged until `maxItems` |\r\n| `searchSuppliers` | `query` | Overseas supplier summaries, paged until `maxItems` |\r\n| `companyProfile` | `startUrls` (URL or slug) | One enriched profile per US import company/supplier, US export company, or Mexico company/supplier |\r\n| `searchByHsCode` | `hsCode` (2–10 digits) | HS summary, top importing companies, top suppliers, and optionally recent shipments under that code |\r\n\r\n`includeShipments` adds shipment rows in `companyProfile` and `searchByHsCode`, and in the two search modes it fetches each matched company profile once to add its recent shipments.\r\n\r\n## Input\r\n\r\n| Field | Type | Default | Description |\r\n|---|---|---|---|\r\n| `mode` | string | `searchImporters` | One of the four modes above |\r\n| `query` | string | `electronics` | Company name or product keyword for search modes; also accepted as a profile URL fallback or numeric HS-code fallback |\r\n| `startUrls` | array | `[]` | `companyProfile` targets: full ImportYeti URLs or paths — `company/...`, `supplier/...`, `us-export/company/...`, `mx/company/...`, `mx/supplier/...` — or bare US company slugs |\r\n| `hsCode` | string | — | `searchByHsCode` target with 2–10 digits. 2-digit chapters (`84`) and 4-digit headings (`8418`) load directly; 6+ digit subheadings use the HS search API (e.g. `841810` or `8418.10`); 8/10-digit HTS codes fall back to the 6-digit subheading |\r\n| `maxItems` | integer | `20` | Total dataset records, 1–500 |\r\n| `includeShipments` | boolean | `false` | Add one record per recent BOL (`recordType: \"shipment\"`) |\r\n| `since` | string | — | Recency filter (`YYYY-MM-DD` or `DD/MM/YYYY`) for shipment dates and a company's most recent shipment date |\r\n| `addressContains` | string | — | Case-insensitive filter on company/supplier address (state, city, street) |\r\n| `proxyConfiguration` | object | `{\"useApifyProxy\": true}` | Optional. AUTO datacenter proxy is enough; no residential proxy needed |\r\n\r\n## Examples\r\n\r\nSearch US importers:\r\n\r\n```json\r\n{\r\n  \"mode\": \"searchImporters\",\r\n  \"query\": \"lithium battery\",\r\n  \"maxItems\": 100\r\n}\r\n```\r\n\r\nLoad a company profile and its recent shipments:\r\n\r\n```json\r\n{\r\n  \"mode\": \"companyProfile\",\r\n  \"startUrls\": [\r\n    {\"url\": \"https://www.importyeti.com/company/samsung-electronics-america\"}\r\n  ],\r\n  \"includeShipments\": true,\r\n  \"maxItems\": 60\r\n}\r\n```\r\n\r\nLoad a supplier by URL or slug:\r\n\r\n```json\r\n{\r\n  \"mode\": \"companyProfile\",\r\n  \"startUrls\": [{\"url\": \"supplier/foxconn\"}],\r\n  \"maxItems\": 5\r\n}\r\n```\r\n\r\nLoad US export and Mexico profiles:\r\n\r\n```json\r\n{\r\n  \"mode\": \"companyProfile\",\r\n  \"startUrls\": [\r\n    {\"url\": \"https://www.importyeti.com/us-export/company/ikea-supply\"},\r\n    {\"url\": \"https://www.importyeti.com/mx/company/latex-centroamericana\"},\r\n    {\"url\": \"https://www.importyeti.com/mx/supplier/mic650113792\"}\r\n  ],\r\n  \"includeShipments\": true,\r\n  \"maxItems\": 60\r\n}\r\n```\r\n\r\nExplore a 4-digit HS heading:\r\n\r\n```json\r\n{\r\n  \"mode\": \"searchByHsCode\",\r\n  \"hsCode\": \"8418\",\r\n  \"includeShipments\": true,\r\n  \"maxItems\": 25\r\n}\r\n```\r\n\r\nExplore an HS subheading:\r\n\r\n```json\r\n{\r\n  \"mode\": \"searchByHsCode\",\r\n  \"hsCode\": \"841810\",\r\n  \"includeShipments\": true,\r\n  \"maxItems\": 25\r\n}\r\n```\r\n\r\nSearch with filters:\r\n\r\n```json\r\n{\r\n  \"mode\": \"searchImporters\",\r\n  \"query\": \"furniture\",\r\n  \"addressContains\": \"North Carolina\",\r\n  \"since\": \"2026-01-01\",\r\n  \"maxItems\": 50\r\n}\r\n```\r\n\r\n## Output\r\n\r\n### Company / supplier records (`recordType: \"company\"` or `\"supplier\"`)\r\n\r\nCore fields: `companyName`, `type`, `dataset`, `sourceDomain`, `country`, `countryName`, `address`, `website`, `phoneNumber`, `phones`, `companyUrl`, `totalShipments`, `shipments12m`, `mostRecentShipment`, `otherAddressesCount`, `otherNamesCount`, `trademarks`, `scrapedAt`.\r\n\r\nProfile enrichment (when the profile page is loaded): `alsoKnownNames`, `otherAddresses`, `otherWebsites`, `trademarkDetails`, `uflpa`, `hasInternalShipments`, `internalSuppliersCount`, `notifyPartyShipments`, `notifyPartyShipmentsPercent`, `geo`, `dateRange`, `avgTeuPerMonth`, `avgTeuPerShipment`, `quarterlyGrowth`, `timeSeries` (up to 120 monthly points), `totalShippingCostUsd`, `shippingCostCoveragePercent`.\r\n\r\n`phones` lists the contact numbers ImportYeti publishes for the company's addresses, with shipment/company/address counts and the last shipment date/BOL. The masked display numbers (`XXX-XXX-X000`) are omitted; `phoneNumber` is only present when the source publishes an unmasked main number.\r\n\r\nBreakdowns: `partners` (suppliers for a US importer, customers for a supplier), `partnerRole`, `notifyParties`, `carriers`, `carriersByCountry`, `lanes`, `containers`, `containerLoad`, `hsCodes`, `htsCodes`, `topImportHsChapters`, `billTypeShipments`, `tags`.\r\n\r\n### HS code record (`recordType: \"hsCode\"`)\r\n\r\n`dataset` (`us-import`), `hsCode`, `description`, `exactDescription`, `totalShipments`, `tariff`, `dateRange`, `totals` (weight/TEU), `companyCount`, `supplierCount`, `companyUrl`, `scrapedAt`.\r\n\r\n### Shipment record (`recordType: \"shipment\"`)\r\n\r\n`companyName` / `companyUrl` / `companyType` / `dataset` / `sourceDomain` (the profile owner in profile/search modes; absent in HS-code shipment rows), `bol`, `bolId`, `masterBol`, `houseBol`, `billTypeCode`, `billType`, `transportType`, `date`, `counterpartyName`, `counterpartyAddress`, `counterpartyCountry`, `counterpartyCountryCode`, `counterpartyUrl`, `shipperName`, `weightKg`, `containersCount`, `quantity`, `quantityUnit`, `productDescription`, `shippingRoute`, `shippingCostUsd`, `cifValueUsd`, `cifBillType`, `hsCode` (in HS mode), `scrapedAt`.\r\n\r\nAll records are omit-empty: a field the source does not publish is left out, never returned as `null` or a placeholder.\r\n\r\n## Use cases\r\n\r\n- **Sourcing** — find suppliers that already ship a product category, then inspect their lanes and carriers.\r\n- **B2B lead generation** — build importer lists by keyword, address, or HS code.\r\n- **Competitive intelligence** — compare shipment volume, 12-month activity, quarterly growth, and recent BOLs.\r\n- **Supply-chain risk** — map countries, ports, carriers, and notify parties for a counterparty.\r\n- **Trade finance** — use shipment recency and CIF values as activity signals.\r\n- **Tariff and product research** — start from an HS code and see who imports it and under which HTS lines.\r\n\r\n## FAQ\r\n\r\n**Where does this data come from?** Public records ImportYeti indexes: US Customs ocean bills of lading (US import dataset), US export bills of lading, and Mexico's SAT customs records (the `mx` dataset). Each profile record reports its `dataset`.\r\n\r\n**Is this affiliated with ImportYeti?** No. This is a third-party actor that reads ImportYeti's public pages.\r\n\r\n**Do I need an ImportYeti account?** No. The actor uses only public pages. It never logs in, and it does not bypass login walls or paid views.\r\n\r\n**What are the hard limits?** ImportYeti allows roughly **25 pageviews per IP** before asking for a login. Public profiles expose at most **100 recent BOLs for US import companies** (two 50-row views merged by BOL) and up to **50 for US export and Mexico profiles**; that is the source ceiling, not an actor cap. Full BOL details, full contact records, and power-query exports require an ImportYeti login or paid plan and are out of scope. The US import dataset covers **ocean imports** only (no air freight); the US export and Mexico datasets are separate and the Mexico records include truck/air/sea transport types where the source publishes them.\r\n\r\n**Why enable proxy?** On Apify cloud many runs share exit IPs. AUTO datacenter proxy rotation keeps the request budget fresh; no residential proxy is required. The daily-test prefill stays on the cheapest path that returns records.\r\n\r\n**What happens when the limit is hit?** The run rotates proxy sessions when configured, keeps the records already collected, and ends with a status message instead of failing. A profile that cannot be loaded is skipped with a log line.\r\n\r\n**Why do some 2- and 4-digit HS pages lack a tariff?** ImportYeti publishes tariff/AHTN detail on 6+ digit subheading pages. Chapter and heading pages still return the summary, top companies/suppliers, and recent BOL rows.\r\n\r\n**Why do some shipment rows lack CIF values?** ImportYeti publishes two recent-BOL views for US import profiles. The actor merges them by BOL number; fields only one view carries are filled when present and omitted otherwise.\r\n\r\n**How current are the dates?** Customs data is published with a lag of a few weeks, so the latest shipment date usually trails today even for very active importers.\r\n",
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "ImportYeti Trade, Supplier & Shipment Data Output",
        "description": "One dataset with recordType=company or supplier (US import, US export, and Mexico profile/search data), recordType=hsCode (HS code summary), and optional recordType=shipment rows (one per recent bill of lading).",
        "properties": {
          "results": {
            "type": "string",
            "title": "ImportYeti records",
            "description": "Dataset containing company, supplier, HS-code summary, and shipment records. Use the recordType field to split record kinds.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "fields": {},
          "views": {
            "overview": {
              "title": "Results",
              "transformation": {
                "fields": [
                  "recordType",
                  "companyName",
                  "type",
                  "dataset",
                  "country",
                  "address",
                  "totalShipments",
                  "shipments12m",
                  "mostRecentShipment",
                  "bol",
                  "date",
                  "counterpartyName",
                  "hsCode",
                  "companyUrl"
                ]
              },
              "display": {
                "component": "table",
                "columns": [
                  {
                    "label": "Record",
                    "field": "recordType"
                  },
                  {
                    "label": "Company",
                    "field": "companyName"
                  },
                  {
                    "label": "Dataset",
                    "field": "dataset"
                  },
                  {
                    "label": "Country",
                    "field": "country"
                  },
                  {
                    "label": "BOL",
                    "field": "bol"
                  },
                  {
                    "label": "Total Shipments",
                    "field": "totalShipments"
                  },
                  {
                    "label": "Most Recent Shipment",
                    "field": "mostRecentShipment"
                  },
                  {
                    "label": "HS Code",
                    "field": "hsCode"
                  }
                ]
              }
            }
          }
        }
      },
      "input": {
        "title": "ImportYeti Trade, Supplier & Shipment Data Scraper Input",
        "description": "Search US importers and global suppliers, load US import/export and Mexico company profiles, or explore an HS code page. Public data only; no ImportYeti account required.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "What to do. Search by keyword, load specific company/supplier profiles, or explore an HS code.",
            "editor": "select",
            "enum": [
              "searchImporters",
              "searchSuppliers",
              "companyProfile",
              "searchByHsCode"
            ],
            "enumTitles": [
              "Search US importers by company or product keyword",
              "Search global suppliers by company name",
              "Load company/supplier profiles from URLs or slugs (US import, US export, Mexico)",
              "Search companies and suppliers by HS code"
            ],
            "default": "searchImporters",
            "prefill": "searchImporters"
          },
          "query": {
            "title": "Search Query",
            "type": "string",
            "description": "Company name or product keyword for searchImporters/searchSuppliers. Optional in companyProfile (a profile URL here is used when startUrls is empty) and in searchByHsCode (a numeric HS code here is used when hsCode is empty).",
            "editor": "textfield",
            "default": "electronics",
            "prefill": "electronics"
          },
          "startUrls": {
            "title": "Company / Supplier URLs",
            "type": "array",
            "description": "For companyProfile: ImportYeti profile URLs or paths. Accepts company/..., supplier/..., us-export/company/..., mx/company/..., and mx/supplier/... (e.g. https://www.importyeti.com/company/samsung-electronics-america or supplier/foxconn). Bare slugs are treated as US company profiles.",
            "editor": "requestListSources",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "title": "Profile URL",
                  "description": "ImportYeti company or supplier profile URL."
                }
              }
            },
            "default": [],
            "prefill": []
          },
          "hsCode": {
            "title": "HS Code",
            "type": "string",
            "description": "For searchByHsCode: 2-10 digits. 2-digit chapters (84) and 4-digit headings (8418) load their page directly; 6+ digit subheadings use the HS search API (e.g. 841810 or 8418.10). 8- and 10-digit HTS codes fall back to the 6-digit subheading when needed.",
            "editor": "textfield"
          },
          "maxItems": {
            "title": "Max Records",
            "type": "integer",
            "description": "Maximum number of dataset records across companies, HS summaries, and shipment rows.",
            "minimum": 1,
            "maximum": 500,
            "default": 20,
            "prefill": 3
          },
          "includeShipments": {
            "title": "Include shipment rows",
            "type": "boolean",
            "description": "Add one record per recent bill of lading with recordType=shipment. US import profiles expose up to 100 recent BOLs (two 50-row views merged by BOL); US export and Mexico profiles expose up to 50. In search modes this costs one extra profile request per company.",
            "default": false,
            "prefill": false,
            "sectionCaption": "Profile and shipment options",
            "sectionDescription": "Optional filters and shipment rows. All fields are omit-empty."
          },
          "since": {
            "title": "Only on/after date",
            "type": "string",
            "description": "Optional recency filter, YYYY-MM-DD or DD/MM/YYYY. Applies to shipment dates and to a company's most recent shipment date. Records without a date are excluded when this is set.",
            "editor": "textfield"
          },
          "addressContains": {
            "title": "Address contains",
            "type": "string",
            "editor": "textfield",
            "description": "Optional case-insensitive filter on the company or supplier address, e.g. a state, city, or street keyword."
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Optional proxy settings. ImportYeti allows about 25 requests per IP before a login wall; Apify Proxy AUTO (included in the plan) rotates exit IPs. No residential proxy is required.",
            "editor": "proxy",
            "default": {
              "useApifyProxy": true
            },
            "prefill": {
              "useApifyProxy": true
            },
            "sectionCaption": "Proxy",
            "sectionDescription": "AUTO datacenter proxy is enough. Leave the default for cloud runs."
          }
        },
        "required": [
          "mode"
        ]
      }
    },
    "buildNumber": "1.1.1",
    "imageDigest": "6348dd41e4cd1052d2fe65e4ba8f5833edab020e1dbdd26e281ae48ff5f10eec",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.1"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.01076
    }
  }
}