{
  "openapi": "3.0.1",
  "info": {
    "title": "ImportYeti Scraper - US Import Records, Suppliers & B2B Leads",
    "description": "Scrape ImportYeti US Customs bill-of-lading data. Find US importers and their overseas suppliers, monthly shipment history, HS/HTS codes, carriers, ports and lanes, China & UFLPA risk flags. Product mode lists a product's importers. No login. Independent tool, not affiliated with ImportYeti.",
    "version": "0.1",
    "x-build-id": "Stx5WN9oRb2WpIy75"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~importyeti-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-importyeti-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapesage~importyeti-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-importyeti-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapesage~importyeti-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-importyeti-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "product",
              "company",
              "supplier"
            ],
            "type": "string",
            "description": "What to scrape:\n\n• **Search & discover**: match US importers and overseas suppliers by company NAME or brand (`Lululemon`, `Anker`) and, by default, pull a full trade profile for each. ImportYeti's name search returns up to 10 matches per term.\n• **Product**: find the US importers and overseas suppliers of a product keyword (`yoga mat`, `lithium battery`, `office chair`) with shipment volumes, the fastest way to build a buyer list for what you sell. ImportYeti lists the top 20 importers and top 20 suppliers of a product.\n• **Company (US importer)**: resolve each term to the busiest US importer whose name starts with it and return its full profile.\n• **Supplier (overseas)**: resolve each term to the busiest overseas supplier whose name starts with it and return its full profile.",
            "default": "search"
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "What to look up. In **Search / Company / Supplier** modes use company names or brands (`Lululemon`, `Walmart`, `Anker`): ImportYeti matches them against company names, so a product keyword here returns companies whose NAME contains its words. In **Product** mode use product keywords (`yoga mat`, `lithium battery`, `office chair`) to list who imports and exports that product. An ImportYeti company, supplier or product link typed here is read as that page.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "ImportYeti URLs",
            "type": "array",
            "description": "Optional. Paste ImportYeti **company**, **supplier** or **product** page URLs to scrape them directly, e.g. `https://www.importyeti.com/company/lululemon-usa`, `https://www.importyeti.com/supplier/hon-hai-precision-industrial` or `https://www.importyeti.com/tags/yoga-mat`. Search-result URLs (`/search?q=...`) are read as search terms. Links to other websites are skipped and named on the run card.",
            "items": {
              "type": "string"
            }
          },
          "searchType": {
            "title": "Result type (search and product modes)",
            "enum": [
              "all",
              "company",
              "supplier"
            ],
            "type": "string",
            "description": "Keep only US importers, only overseas suppliers, or both. In Product mode 'both' gives half importers and half suppliers.",
            "default": "all"
          },
          "enrichProfiles": {
            "title": "Pull full profile for each hit (search and product modes)",
            "type": "boolean",
            "description": "Open every matched entity and return its **full trade profile** (supplier or buyer list, shipment history, monthly history, HS/HTS codes, carriers, ports and lanes, growth). Turn OFF for a fast, cheaper discovery list only (name, type, country, address, total shipments and profile URL; a name search adds the most recent shipment date, a product page the product's 12-month shipments and HS chapters).",
            "default": true
          },
          "includeSuppliers": {
            "title": "Include supplier / buyer table",
            "type": "boolean",
            "description": "Include the counterparty table: the overseas suppliers of a US importer (or the US buyers of a supplier) with address, country, shipment counts, weight, TEUs, HS codes and their other trade partners. ImportYeti lists up to 50 per profile.",
            "default": true
          },
          "includeShipments": {
            "title": "Include recent shipments (bills of lading)",
            "type": "boolean",
            "description": "Include the most recent individual bill-of-lading shipments: date, BOL / master BOL / house BOL, counterparty, product description, weight, containers, quantity, shipping route and estimated freight cost.",
            "default": true
          },
          "includeMonthlyHistory": {
            "title": "Include monthly shipment history",
            "type": "boolean",
            "description": "Include `monthlyShipments`: shipments, weight, TEUs and China-origin shipments for every month the company shipped, for trend and seasonality analysis.",
            "default": true
          },
          "includeHsCodes": {
            "title": "Include HS / HTS code breakdown",
            "type": "boolean",
            "description": "Include the HS code tree (chapter, heading, subheading with shipments, weight and TEUs) and the detailed HTS codes with sample product descriptions.",
            "default": true
          },
          "includeContacts": {
            "title": "Include contact fields (phones and emails, see note) and known addresses",
            "type": "boolean",
            "description": "Include the list of known addresses, plus the phone and email fields. Note: ImportYeti masks phone numbers and emails for visitors without an account (shown as `XXX-XXX-X195` or `---`), so expect `phones` and `emails` to be empty. Use `website` and the addresses to reach a company.",
            "default": true
          },
          "maxSuppliers": {
            "title": "Max suppliers/buyers per profile",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Cap the counterparty (supplier/buyer) table per profile. ImportYeti lists up to 50.",
            "default": 50
          },
          "maxShipments": {
            "title": "Max shipments per profile",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Cap the recent bill-of-lading shipment records per profile. ImportYeti shows up to 50.",
            "default": 50
          },
          "maxResults": {
            "title": "Max results (whole run)",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Global cap on the total number of records (profiles or discovery rows) delivered in this run. Several search terms share it equally.",
            "default": 50
          },
          "maxResultsPerSearch": {
            "title": "Max hits per search term",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Cap the entities taken from each search term. ImportYeti's name search returns up to 10 matches per term, and a product page lists up to 20 importers and 20 suppliers.",
            "default": 20
          },
          "monitorMode": {
            "title": "Monitoring mode: only new & updated",
            "type": "boolean",
            "description": "Remember the entities delivered by previous runs and deliver ONLY those that are **new** or have **received new shipments** since the last run (tagged `changeType`: new / updated, with `newShipmentsSinceLastRun`). Good for watching competitors' imports or a supplier's customers. Pairs with Apify Schedules: the schedule starts the run, this switch controls what is delivered.",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitor store name",
            "type": "string",
            "description": "Named key-value store that holds the 'already delivered' entities for monitoring mode. Use a different name per watchlist to keep histories separate (lowercase letters, digits and hyphens).",
            "default": "importyeti-monitor"
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum parallel requests. Keep it moderate to stay friendly to ImportYeti's servers.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings. The default, Apify's datacenter proxy, is the fastest. A page ImportYeti refuses, or answers with a login request, is asked again through fresh proxy addresses and then through Apify residential proxies automatically, so you do not need to change this. Pick residential here to use it for every page.",
            "default": {
              "useApifyProxy": true
            }
          },
          "urlsFromFile": {
            "title": "Import URLs from a file",
            "type": "string",
            "description": "Paste a list of ImportYeti URLs (one per line), OR one link to a .txt or .csv file, a Google Sheet or a Google Drive file containing them. Google Sheet and Drive share links are handled automatically (share them as 'Anyone with the link'). A PDF, Excel or image file is refused with a note on the run card: save the list as .csv or .txt."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}