Memorylaneinc APIbid.memorylaneinc.com ↗
Search completed sports-card auction lots and retrieve per-lot results from Memory Lane Inc. Get realized prices, bid counts, grades, and images via 2 endpoints.
What is the Memorylaneinc API?
The Memory Lane Auctions API exposes 2 endpoints for querying completed lot results from bid.memorylaneinc.com, one of the established sports-card and memorabilia auction houses. The search_sales endpoint searches lot titles or descriptions across every past Memory Lane auction and returns full lot records including realized price, grade, and image URLs. The get_lot endpoint retrieves the same detail for any single lot by URL.
curl -X GET 'https://api.parse.bot/scraper/2d226e1c-28f2-4363-bd38-7074b6bb450b/search_sales?limit=3&query=Koufax+rookie' \ -H 'X-API-Key: $PARSE_API_KEY'
Searches lot titles (or descriptions) across every Memory Lane auction, past and current, and returns completed lots only (sold or unsold); lots still open for bidding are skipped and counted in open_lots_skipped_on_page. Each result is a full lot record fetched from the lot's own page (one extra round trip per result, which is why at most 5 results are returned per call), including the lot's historical auction name and start/end dates taken from the lot page's 'Item was in Auction ... which ran from/to' text, never the current auction masthead. final_amount for sold lots is the site's displayed 'SOLD FOR' realized price, which already includes the buyer's premium; buyer_premium_rate is inferred from the amount (0.2 or 0.175 when the amount is an exact markup of a whole-dollar hammer) and null otherwise. Pagination: the site returns 250 matching lots per page ordered by sort; page selects that site page and offset indexes into the completed lots on it. Follow next_page / next_offset while has_more is true. An unmatched query returns an empty results array.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based site result page (250 matched lots per page). Use next_page from a previous response. |
| sort | string | Site ordering of the matched lots before completed-lot filtering. recent_bids puts the most recently active (newest auctions) first. |
| limit | integer | Maximum number of completed lots to return; clamped to 1-5 because every result costs a lot-page fetch. |
| queryrequired | string | Keyword phrase matched as a substring of the lot title (or description, per search_in), e.g. a player, year or set name. |
| offset | integer | 0-based index into the completed lots on the selected page. Use next_offset from a previous response. |
| search_in | string | Which lot text the query is matched against. |
{
"type": "object",
"fields": {
"page": "site page fetched",
"sort": "echo of the ordering used",
"query": "echo of the search phrase",
"offset": "offset applied within the page's completed lots",
"results": "array of lot records (same shape as get_lot) plus gallery_price_text (rounded price as shown in the gallery), thumbnail_url and detail_error (null, or why the lot page could not be read; the record then carries only gallery fields)",
"has_more": "true when further completed lots exist on this or a later site page",
"next_page": "page value for the next call, null when exhausted",
"search_in": "echo of the field searched",
"next_offset": "offset value for the next call, null when exhausted",
"result_count": "number of lot records returned",
"completed_on_page": "number of completed (sold/unsold) lots on the fetched site page",
"open_lots_skipped_on_page": "number of still-open lots on the page that were excluded"
},
"sample": {
"data": {
"page": 1,
"sort": "recent_bids",
"query": "Koufax rookie",
"offset": 2,
"results": [
{
"url": "https://bid.memorylaneinc.com/bids/bidplace?itemid=91965",
"grade": "5",
"title": "1955 Topps #123 Sandy Koufax Rookie PSA 5 EX",
"grader": "PSA",
"status": "sold",
"item_id": "91965",
"category": "1950-1959",
"currency": "USD",
"bid_count": 15,
"image_url": "https://bid.memorylaneinc.com/images_items/item_91965_1_260462.jpg",
"sale_date": "2026-01-31",
"image_urls": [
"https://bid.memorylaneinc.com/images_items/item_91965_1_260462.jpg",
"https://bid.memorylaneinc.com/images_items/item_91965_2_260463.jpg"
],
"lot_number": 779,
"auction_end": "2026-01-31T19:00:00",
"description": "POTENT PITCHER!!!... What a fantastic and gettable Koufax Rookie this is. Holdered PSA 5 with great color and surfaces with mildly aged edging and corners.",
"price_basis": "realized price as displayed by the site, hammer plus buyer's premium",
"price_label": "SOLD FOR",
"auction_name": "Winter Rarities 2026 Auction",
"detail_error": null,
"final_amount": 2761.2,
"starting_bid": 500,
"auction_start": "2026-01-05T09:00:00",
"thumbnail_url": "https://bid.memorylaneinc.com/images_items/thumbs/thumb_item_91965_1_260462.jpg",
"auction_timezone": "America/New_York",
"sale_date_source": "lot page 'Item was in Auction ... which ran from/to' text",
"buyer_premium_rate": 0.2,
"gallery_price_text": "SOLD FOR $2,761",
"sale_date_precision": "day",
"buyer_premium_included": true,
"buyer_premium_rate_basis": "inferred_from_amount"
}
],
"has_more": true,
"next_page": 1,
"search_in": "title",
"next_offset": 3,
"result_count": 1,
"completed_on_page": 136,
"open_lots_skipped_on_page": 1
},
"status": "success"
}
}About the Memorylaneinc API
Endpoints and What They Return
The search_sales endpoint accepts a required query string matched as a substring against lot titles (or descriptions, controlled by the search_in parameter) and returns an array of completed lots — those marked sold or unsold — while counting any still-open lots in open_lots_skipped_on_page. Each result carries the same fields as get_lot plus gallery_price_text (the rounded price as shown in the gallery) and thumbnail_url. Pagination is handled via page, offset, next_page, and next_offset fields; each page covers up to 250 matched lots, and limit caps results at 1–5 per call. The sort parameter controls ordering before the completed-lot filter is applied; recent_bids surfaces the most recently active lots first.
Per-Lot Detail
get_lot takes a url containing the site's itemid query parameter and returns a single lot record. Key fields include status (sold, not_sold, ended_unknown, or open), final_amount (realized price or current high bid for open lots), bid_count, grade, grader (the grading company parsed from the title), auction_name, auction_start, auction_end, category, currency (USD when an amount is present), and image_url. The item_id field is the site's own lot identifier and can be used to cross-reference lots.
Coverage and Filtering Notes
Both endpoints cover only public lot data visible without authentication. The search_sales endpoint skips lots that are still open for bidding; those are counted separately so callers know how many results were excluded per page. Grades and grader names are parsed from lot titles, so they are null when the title does not include that information. The currency field is null when no amount is present, which can occur for unsold lots.
The Memorylaneinc API is a managed, monitored endpoint for bid.memorylaneinc.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bid.memorylaneinc.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 bid.memorylaneinc.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 prices for specific players or card years across all Memory Lane auctions using
search_saleswith targeted queries. - Build a price guide for graded sports cards by aggregating
final_amount,grade, andgraderfrom completed lot records. - Monitor how bid counts (
bid_count) correlate with final prices for vintage baseball card lots. - Retrieve full-size card images via
image_urlfor visual cataloging or comparison tools. - Compare auction results over time by examining
auction_startandauction_enddates across lots returned for the same query. - Identify unsold lots (
status: not_sold) for a given player or set to gauge market demand. - Validate auction house coverage by checking
auction_namefields across a player search to see which Memory Lane events included that item.
| 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 Memory Lane Inc. offer an official developer API?+
How does pagination work in `search_sales`, and what do `next_page` and `next_offset` mean?+
offset parameter lets you resume partway through a page's completed results. When has_more is true, use next_page and next_offset from the response as inputs to the next call to continue iterating. Both fields are null when all results are exhausted.What does `status: ended_unknown` mean in a lot record?+
ended_unknown means the lot's auction period has closed but the page shows neither a 'SOLD' nor an 'UNSOLD' marker. In that state final_amount may still reflect the last recorded bid, but the outcome cannot be confirmed from public data.Does the API return lot data from active or upcoming Memory Lane auctions?+
search_sales endpoint filters out open lots and only returns completed ones; open lots are counted in open_lots_skipped_on_page but not included in results. get_lot will return a record for an open lot with status: open and final_amount set to the current high bid, but search results are limited to completed lots. You can fork this API on Parse and revise it to add an endpoint that surfaces active auction lots directly.