Bonanza Marketplace Scraper avatar

Bonanza Marketplace Scraper

Pricing

from $13.00 / 1,000 bonanza listings

Go to Apify Store
Bonanza Marketplace Scraper

Bonanza Marketplace Scraper

Scrape public Bonanza marketplace listings, prices, shipping, seller data, item traits, images, and descriptions by keyword or URL.

Pricing

from $13.00 / 1,000 bonanza listings

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Free-plan limit: Apify free-plan users receive at most 5 delivered records per run. Paid users may use the Actor’s configured result limit.

Scrape public Bonanza marketplace listings for product research, resale sourcing, catalog monitoring, and competitive pricing. Enter keyword searches, public Bonanza search/category/booth URLs, or a listing URL. The Actor returns one normalized JSON record per unique listing in the default dataset.

What it extracts

Without detail enrichment, records contain the item ID, title, canonical listing URL, displayed price and currency, shipping text, primary image, featured flag, source type, and scrape timestamp. Enable includeDetails to visit each product page and add:

  • condition, availability, quantity, category, brand, model, UPC, and normalized item traits;
  • all full-size product images and the public seller booth URL/username;
  • seller rating and transaction count when shown;
  • shipping origin, offer-policy signal, and the seller's plain-text description.

Fields that Bonanza does not expose are returned as null; missing arrays and trait maps are returned as empty collections. Search cards can show truncated titles, so use includeDetails when the full product title matters.

Input

FieldDescription
searchQueriesArray of keyword searches. Defaults to vintage camera.
startUrlsPublic bonanza.com search, category, booth, or listing URLs. Queries and URLs are combined and deduplicated.
maxItemsMaximum unique listings across the run (1–10,000; default 20).
includeDetailsVisit each listing page for traits, seller information, images, and description. Adds one detail-enrichment event per enriched row.
sortByKeyword-search ordering: relevancy, price_desc, price_asc, newest, or seller_rating.
minPrice, maxPriceOptional bounds applied to the displayed currency for the run's locale.
maxPagesPerSourcePagination safety limit (1–100; default 20).
maxConcurrencyBrowser-page concurrency (1–10; default 3). Lower values reduce rate-limit/challenge risk.
proxyConfigurationApify Proxy configuration. Use Residential if Bonanza challenges datacenter sessions.

Example keyword input:

{
"searchQueries": ["vintage camera", "polaroid land camera"],
"maxItems": 25,
"includeDetails": true,
"sortBy": "price_asc",
"proxyConfiguration": { "useApifyProxy": true }
}

Example URL input:

{
"startUrls": [
{ "url": "https://www.bonanza.com/booths/vintage_finders?item_sort_options%5Bfilter_category_id%5D=625" },
{ "url": "https://www.bonanza.com/listings/Example/1234567890" }
],
"maxItems": 10,
"includeDetails": true,
"proxyConfiguration": { "useApifyProxy": true }
}

Output

The default dataset is homogeneous: each item is a listing record. The SUMMARY key-value record contains the outcome classification (DATA, EMPTY, BLOCKED, REJECTED, or FAILED), pages attempted, warnings, records returned, and detail-event count. Access the dataset and summary from the Output tab or the API links exposed by output_schema.json.

Billing

This Actor uses pay-per-event pricing. The Actor start event is synthetic. Each validated listing written to the default dataset is the primary result event, and each detail-enriched row may add one detail-enrichment event. Empty, rejected, blocked, and failed runs do not create result charges. The run stops when Apify's configured maximum total charge prevents another detail event.

When a direct /listings/ URL is supplied, the product page must be opened to identify the listing, so that row is treated as detail-enriched and can incur the detail event even if includeDetails is false.

Reliability and limits

The crawler uses Playwright, bounded concurrency, persistent Crawlee sessions, retry limits, and challenge-aware diagnostics. Bonanza may return a Cloudflare managed challenge depending on IP reputation, geography, or request volume. The Actor never submits CAPTCHAs, uses login cookies, or fabricates listings; switch to a permitted Residential proxy route or use a public source URL when a run is classified as BLOCKED.

The Actor reads only public pages. Respect Bonanza's Terms of Use, robots directives, applicable law, and reasonable request rates. Do not use it to access private seller dashboards, accounts, or authentication-gated content.

Local development

npm ci
npm test
npm start

npm test builds the TypeScript source and runs parser/lifecycle-independent unit tests. Cloud runs should use a small maxItems first, then increase gradually while watching challenge rate, runtime, and event charges.

FAQ

Does this require a Bonanza login or API key?

No. The default path uses public Bonanza pages and does not accept or store login cookies. Bonanza can still challenge a network identity; configure Apify Proxy and keep concurrency low.

Can it scrape a seller booth?

Yes. Add a public /booths/{seller} URL to startUrls. The Actor follows the booth's public listing pagination until maxItems or maxPagesPerSource is reached.

Are prices always in USD?

No. Bonanza localizes displayed prices by session. The currency field reports the visible currency code when present, and price filters apply to that displayed currency. Use a consistent proxy geography when comparing runs.

Why did a run return zero records?

Check SUMMARY: EMPTY means the page loaded and no matching public listings were found; BLOCKED means Bonanza challenged or denied every usable request; REJECTED means the input was invalid. A blocked run never writes a fake placeholder record.

Pricing

This Actor uses pay-per-event pricing. These are the current Apify Store event prices:

EventPrice (USD)When it is charged
apify-default-dataset-itemFREE: $0.018; BRONZE: $0.017; SILVER: $0.016; GOLD: $0.013; PLATINUM: $0.013; DIAMOND: $0.013Bonanza listing — One normalized Bonanza listing saved to the default dataset.
detail-enrichmentFREE: $0.03; BRONZE: $0.028; SILVER: $0.025; GOLD: $0.022; PLATINUM: $0.022; DIAMOND: $0.022Detail enrichment — Adds product-page traits, seller data, images, availability, and description to one saved listing.
apify-actor-start$0.005Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run.

Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.

This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.