888lots Scraper — Wholesale Items, Lots & Manifests avatar

888lots Scraper — Wholesale Items, Lots & Manifests

Pricing

from $1.50 / 1,000 detail results

Go to Apify Store
888lots Scraper — Wholesale Items, Lots & Manifests

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

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Security

Limited permissions

Share

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 ScrapereBay Active Listings ScrapereBay Sold Listings Scraper888lots Scraper ◄── you are here
Amazon Search ScrapereBay Active Listings ScrapereBay Sold Listings ScraperWholesale 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_cffi Chrome 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

ParameterTypeDefaultDescription
modeStringitemsitems, fixed_price_lots, auctions, start_urls
scrapeModeStringdetailslistings (cards) or details (JSON + manifests)
startUrlsArray[]Item / lot / auction / list URLs (start_urls mode)
categoryString—Category slug filter
brandString—Brand slug filter
searchQueryString—AND keyword filter on title/SKU/ASIN/brand
sortStringdate:descCatalog order: Newest, Oldest, Recent price drop, price, discount, quantity, Most viewed
minPriceNumber0Minimum unit/lot price in USD (0 = off)
maxPriceNumber0Maximum unit/lot price in USD (0 = off)
minDiscountPctNumber0Minimum msrpOff percent (0 = off)
minProfitPctNumber0Minimum Amazon ROI (azProfitPct). Rows with no Amazon price are excluded. 0 = off
maxItemsInteger100Max dataset rows (0 = unlimited). Filtered rows do not count. In monitor mode, rows scanned per run
maxPagesInteger0Max list pages (0 = unlimited). With a deal filter and 0, the scan stops at 20 pages
maxAuctionsInteger0Max auction pages in auctions mode
concurrencyInteger4Parallel detail fetches (1–10)
monitorModeBooleanfalseEmit only new, repriced, or quantity-changed rows. maxItems is the scan window
monitorStateNameString—Optional named key-value store for monitor state
resetMonitorStateBooleanfalseClear monitor state and seed again
proxyConfigurationObjectResidentialApify 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

  1. Run listings mode to discover candidates (category/brand filters).
  2. Re-run details on interesting lots for full manifests.
  3. 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 ApifyClient
client = 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.

ActorUse case
Amazon Search ScraperAmazon SERP / ASIN discovery
Walmart ScraperZIP-local Walmart prices and stock
eBay Active Listings ScraperLive eBay comps
eBay Sold Listings ScraperSold price comps