{
  "openapi": "3.0.1",
  "info": {
    "title": "ImportYeti Scraper - Bills of Lading, Suppliers & HS Codes",
    "description": "Scrape ImportYeti US customs import records: company and supplier profiles with every trading partner, up to 100 bills of lading, HS codes, ports, carriers and shipment history. Search by name, address, product or HS code. Monitor mode. $0.90 per 1,000 profiles, no start fee, no login.",
    "version": "0.1",
    "x-build-id": "J7ublqMdJKX92h48a"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/topapi~importyeti-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-topapi-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/topapi~importyeti-scraper/runs": {
      "post": {
        "operationId": "runs-sync-topapi-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/topapi~importyeti-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-topapi-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": {
          "searchTerms": {
            "title": "🔍 Search terms",
            "type": "array",
            "description": "Company, brand, supplier or product names, one per line, e.g. \"porsche\", \"hon hai\", \"yoga mat\". ImportYeti returns up to 140 hits per term and type.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "ImportYeti links",
            "type": "array",
            "description": "Company, supplier, notify-party, HS-code, tag, location, carrier, port or vessel pages, or search links, e.g. https://www.importyeti.com/company/apple.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "urlsFromFile": {
            "title": "Links from a file",
            "type": "string",
            "description": "Paste ImportYeti links one per line, or one link to a .txt/.csv file or a shared Google Sheet / Drive file that lists them."
          },
          "companies": {
            "title": "Companies (US importers)",
            "type": "array",
            "description": "ImportYeti company slugs or links, e.g. \"apple\", \"walmart\", \"company/costco\". Each becomes one importer profile.",
            "items": {
              "type": "string"
            }
          },
          "suppliers": {
            "title": "Suppliers (overseas shippers)",
            "type": "array",
            "description": "ImportYeti supplier slugs or links, e.g. \"foxconn-interconnect-technology\". Each becomes one supplier profile with its US customers.",
            "items": {
              "type": "string"
            }
          },
          "productKeywords": {
            "title": "Product keywords",
            "type": "array",
            "description": "Product words, e.g. \"yoga mat\", \"lithium battery\". Each opens ImportYeti's product tag page: top importers, top suppliers, 50 recent shipments.",
            "items": {
              "type": "string"
            }
          },
          "hsCodes": {
            "title": "HS codes",
            "type": "array",
            "description": "2-, 4- or 6-digit HS codes or /hs-codes/ links, e.g. \"84\", \"8471\", \"847130\". Each opens the HS-code page: totals, tariff lines, top importers and suppliers.",
            "items": {
              "type": "string"
            }
          },
          "addressSearch": {
            "title": "Address search",
            "type": "array",
            "description": "Street, city or industrial-zone text, e.g. \"shenzhen longhua\", \"1710 w baseline rd\". Finds the importers and suppliers at that address (up to 10,000 per search).",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Country slugs or ImportYeti /location/ links, e.g. \"vietnam\", \"china\". Each opens the location page with its top companies and recent shipments.",
            "items": {
              "type": "string"
            }
          },
          "locationType": {
            "title": "Location directory",
            "enum": [
              "supplier",
              "company"
            ],
            "type": "string",
            "description": "For bare country slugs: the overseas-supplier directory or the US-importer directory. Ignored for full /location/ links.",
            "default": "supplier"
          },
          "enrichProfiles": {
            "title": "Open full profiles",
            "type": "boolean",
            "description": "On: every search match is opened as a full profile (charged as a profile). Off: a fast, cheap list of search matches only (charged as search results).",
            "default": true
          },
          "entityType": {
            "title": "Company or supplier",
            "enum": [
              "any",
              "company",
              "supplier"
            ],
            "type": "string",
            "description": "Keep US importers only, overseas suppliers only, or both. ImportYeti filters the search itself.",
            "default": "any"
          },
          "includeRelatedCompanies": {
            "title": "Include related companies",
            "type": "boolean",
            "description": "Also match companies through their trademarks, as ImportYeti's \"Include related companies\" box does.",
            "default": false
          },
          "hsCountry": {
            "title": "HS code origin country",
            "type": "string",
            "description": "Optional country for HS-code pages, e.g. \"china\" or \"vietnam\": the page then covers shipments from that country only."
          },
          "mostRecentShipment": {
            "title": "Last shipment within",
            "enum": [
              "any",
              "1mo",
              "3mo",
              "6mo",
              "12mo",
              "24mo"
            ],
            "type": "string",
            "description": "Keep only companies and suppliers with a shipment in this period.",
            "default": "any"
          },
          "minShipments": {
            "title": "Minimum total shipments",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Skip companies and suppliers with fewer US sea shipments on record, e.g. 100 to drop one-off shippers. Empty or 0 keeps all."
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two-letter country codes of the company or supplier, e.g. US, CN, VN, IN. Empty keeps every country.",
            "items": {
              "type": "string"
            }
          },
          "withWebsiteOnly": {
            "title": "With a website only",
            "type": "boolean",
            "description": "Keep only profiles that list a website.",
            "default": false
          },
          "includeUnnamedPartners": {
            "title": "Keep unnamed partners",
            "type": "boolean",
            "description": "ImportYeti shows blank counterparties on manifests as \"Missing in source document\". Off drops them from partner lists and partner rows.",
            "default": false
          },
          "includeSummary": {
            "title": "Profile row",
            "type": "boolean",
            "description": "One row per company, supplier or explorer page with everything nested. Turn off to get only the flat rows below.",
            "default": true
          },
          "includeBols": {
            "title": "Bill-of-lading rows",
            "type": "boolean",
            "description": "One row per bill of lading (up to 100 per company): date, BOL / master / house numbers, carrier, counterparty, product, weight, containers, route, freight and CIF value.",
            "default": false
          },
          "includeTopPartners": {
            "title": "Trading-partner rows",
            "type": "boolean",
            "description": "One row per supplier of a company (or US customer of a supplier): address, country, shipments, weight, TEU, HS codes, products.",
            "default": false
          },
          "includeRoutes": {
            "title": "Port-route rows",
            "type": "boolean",
            "description": "One row per port-to-port route: exit and entry port, shipments, weight, TEU, estimated freight cost.",
            "default": false
          },
          "includeHsCodeRows": {
            "title": "HS-code rows",
            "type": "boolean",
            "description": "One row per HS chapter, heading and subheading the company ships under, with shipments, weight and TEU.",
            "default": false
          },
          "crawlPartners": {
            "title": "Open partners' profiles",
            "type": "boolean",
            "description": "Also open the profile of each named trading partner (one level deep), e.g. every supplier of a competitor. Each opened profile is charged.",
            "default": false
          },
          "includeContacts": {
            "title": "Contact blocks",
            "type": "boolean",
            "description": "Phone/email blocks with their shipment counts and dates, exactly as ImportYeti shows them (values are masked on the site).",
            "default": true
          },
          "maxPartnersPerProfile": {
            "title": "Partners per profile",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Cap on the trading-partner list per profile (ImportYeti shows up to 50).",
            "default": 50
          },
          "maxShipmentsPerProfile": {
            "title": "Bills of lading per profile",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Cap on bills of lading per profile (up to 100 per company: the 50 newest plus 50 with a declared CIF value).",
            "default": 100
          },
          "monitorMode": {
            "title": "Only new or changed",
            "type": "boolean",
            "description": "Remember what earlier runs delivered and return only new entities, entities with new shipments, and their new bills of lading.",
            "default": false
          },
          "monitorStoreName": {
            "title": "Monitor memory name",
            "type": "string",
            "description": "Named key-value store that holds what was already delivered. Use one name per watchlist.",
            "default": "importyeti-monitor"
          },
          "shipmentsSince": {
            "title": "Shipments since",
            "type": "string",
            "description": "Only bills of lading dated on or after this day; companies whose last shipment is older are skipped and not charged."
          },
          "maxResults": {
            "title": "Max profiles",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Most profiles, explorer pages or search rows per run. 0 = as many as the run reaches. ImportYeti allows 25 page views per IP, so big runs spread over many IPs.",
            "default": 10
          },
          "maxResultsPerSearch": {
            "title": "Matches per search",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Matches taken from each search term or address, in ImportYeti’s order. Empty = Max profiles. Name search tops out at 280 (140 importers + 140 suppliers)."
          },
          "maxItems": {
            "title": "Max charged rows",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap on all charged rows together (profiles, pages, search rows and flat rows). 0 = no cap besides Max profiles.",
            "default": 1000
          },
          "compact": {
            "title": "Compact profiles",
            "type": "boolean",
            "description": "Core profile fields only, trimmed for AI agents and MCP: name, place, website, shipment totals, top suppliers, products, ports, lead score.",
            "default": false
          },
          "resumeCursor": {
            "title": "Resume cursor",
            "type": "string",
            "description": "Paste OUTPUT.resumeCursor from a run that stopped early to continue where it stopped; rows it already delivered are not delivered or charged again."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Default: Apify datacenter IPs, then a few residential IPs within a small budget. Your own proxy URLs are used instead when you add them. Proxy off = the run’s own IP only.",
            "default": {
              "useApifyProxy": true
            }
          },
          "residentialFallback": {
            "title": "Residential fallback",
            "type": "boolean",
            "description": "Use a few Apify residential IPs when every datacenter IP has used its ImportYeti allowance. Off: the run stops there and writes a resume cursor.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Pages fetched in parallel.",
            "default": 5
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (s)",
            "minimum": 10,
            "maximum": 180,
            "type": "integer",
            "description": "Seconds to wait for one ImportYeti answer; some large profiles take 10-20 s.",
            "default": 60
          },
          "feedback": {
            "title": "Feedback",
            "type": "string",
            "description": "For AI agents and people: say what you needed and did not get. It is logged for the maintainers and does not change the run."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}