LEGO Sets Scraper - PriceCharting avatar

LEGO Sets Scraper - PriceCharting

Pricing

from $16.67 / 1,000 price records

Go to Apify Store
LEGO Sets Scraper - PriceCharting

LEGO Sets Scraper - PriceCharting

Scrape LEGO set prices from PriceCharting at 7 real conditions: Pieces Only, Pieces & Box, Pieces & Manual, Complete, New & Sealed, Box Only, Manual Only. Optional price history, set details and sold comps. Export CSV, Excel, JSON. No login or API key.

Pricing

from $16.67 / 1,000 price records

Rating

0.0

(0)

Developer

RecordsData

RecordsData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

RecordsData

🧱 LEGO Sets Scraper: LEGO Prices by Condition from PriceCharting

LEGO Sets Scraper returns the market price of any LEGO set on PriceCharting at 7 real completeness conditions: Pieces Only, Pieces & Box, Pieces & Manual, Complete, New & Sealed, Box Only and Manual Only. Search by set name, set number, theme or PriceCharting ID, or paste set and theme URLs. Each row also carries sales volume per condition. Get JSON, CSV or Excel with no login and no API key. You pay per set delivered ($0.02 each, so 1,000 sets cost $20 at the Free tier), never for failed or empty rows.

The LEGO Sets Scraper reads PriceCharting.com and turns each LEGO set into one clean row with 7 price points, the set number, the theme and how often each condition sells. Optional extras add price history, set details and sold comps; a monitor mode returns only new or price-changed sets.

🧱 What does the LEGO Sets Scraper do?

Pick sets by name (for example "millennium falcon"), set number (75192, #75192 or 75192-1), PriceCharting product ID, theme (slug, name or all, about 165 themes) or start URL (theme pages, set pages or the theme index), in any combination. The same set is returned once.

PriceCharting's search page is blocked for automated tools, so the actor reads the theme listing pages (150 sets per page), popular themes first. Name searches came back in 5 to 75 seconds in cloud tests; narrowing with Themes takes about 5 to 10 seconds.

πŸ“Š What LEGO data can you get from PriceCharting?

Each dataset row has up to 25 columns:

FieldMeaning
title, setNumberClean set title (for example "Millennium Falcon #75192") and the set number, a handy join key
theme, themeUrlPriceCharting theme and its listing link
url, productId, imageUrl, currencyProduct URL, PriceCharting ID, set photo and currency (USD)
piecesOnlyAll pieces, no box, no manual
piecesAndBox, piecesAndManualPieces with box but no manual, or with manual but no box
completePieces, box and manual
newNew and sealed
boxOnly, manualOnlyBox alone or manual alone
salesVolume, salesPerYearText per condition (for example "2 sales per month" or "rare") and the same figure as a number per year
setDetailsOptional. Genre, release date, UPC list, ePID, ASIN when listed, notes, photos
priceHistoryOptional. Monthly price series per condition
soldCompsOptional. Sold listings with condition, date, title, price, source and url
scrapedAtUTC timestamp of the scrape
searchQuery, error, errorType, hintThe input behind the row; error fields only on free notice rows

A condition with no price on PriceCharting is left out of the row (boxOnly and manualOnly were missing on a few older sets in the 10-set test). The UPC is only available inside setDetails. ASIN was empty on all 7 sets checked, the ePID was filled on 7 of 7.

πŸ“¦ What does the LEGO Sets Scraper output look like?

A real row from a cloud run (Millennium Falcon). This earlier-build sample omits newer columns such as setNumber, theme and salesVolume:

{
"title": "Millennium Falcon #75192",
"url": "https://www.pricecharting.com/game/lego-star-wars/millennium-falcon-75192",
"piecesOnly": 223.63,
"complete": 550,
"new": 710,
"piecesAndManual": 281,
"boxOnly": 90,
"manualOnly": 57.13,
"piecesAndBox": 313.63
}

πŸ’° How much does it cost to scrape LEGO prices?

Pay per event. Paid Apify plans get lower prices on the base record.

EventFree / Bronze / Silver / Gold+When it is charged
price-record$0.02 / $0.01833 / $0.01733 / $0.01667One per set row (7 prices and sales volume included)
set-details-record$0.01 on every tierOne per set, only with includeSetDetails
price-history-record$0.01 on every tierOne per condition series (6 per set), only with includePriceHistory
sold-comps-record$0.01 on every tierOne per sold listing, only with includeSoldComps

You are not charged for error rows, scan-budget notices, unsupported URLs, sets not found, sets skipped by monitor mode, or failed runs.

Worked examples at live prices:

  • 10 Star Wars sets, no extras: $0.20 at FREE, $0.1667 at GOLD.
  • 1 set with all three extras (AAT #75029): 1 price record, 1 set-details, 6 price-history series and 105 sold comps, 113 events, about $1.14 at FREE.
  • 1,000 sets, no extras: 1,000 x $0.02 = $20.00 at FREE, $16.67 at GOLD; $30.00 at FREE with set details.

Cap spend with Max Items and Apify's maximum cost per run. Free accounts are limited to 10 sets per run.

πŸ”” Monitor mode: only new or changed sets

Turn on onlyChanged and schedule the actor. A set counts as seen by its product ID plus its 7 prices, so a set whose price moved is billed again, while unchanged sets are skipped before billing. In a cloud test the second run returned 0 rows and 0 charges. Use stateKey and resetSeen to manage monitors. Max Items then counts sets looked at.

πŸš€ How to scrape LEGO set prices in 3 steps

  1. Fill any of Search by set name, Set numbers, Product IDs, Themes or Start URLs.
  2. Set Max Items and any extras (price history, sold comps, set details).
  3. Click Start and download JSON, CSV, Excel or XML.

βš™οΈ Input

FieldTypeDefaultDescription
searchQueriesarrayemptySet names or keywords
setNumbersarrayemptySet numbers such as 75192
productIdsarrayemptyNumeric PriceCharting IDs
themesarrayemptyTheme slug, name or all
startUrlsarrayemptyTheme or set page URLs
maxResultsPerQueryinteger10Sets per name search (1 to 500)
maxScanSecondsinteger180Time cap for name and set-number searches (10 to 3,600)
maxItemsinteger10Maximum sets across all sources (free accounts max 10)
includePriceHistorybooleanfalseMonthly price history
includeSoldCompsbooleanfalseeBay and TCGPlayer sold listings
includeBoxAndManualSoldCompsbooleanfalseBox Only and Manual Only sold tabs (needs sold comps)
includeSetDetailsbooleanfalseGenre, UPC, ePID, ASIN, photos, notes
onlyChangedbooleanfalseMonitor mode
stateKey, resetSeenstring, booleanempty, falseMonitor name; clear monitor memory

With no source filled in, the actor reads the LEGO Star Wars theme page. Only LEGO pages are supported.

{
"searchQueries": ["millennium falcon"],
"themes": ["star wars"],
"maxItems": 10,
"includeSetDetails": true
}

πŸ†š How does it compare to other PriceCharting scrapers?

Read on 2026-10-10 from each public Store listing; "not stated" means the listing does not show it.

This actorparsebirdjungle_synthesizer
Price per row (Free tier)$0.02, $0.01667 at Gold$0.003, $0.0015 at Gold$0.003 flat
Find sets by name or numberYes, name, set number, theme, IDIDs and URLs onlyCategories and URLs
Sales volumeText and number per yearYesWith detail option
Sold comps and historyBoth, opt-inBoth, opt-inNot stated
Only-new monitorYesNoResume cursor

Also read: lulzasaur/pricecharting-scraper ($0.01 per result) and rl1987/pricecharting-api-scraper ($0.005 per row, no sales volume or history). On price per row we are the most expensive: 6.7 times parsebird and jungle_synthesizer at the Free tier, 5.6 times at Gold. The premium buys search by name and set number, LEGO-labeled columns and a monitor mode. If you already have product IDs and want the cheapest flat rows, parsebird is the better fit.

🎯 Who uses LEGO price data?

Collectors and resellers compare Pieces Only against Complete and New, and analysts model condition premiums.

πŸ”Œ How do I run it from the API or other tools?

curl -X POST "https://api.apify.com/v2/acts/recordsdata~lego-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"setNumbers":["75192"],"themes":["star wars"],"maxItems":1}'

Works with Apify schedules, webhooks, Zapier, Make, n8n and Google Sheets.

πŸ€– LEGO Sets Scraper MCP server for AI agents

AI agents can call this Actor through the Apify MCP server at https://mcp.apify.com?tools=RecordsData/lego-scraper, which loads only this Actor as a tool.

Add this to your MCP client configuration (Claude Desktop, Cursor, VS Code or any remote MCP client):

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=RecordsData/lego-scraper"
}
}
}

Example agent prompt:

Use the LEGO Sets Scraper to look up set 75192 in the Star Wars theme, then tell me the gap between its Pieces Only and New & Sealed price and how many sales per year each condition has.

Tool description: choose this Actor when an agent needs LEGO set prices by completeness condition (Pieces Only through New & Sealed) from PriceCharting, found by set name, set number, product ID, theme or URL, with optional price history, set details or sold comps.Each extra is billed and name searches without a theme can take minutes, so pass themes when known.

The actor reads publicly visible price pages and does not log in or bypass access controls. Respect PriceCharting's terms of service and use the data responsibly. This is an independent tool, not affiliated with PriceCharting or the LEGO Group.

❓ FAQ

Why did my LEGO Sets Scraper run return 0 results?

The run ends with a status message that says why. A missing theme page, a blocked page or an unsupported URL never charges anything. A name search that reaches its time budget with no match ends with one free scan-budget notice row.

What happens if I send an empty or invalid input to the LEGO Sets Scraper?

With no source filled in, the actor reads the LEGO Star Wars theme page. Invalid sources, such as the set number "abc!" or a non-LEGO URL, end the run as succeeded with a free invalid-input row holding an error message and a hint. An unknown product ID gives a free not-found row.

Why are some LEGO prices missing on PriceCharting?

A missing price means PriceCharting has no recorded sales for that condition on that set, most often boxOnly or manualOnly on smaller sets. The field is left out instead of set to null. It is real no-data, not a scraper error.

Can I search the LEGO Sets Scraper by keyword or set number?

Yes. Use searchQueries for names such as "millennium falcon" and setNumbers for numbers such as 75192. A rare name in a late theme can use the whole scan budget, so add themes to finish in about 5 to 10 seconds.

Can I search the LEGO Sets Scraper by UPC?

No. Theme listings carry no UPC, so it is not a search input. The UPC is returned inside setDetails (upc as text, upcs as a list) when you turn on includeSetDetails. To start from a barcode, find the set number or PriceCharting ID first, then pass that as input.

Does the LEGO Sets Scraper work for Pokemon cards or video games on PriceCharting?

No. It accepts only PriceCharting LEGO pages. Other categories use different price meanings, so they are rejected on purpose instead of returning mislabeled prices. Use the dedicated PriceCharting actors from the same publisher listed at the bottom of this page.

How many LEGO sets can I scrape per run?

Free accounts get 10 sets per run. Paid accounts can request up to 1,000,000 sets with maxItems, for example with themes: ["all"] to walk every theme. The run stops cleanly at Apify's maximum cost per run and keeps the sets saved so far.

What is the difference between Pieces & Box and Pieces & Manual in the LEGO Sets Scraper?

Pieces & Box means all the pieces plus the original box but no instructions. Pieces & Manual means all the pieces plus the booklet but no box. Both are tracked separately from Complete (pieces, box and manual) and from Pieces Only, which has none of them.

Will I be charged if the LEGO Sets Scraper hits my cost limit?

Charges stop at your limit. At the maximum charge the run stops cleanly with the status "Stopped at your max charge limit" and keeps the sets saved so far. You pay only for delivered sets and their extras, never for failed pages or error rows.

Can I schedule the LEGO Sets Scraper to track LEGO prices?

Yes. Use Apify Schedules to run it daily or weekly, then push each dataset to Google Sheets, Make, Zapier or n8n. Turn on onlyChanged so each run returns only new sets or sets whose price moved, which keeps the bill small.

What does Max scan seconds do in the LEGO Sets Scraper?

maxScanSeconds (10 to 3,600, default 180) caps the time spent reading theme pages for name and set-number searches. At the default, a set in a late A to Z theme can end with the free scan-budget notice. Narrow with themes or raise it: set 6285 across all themes was found with 300 seconds.

Does the LEGO Sets Scraper return sales volume?

Yes. salesVolume gives text per condition such as "2 sales per month" or "rare", and salesPerYear gives the same figure as a number so you can sort by how fast a set sells. Both are in the price record at no extra charge.

Can the LEGO Sets Scraper resume a theme scan where it stopped?

No, there is no resume cursor for theme scans. To avoid paying twice for the same sets, turn on onlyChanged with a stateKey and bound each run with maxItems. Sets already seen with the same prices are skipped before billing.

How do I get Box Only and Manual Only sold comps?

Turn on includeSoldComps and then includeBoxAndManualSoldComps. The second switch needs the first and adds the Box Only and Manual Only sold tabs, up to about 30 more listings each per set. Each listing is one sold-comps-record at $0.01, so the Falcon with every tab costs about $1.66.

πŸ”— Want other PriceCharting data?

See the full RecordsData collection.

πŸ†˜ Support

Questions or a missing field: open an issue on the Actor page or write to contact.punkrecordsdata@gmail.com.

Last updated: 2026-10-11