888lots Scraper — Wholesale Items, Lots & Manifests
Pricing
from $1.50 / 1,000 detail results
888lots Scraper — Wholesale Items, Lots & Manifests
Scrape 888lots wholesale items and fixed-price pallet lots with Amazon ASIN/BSR, Walmart metadata, MOQ, pricing, and full SKU manifests. Auction pages with linked items. Listings or details mode — fast curl_cffi, residential proxy ready.
Pricing
from $1.50 / 1,000 detail results
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Security
Limited permissionsShare
888lots Scraper — Wholesale Items, Pallet Lots & Auction Manifests
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by 888lots or its affiliates. Data is read from publicly accessible pages only. No login. You are responsible for complying with applicable law (including GDPR where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.
Scrape wholesale items, fixed-price pallet lots (with full SKU manifests), and liquidation auctions into clean JSON. Detail rows include Amazon ASIN / BSR, Walmart pricing, MOQ, condition, warehouse ZIP, and image galleries — built for resale arbitrage, liquidation sourcing, and inventory valuation.
Best for: wholesale buyers, liquidators, and data teams who need structured lot manifests and ASIN-linked comps for Sheets, Airtable, databases, and custom pipelines.
Crawloop Marketplace & E-commerce Suite — marketplace search and pricing intelligence for product discovery workflows.
| Amazon Search Scraper | eBay Active Listings Scraper | eBay Sold Listings Scraper | 888lots Scraper ◄── you are here |
|---|---|---|---|
| Amazon Search Scraper | eBay Active Listings Scraper | eBay Sold Listings Scraper | Wholesale items, pallet manifests, auctions |
When to use this Actor
- Wholesale catalog extraction — unit prices, MOQ, stock qty, condition codes
- Pallet / lot sourcing — boxes, units, price-per-unit, estimated Amazon sell-through, line-item manifests
- Amazon / Walmart comps — ASIN, BSR, Walmart price/offers alongside wholesale cost
- Auction watchlists — auction pages with linked wholesale items
- Category / brand slices — filter catalog crawls by category or brand slug
When not to use this Actor
- Amazon keyword SERP only — use Amazon Search Scraper
- eBay live or sold comps only — use eBay Active / eBay Sold
- Industrial machinery auctions — use the Used Machinery suite (Troostwijk, Surplex, NetBid)
Key Features
- Listings or details — fast card fields vs deep JSON enrichment
- Lot manifests — per-SKU ASIN, UPC, qty, MSRP, unit price, est. Amazon price
- Lightweight & fast —
curl_cffiChrome TLS impersonation, no browser automation - Catalog filters — category + brand query params; optional client-side keyword filter
- Sort — newest, price, discount, quantity, or views (monitor runs stay on newest)
- Resale margin — Amazon and Walmart profit per unit and ROI on cost, plus MOQ cost, before marketplace fees and shipping
- Deal filters — optional min/max price, discount, and Amazon ROI; non-matching rows are not opened or charged
- Monitor mode — schedule a run and save only new, repriced, or restocked rows
- Start URLs — mix item, lot, auction, and list pages in one run
- Proxy-ready — Apify Residential recommended (US)
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | String | items | items, fixed_price_lots, auctions, start_urls |
scrapeMode | String | details | listings (cards) or details (JSON + manifests) |
startUrls | Array | [] | Item / lot / auction / list URLs (start_urls mode) |
category | String | — | Category slug filter |
brand | String | — | Brand slug filter |
searchQuery | String | — | AND keyword filter on title/SKU/ASIN/brand |
sort | String | date:desc | Catalog order: Newest, Oldest, Recent price drop, price, discount, quantity, Most viewed |
minPrice | Number | 0 | Minimum unit/lot price in USD (0 = off) |
maxPrice | Number | 0 | Maximum unit/lot price in USD (0 = off) |
minDiscountPct | Number | 0 | Minimum msrpOff percent (0 = off) |
minProfitPct | Number | 0 | Minimum Amazon ROI (azProfitPct). Rows with no Amazon price are excluded. 0 = off |
maxItems | Integer | 100 | Max dataset rows (0 = unlimited). Filtered rows do not count. In monitor mode, rows scanned per run |
maxPages | Integer | 0 | Max list pages (0 = unlimited). With a deal filter and 0, the scan stops at 20 pages |
maxAuctions | Integer | 0 | Max auction pages in auctions mode |
concurrency | Integer | 4 | Parallel detail fetches (1–10) |
monitorMode | Boolean | false | Emit only new, repriced, or quantity-changed rows. maxItems is the scan window |
monitorStateName | String | — | Optional named key-value store for monitor state |
resetMonitorState | Boolean | false | Clear monitor state and seed again |
proxyConfiguration | Object | Residential | Apify Proxy settings |
Input Example
{"mode": "fixed_price_lots","scrapeMode": "details","maxItems": 20,"concurrency": 4,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
{"mode": "start_urls","scrapeMode": "details","startUrls": [{ "url": "https://888lots.com/item/example-slug" },{ "url": "https://888lots.com/lot/example-lot-slug" },{ "url": "https://888lots.com/auction/show/37-auction-2026-06-04" }],"maxItems": 50}
Monitor new & repriced deals
Turn on monitorMode and schedule the same input every 6 hours. Each run scans one window of the catalog (newest first) and writes only rows that are new or whose wholesale price or quantity changed. Unchanged rows are not opened in details mode, not saved, and not charged.
maxItems is how many matching catalog rows are scanned, not how many rows are written. The first run is a seed: it emits the whole window with changeType: "new" and stores price, qty, and timestamps in a named key-value store (never the run's default store). Later runs add changeType (new, price_changed, or qty_changed), previousPrice, previousQty, and firstSeenAt.
When maxItems is 0, the window follows maxPages. When that is also 0, the scan stops after 20 pages so a scheduled run cannot walk the full catalog. State keeps keys seen in the last 60 days.
{"mode": "items","scrapeMode": "details","monitorMode": true,"sort": "date:desc","maxItems": 120,"maxPages": 2,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Resale margin
Item and lot rows include azProfitPerUnit and azProfitPct when both the Amazon price and the wholesale price are greater than zero. azProfitPct is ROI on cost: (Amazon price − price) / price × 100. Detail rows also include wmProfitPerUnit and wmProfitPct from the Walmart price. moqCost is price × moq when MOQ is at least 1. Profit is before marketplace fees and shipping.
Schedule this input every 6 hours when you want a fresh margin sheet for the newest wholesale items.
{"mode": "items","scrapeMode": "details","sort": "date:desc","maxItems": 50,"maxPages": 1,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Deal filters
minPrice, maxPrice, minDiscountPct, and minProfitPct are optional. 0 or empty turns a filter off. Filters run on the catalog row before a detail request and before a charge. A row with no Amazon profit is excluded while minProfitPct is set. Details mode checks minProfitPct again after enrichment; a row that fails is not saved and not charged. Filtered rows do not count toward maxItems. If maxPages is 0 and any filter is set, the crawl stops after 20 pages.
Schedule this input every 6 hours to keep a filtered deal list current.
{"mode": "items","scrapeMode": "listings","minPrice": 15,"maxPrice": 200,"minDiscountPct": 40,"minProfitPct": 25,"maxItems": 100,"maxPages": 5,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output Format
Each dataset row has type: item | lot | auction.
Item (details): asin, upc, price, msrp, moq, qty, salesRank, azLink, wmPrice, azProfitPerUnit, azProfitPct, wmProfitPerUnit, wmProfitPct, moqCost, dimensions, images, condition, zip, … Profit is before marketplace fees and shipping.
Monitor rows add changeType, previousPrice, previousQty, and firstSeenAt.
Lot (details): units, boxesCount, pricePerUnit, estAzSell, manifest (array of SKU lines), …
Auction: title, itemCount, itemUrls (plus linked item detail rows when scrapeMode=details).
Output Example (lot)
{"type": "lot","id": 52057,"title": "Boxes Damaged - 3 Boxes Lot","url": "https://888lots.com/lot/boxes-damaged-3-boxes-lot-52057","price": 189.0,"units": 48,"boxesCount": 3,"pricePerUnit": 3.94,"estAzSell": 420.0,"manifestCount": 18,"manifest": [{"asin": "B0EXAMPLE","upc": "012345678905","description": "Example SKU","qty": 2,"msrp": 29.99,"unitPrice": 4.5,"estAzPrice": 18.0}],"scrapedAt": "2026-07-24T12:00:00Z"}
Typical Workflow
- Run listings mode to discover candidates (category/brand filters).
- Re-run details on interesting lots for full manifests.
- Join ASINs with Amazon Search Scraper or eBay Sold Listings Scraper for arbitrage spreadsheets.
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/888lots-scraper').call({ mode: 'items', scrapeMode: 'listings', maxItems: 20, maxPages: 1 });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 5));
Python
from apify_client import ApifyClientclient = ApifyClient(token)run = client.actor("crawloop/888lots-scraper").call(run_input={"mode": "items", "scrapeMode": "listings", "maxItems": 20, "maxPages": 1})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("title"), item.get("asin"), item.get("price"))
cURL
curl "https://api.apify.com/v2/acts/crawloop~888lots-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"items","scrapeMode":"listings","maxItems":20,"maxPages":1}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/888lots-scraper.
Example prompts:
- "Run 888lots Scraper in items listings mode, max 20, return title, asin, price, msrp"
- "Scrape 888lots pallet lots with manifests and summarize ASIN coverage"
- "Chain 888lots then Amazon Search Scraper to validate ASIN SERP prices"
Suite next step
Validate ASINs with Amazon Search Scraper. For ZIP-local Walmart comps, use Walmart Scraper. For sold comps, use eBay Sold Listings Scraper.
Related Actors
| Actor | Use case |
|---|---|
| Amazon Search Scraper | Amazon SERP / ASIN discovery |
| Walmart Scraper | ZIP-local Walmart prices and stock |
| eBay Active Listings Scraper | Live eBay comps |
| eBay Sold Listings Scraper | Sold price comps |