# Changelog of ImportYeti Scraper — US Customs Bill of Lading & Supplier Data (`logiover/importyeti-scraper`) Actor

- **URL**: https://apify.com/logiover/importyeti-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/importyeti-scraper.md

## Changelog

### 2026-09-23

- Fleet-wide quality audit. Verified end to end against live data and re-checked the input schema, the output columns and the run configuration.
- Output verified on a live run: 35 columns returned, 74.1% of cells populated.
- Run reliability reviewed: 100.0% of public runs succeeded in the last 30 days.
- Input schema, output schema and pricing configuration reviewed.
- Noted that 8 column(s) came back empty in this sample (`company_website`, `company_emails`, `company_phones`, `supplier_website`, `supplier_total_shipments`, `supplier_emails` and others); these are under review.

### 2026-09-01

- Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
- Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
- No change to input, output fields or scraping logic.

### 2026-08-11

- Maintenance release: refreshed the build and dependencies.
- Re-verified live execution, non-empty structured output and dataset field/type integrity.
- Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.

### 2026-08-01

- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.
- Declared 35 dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder.
- Declared 35 nullable dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder or brittle to sparse modes.

### 2026-07-24

- Initial release. ImportYeti Scraper v1.0 with four modes: companySearch, supplierSearch, companyShipments and productSearch.
- **Bill-of-lading level output** — one row per shipment (BOL #, master/house BOL, arrival date, product, HS code, weight, quantity, containers, estimated cost, route), with both importer and supplier name/address/country/website in every row.
- **Keyless engine** — got-scraping with a modern Chrome TLS fingerprint over US residential exits passes ImportYeti's Cloudflare Managed Challenge; no API key, login or cookies. Fresh IP per retry.
- **Graph fan-out** — breadth-first crawl of the importer↔supplier trade graph (each profile embeds up to 50 bills of lading) reaches hundreds–thousands of rows per run, bounded by `maxResults`, with a ~4-minute time budget.
- **Product / HS-code filtering** in productSearch keeps only matching shipments.
- Runs with empty input (defaults to companySearch on a popular importer); no field is required. Dropdown mode selector; numeric fields stored as real numbers. Three dataset views: Overview, Shipments (BOL) and Company summary.
