Lelands APIlelands.com ↗
Search Lelands past and active auction lots. Get sale prices, bid counts, grades, and grader data for sports cards and memorabilia via 4 endpoints.
What is the Lelands API?
The Lelands API provides structured access to Lelands.com auction data across 4 endpoints, covering both completed and active lots. The search_sales endpoint searches the full past-auction archive and returns per-lot sale records including final price, bid count, sold/not-sold status, and grading details. search_active queries the live auction gallery, while get_lot and get_active_lot retrieve individual lot facts by URL.
curl -X GET 'https://api.parse.bot/scraper/d219970c-feb5-4d1a-a22e-9146392618be/search_sales?query=1952+Topps+Mickey+Mantle' \ -H 'X-API-Key: $PARSE_API_KEY'
Searches Lelands' public past-auction archive by keyword and returns up to 5 completed lots per call, each with its full sale record (one extra round trip per returned lot, so a call costs at most six page loads). Results are the site's own search ordering: newest auction first by default, or the site's relevance ordering when sort is 'best'; the site's oldest-first ordering is not offered because the site fails to return it. Pagination is a true offset over the site's result stream: offset selects the first result to return (default 0) and limit (1-5) how many; has_more/next_offset tell you whether more results follow. A query the site has no results for returns an empty results array with count 0. Each result carries the lot's lelands.com page URL (source_url, accepted unchanged by get_lot), the site's numeric item_id, and a sale object with: status ('sold', 'not_sold' for reserve-not-met/unsold/withdrawn lots, 'ended_unknown' when the closed lot shows no outcome, or 'open' if the lot is still live), final_amount (the 'SOLD FOR' price the site states includes the buyer's premium; null when not sold), price_label (the site's verbatim outcome text), currency 'USD' inferred from the dollar sign (currency_explicit is false because the site never names a currency code), buyer_premium_rate (always null; the site does not publish the rate per lot), bid_count, starting_bid, sale_date/sale_datetime (the scheduled close of the auction the lot belonged to, US Eastern as displayed by the site, precision 'auction_end' - the site does not publish a per-lot close time, and the date is read from the lot's own auction record, never from the site's current-auction banner), grader and grade parsed from the lot title (null when the title carries no recognizable grading-company grade), image_url plus all image_urls, category, auction_name, lot_number, views and the full description. If a lot's detail page cannot be loaded, that row's sale is null and detail_error explains why; detail_failures counts such rows.
| Param | Type | Description |
|---|---|---|
| sort | string | Result ordering applied by the site. |
| limit | integer | Number of lots to return, 1 to 5 inclusive; values outside that range are rejected. |
| queryrequired | string | Free-text search over past-auction lot titles, e.g. a year, set, player and grade. |
| offset | integer | Zero-based index of the first result to return within the site's result stream; pass next_offset from a previous response to continue. |
{
"type": "object",
"fields": {
"sort": "ordering applied",
"count": "number of rows in results",
"limit": "requested page size",
"query": "echo of the search text",
"offset": "zero-based index of the first returned result",
"results": "array of lot rows: title, source_url (lelands.com lot page, input to get_lot), thumbnail_url, item_id (site's numeric lot id as a string), sale (full sale record, same shape as get_lot's payload, or null), detail_error (null or reason the sale record is missing)",
"has_more": "true when more results follow offset+limit",
"next_offset": "offset to pass for the next page, or null when has_more is false",
"total_pages": "number of result pages the site reports (24 results per site page), null when the site shows no pagination",
"detail_failures": "number of rows whose sale record could not be loaded",
"results_per_source_page": "site page size the offset is mapped over (24)"
},
"sample": {
"data": {
"sort": "newest",
"count": 2,
"limit": 2,
"query": "1952 Topps Mickey Mantle",
"offset": 0,
"results": [
{
"sale": {
"grade": "EX-MT 6",
"title": "1952 Topps Baseball #311 Mickey Mantle PSA EX-MT 6 - Newly Discovered Example",
"views": 4617,
"grader": "PSA",
"status": "sold",
"item_id": "113603",
"lot_url": "https://auction.lelands.com/bids/bidplace?itemid=113603",
"category": "Baseball and Trading Cards",
"currency": "USD",
"bid_count": 46,
"image_url": "https://auction.lelands.com/images_items/item_113603_1_328356.jpg",
"sale_date": "2023-08-05",
"image_urls": [
"https://auction.lelands.com/images_items/item_113603_1_328356.jpg",
"https://auction.lelands.com/images_items/item_113603_2_328357.jpg"
],
"lot_number": 2,
"description": "1952 Topps Baseball #311 Mickey Mantle First Topps card. Graded EX-MT 6 by PSA. ...",
"price_basis": "sold_for_price_including_buyers_premium",
"price_label": "SOLD FOR $159,312.00",
"auction_name": "2023 Summer Classic",
"final_amount": 159312,
"starting_bid": 10000,
"sale_datetime": "2023-08-05T22:00:00",
"sale_timezone": "US Eastern (as displayed by the site)",
"currency_symbol": "$",
"currency_explicit": false,
"buyer_premium_rate": null,
"buyer_premium_basis": "site notice: 'Prices Shown Include Buyer's Premium.'",
"sale_date_precision": "auction_end",
"auction_start_datetime": "2023-07-16T19:00:00",
"buyer_premium_included": true
},
"title": "52 Topps Baseball #311 Mickey Mantle PSA EX-MT 6 - Newly Discovered Example",
"item_id": "113603",
"source_url": "https://lelands.com/past-auctions/2023-summer-classic/52-topps-baseball-311-mickey-mantle-psa-ex-mt-6-newly-discovered-example",
"detail_error": null,
"thumbnail_url": "https://auction.lelands.com/images_items/item_113603_1_328356.jpg"
},
{
"sale": {
"grade": "EX+ 5.5",
"title": "1952 Topps Baseball #311 Mickey Mantle Card PSA EX+ 5.5 - Newly Discovered Example",
"views": 2654,
"grader": "PSA",
"status": "sold",
"item_id": "113602",
"lot_url": "https://auction.lelands.com/bids/bidplace?itemid=113602",
"category": "Baseball and Trading Cards",
"currency": "USD",
"bid_count": 28,
"image_url": "https://auction.lelands.com/images_items/item_113602_1_330024.jpg",
"sale_date": "2023-02-11",
"image_urls": [
"https://auction.lelands.com/images_items/item_113602_1_330024.jpg",
"https://auction.lelands.com/images_items/item_113602_2_330025.jpg"
],
"lot_number": 6,
"description": "1952 Topps Baseball #311 Mickey Mantle first Topps card. Graded EX+ 5.5 by PSA. ...",
"price_basis": "sold_for_price_including_buyers_premium",
"price_label": "SOLD FOR $107,828.40",
"auction_name": "Winter Focus 2023",
"final_amount": 107828.4,
"starting_bid": 10000,
"sale_datetime": "2023-02-11T22:00:00",
"sale_timezone": "US Eastern (as displayed by the site)",
"currency_symbol": "$",
"currency_explicit": false,
"buyer_premium_rate": null,
"buyer_premium_basis": "site notice: 'Prices Shown Include Buyer's Premium.'",
"sale_date_precision": "auction_end",
"auction_start_datetime": "2023-01-29T19:00:00",
"buyer_premium_included": true
},
"title": "52 Topps Baseball #311 Mickey Mantle Card PSA EX+ 5.5 - Newly Discovered Example",
"item_id": "113602",
"source_url": "https://lelands.com/past-auctions/winter-focus-2023/52-topps-baseball-311-mickey-mantle-card-psa-ex-5-5-newly-discovered-example",
"detail_error": null,
"thumbnail_url": "https://auction.lelands.com/images_items/item_113602_1_330024.jpg"
}
],
"has_more": true,
"next_offset": 2,
"total_pages": 1,
"detail_failures": 0,
"results_per_source_page": 24
},
"status": "success"
}
}About the Lelands API
Past-Auction Archive
The search_sales endpoint accepts a free-text query parameter matched against past-auction lot titles and returns up to 5 completed lots per call. Each row in results includes title, source_url, thumbnail_url, item_id, and full sale record fields: status (sold / not_sold / ended_unknown), final_price including buyer's premium, bid_count, close_date, grader (e.g. PSA, SGC, BGS), and grade. Pagination is controlled through offset and next_offset; total_pages reflects the site's own pagination count (24 results per site page). A detail_failures count flags rows whose sale records could not be loaded.
Individual Lot Detail
get_lot accepts either a /past-auctions/ lot page URL (as emitted in search_sales results) or the lot's bidding-page URL (emitted as lot_url). It returns title, grade, grader, status, bid_count, views, category, item_id, and currency (USD when a price symbol is present, otherwise null). Use this endpoint to fetch or refresh the record for a single known lot without running a full archive search.
Active Auction Search and Lot Facts
search_active queries the site's current-auction gallery by keyword and returns up to 5 lot rows per page, including item_id, url, title, and lot status as labeled by the site. The auction object in the response carries the current auction's name, open/closed state, start_datetime, and end_datetime. auction_is_live is derived from the site's own banner indicator. Pass next_page to continue paginating.
get_active_lot takes a bidding-page URL from search_active results and returns title, grade, grader, status (sold / unsold / open / closed / unknown), item_id, category, bid_count, opening_bid, and sold_for when a SOLD FOR label is present. Currency is always null on this endpoint — the site does not display a currency code on bidding pages.
The Lelands API is a managed, monitored endpoint for lelands.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when lelands.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official lelands.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track realized sale prices and bid counts for graded PSA or SGC cards across Lelands past auctions
- Build a price-guide database for vintage sports memorabilia using closed-lot final prices and grade data
- Monitor active Lelands auction lots by keyword to alert on new listings matching a specific player or set
- Compare opening bids to final prices on completed lots to model bidding patterns for a specific category
- Aggregate lot view counts and bid counts from past sales to identify high-demand card categories
- Feed auction close dates and sale prices into a time-series model for collectibles valuation research
- Cross-reference item IDs across search_sales and get_lot to reconcile auction records and detect duplicates
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Lelands have an official developer API?+
What does search_sales return versus get_lot?+
search_sales returns up to 5 lot rows per call from the past-auction archive, each including title, thumbnail, item_id, and a full sale record (status, final price, bid count, close date, grade, grader). get_lot accepts a single lot URL — either the past-auctions page URL from search_sales or the bidding-page URL — and returns that same sale record for one specific lot, including views and category fields not present in the search results array.Does the active-auction search return current bid amounts?+
search_active returns lot rows read from the gallery itself and does not include current bid amounts — those are not exposed in the gallery view. get_active_lot returns opening_bid and sold_for (when a SOLD FOR label appears), but current bid is only available when the site itself affirms one on the bidding page. If you need live bid tracking for active lots, you can fork this API on Parse and revise it to add a polling endpoint that repeatedly fetches individual bidding pages.Are seller information, lot descriptions, or images beyond thumbnails available?+
What are the pagination limits for past-auction searches?+
search_sales enforces a maximum of 5 results per call. The offset parameter advances through the site's result stream, and next_offset in the response gives the value to pass for the following page. total_pages reflects the site's own count at 24 results per site page, but can be null when the site shows no pagination. The has_more boolean is the reliable signal for whether additional results exist.