Market Movers (Sports Card Investor) Scraper
Pricing
from $5.00 / 1,000 dataset rows
Market Movers (Sports Card Investor) Scraper
Scrape public Sports Card Investor / Market Movers data via the app's anonymous tRPC API — card catalogue + market-price stats, keyword search, completed sales (comps), live marketplace listings, deals, daily price stats, market indices, and reference lists. Read-only, no account.
Pricing
from $5.00 / 1,000 dataset rows
Rating
0.0
(0)
Developer
R.L.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Market Movers Scraper 🏀🃏 — sports-card catalogue, market prices, sales comps & live listings
Reads Sports Card Investor / Market Movers' own mobile API directly (the app's anonymous tRPC backend), so it's fast and complete — no HTML scraping, no login. Read-only public data. Export to JSON, CSV, Excel, or an API.
Modes
search(default) — search the card/item catalogue by keyword and filters. Every result carries the card's attributes (player, set, sport, grade, variation, rookie, image) plus market-price stats acrosslast7 / last30 / last90 / last365 / allwindows (avg/min/max, sales count, change).completedSales— completed sales comps for one or more collectible ids (final price, date, platform, seller, bids, sale URL).activeSales— live marketplace listings (eBay, Goldin, MySlabs, …) for collectible ids (buy-it-now/auction price, marketplace, end time).dailyStats— per-collectible daily price stats for collectible ids.deals— the app's "great deal" listings feed.marketIndices— curated market indices (SCI 500, …); setindexId(+startDateISO) to also pull that index's stats series.reference— lookup lists: sports, grades, sale platforms, and platform-wide totals.
// search LeBron cards (with market-price stats){ "mode": "search", "query": "lebron james", "sportIds": ["2"], "maxItems": 50 }// -> { "type":"collectible", "title":"2003 Upper Deck Hardcourt LeBron James Floor", "player":"LeBron James",// "sport":"Basketball", "grade":"Raw", "price_all_avg":45.04, "price_last30_avg":68.5, "collectible_id":2823287 }// completed-sale comps for a collectible{ "mode": "completedSales", "collectibleIds": ["2823287"] }// -> { "type":"completed_sale", "final_price":72.0, "sale_platform":"eBay", "sale_date":"...", "url":"https://www.ebay.com/itm/..." }// live listings for a collectible{ "mode": "activeSales", "collectibleIds": ["2823287"] }// -> { "type":"active_listing", "marketplace":"ebay", "sale_price":65.0, "buy_it_now_price":80.0, "url":"..." }// reference lists (sports, grades, platforms, totals){ "mode": "reference" }// -> { "type":"sport", "id":2, "name":"Basketball" } , { "type":"grade", "name":"PSA 10" } , ...
Every row shares one flat schema with a type discriminator, so a mixed export stays a single table;
fields that don't apply to a row type are null. Prices are USD dollars as returned by the API.
⚙️ Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | search · completedSales · activeSales · deals · dailyStats · marketIndices · reference. |
query | string | – | Search mode — keyword. |
sportIds / playerIds / gradeIds / setYears | array | – | Search filters. |
isRookie / isGradedOnly | boolean | false | Search filters. |
sortBy / sortDirection | string | – | Search sort. |
collectibleIds | array | – | Completed sales / Active listings / Daily stats — the id from Search. |
collectibleType | string | sports-card | Sales/deals/stats collectible type. |
marketplaces | array | – | Active listings — optional marketplace filter. |
indexId / startDateISO | string | – | Market indices — pull one index's stats. |
dateRangeInDays | integer | 30 | Reference — platform-totals window. |
maxItems | integer | 200 | 0 = all. Only Search paginates. |
proxyConfiguration | object | Apify datacenter | On by default; the API is not geo-gated. |
📤 Output
A flat record per item with a type discriminator. Collectible rows carry player, set_name,
set_year, sport, grade, set_variation, price_*_avg, population_count and the full nested
stats. Sale rows carry final_price/sale_price, sale_platform/marketplace, sale_date,
seller_name, url. Reference rows carry name/id. Shapes that vary (deals, daily stats, index
stats, platform totals) also include the raw object under data.
📌 Good to know
- No login. The app's
public.*API is anonymous; this is exactly the public market data the app shows a signed-out user. There is no request signing or API key on this surface. - Prices are the app's own compiled market data. Market Movers itself aggregates sales from eBay, Goldin and other auction houses; this actor reads the app's API rather than those upstream sources (which sit behind Akamai/Cloudflare bot walls). Values are point-in-time.
- Proxy. Apify datacenter proxy is on by default to keep requests off the run's shared IP; the API is not geo-gated, so datacenter is enough (no residential needed).