Loveofthegameauctions APIbid.loveofthegameauctions.com ↗
Search sports card auction lots and retrieve detailed bid economics, grading data, and lot status from Love of the Game Auctions via a clean REST API.
What is the Loveofthegameauctions API?
The Love of the Game Auctions API provides 2 endpoints that expose lot-level data from bid.loveofthegameauctions.com, covering title search across the current active auction and full lot detail including bid counts, buyer's premium totals, and third-party grading evidence. The get_lot endpoint returns 14 discrete fields per lot, from asking_price through grade_label and qualifier, giving collectors and researchers structured access to auction economics without manual page inspection.
curl -X GET 'https://api.parse.bot/scraper/33542aa3-0475-447e-8c6e-333ef56c645a/search_lots?query=Topps' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace bid-loveofthegameauctions-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Love of the Game Auctions SDK — bounded, re-runnable."""
from parse_apis.bid_loveofthegameauctions_com_api import (
LoveOfTheGameAuctions,
LotNotFound,
)
client = LoveOfTheGameAuctions()
# Search for Topps lots and print the first few results.
for summary in client.lot_summaries.search(query="Topps", limit=5):
print(summary.title, summary.price_label)
# Drill into the first hit for full detail (description, views, category).
hit = client.lot_summaries.search(query="Topps", limit=1).first()
if hit is not None:
lot = hit.details()
print(lot.title)
print(lot.category, lot.views, "views")
print(lot.description[:120])
# Same lot reachable directly by its id.
try:
same = client.lots.get(lot_id=lot.lot_id)
print(same.title, same.price_label)
except LotNotFound:
print("lot was removed since the search")
print("exercised: lot_summaries.search / LotSummary.details / lots.get")
Searches lot titles in the auction the site currently displays (the most recent auction; the site scopes anonymous search to it, and the scope is echoed in search_scope). Returns one fixed page of up to 20 lot summaries per call, ordered by lot number; page selects the 20-lot window and defaults to 1, has_more tells whether a further page exists. The site offers no status filter, so none is exposed: status is reported per lot as 'completed' (site labels Sold/Unsold) or 'active' when the site shows a running clock; between auctions every lot is completed. Economics are kept separate and never inferred: asking_price is the opening bid; final_total_with_premium is the site's 'SOLD FOR' figure, which the site states includes the buyer's premium; final_hammer, buyers_premium and current_bid are null when the site does not publish them. currency is null because the site prints only the '$' symbol (currency_symbol). Grader/grade_label/grade/qualifier are extracted from the title text only when a recognised grading-company token appears (grading_evidence shows the matched text) and are null otherwise; nothing is assumed for ungraded lots. An unmatched query returns an empty lots array with count 0.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based page of 20 lots. |
| queryrequired | string | Free-text search matched against lot titles. |
{
"type": "object",
"fields": {
"lots": "array of lot summaries: lot_id (native numeric ID as string, input for get_lot), lot_number, title, url, native_status, status, bid_count, currency (null), currency_symbol, featured, asking_price, current_bid, final_hammer, buyers_premium, final_total_with_premium, price_label (site's raw price banner), grader, grade, grade_label, qualifier, grading_evidence",
"page": "page number served",
"count": "number of lots on this page",
"query": "echo of the search text",
"has_more": "true when another page of results exists",
"page_size": "fixed 20",
"search_scope": "the auction the search was scoped to: auction_id, auction_name, scheduled start/end as printed by the site (M/D/YYYY h:mm AM/PM), schedule_timezone, schedule_precision"
},
"sample": {
"data": {
"lots": [
{
"url": "https://bid.loveofthegameauctions.com/bids/bidplace.aspx?itemid=46296",
"grade": 4,
"title": "1951 Topps Major League All-Stars Larry Doby (HOF) - PSA VG-EX 4",
"grader": "PSA",
"lot_id": "46296",
"status": "completed",
"currency": null,
"featured": false,
"bid_count": 32,
"qualifier": null,
"lot_number": "61",
"current_bid": null,
"grade_label": "VG-EX",
"price_label": "SOLD FOR $4,560",
"asking_price": 1500,
"final_hammer": null,
"native_status": "Sold",
"buyers_premium": null,
"currency_symbol": "$",
"grading_evidence": "PSA VG-EX 4",
"final_total_with_premium": 4560
}
],
"page": 1,
"count": 20,
"query": "Topps",
"has_more": true,
"page_size": 20,
"search_scope": {
"auction_id": "57",
"auction_name": "Summer, 2026 Premier Auction - Closes August 8",
"schedule_timezone": "EDT",
"schedule_precision": "minute",
"auction_scheduled_end": "8/8/2026 9:00 PM",
"auction_scheduled_start": "7/20/2026 12:00 PM"
}
},
"status": "success"
}
}About the Loveofthegameauctions API
Searching Lots
The search_lots endpoint accepts a required query string matched against lot titles within the auction the site currently has open. Results are fixed at 20 lots per page, ordered by lot number, and the page parameter (1-based) selects which window of 20 to return. Every response echoes the query text, the count of lots on that page, a has_more flag indicating whether additional pages exist, and a search_scope block that identifies the auction by auction_id, auction_name, and scheduled start/end timestamps. The scope is always the most recent auction — earlier closed auctions are not searchable through this endpoint.
Lot Detail and Economics
The get_lot endpoint accepts either the native lot_id string emitted by search_lots or the lot's full page URL. It returns the complete public detail for one lot: asking_price carries the starting bid, final_total_with_premium carries the site's "SOLD FOR" figure inclusive of buyer's premium, and current_bid is populated only while the lot is live (it is null for completed lots). Status is normalized to completed or active in the status field, with the site's own raw label (Sold/Unsold) available in native_status.
Grading Fields
For graded cards, get_lot exposes grader (the grading company token found in the title, e.g. PSA, BGS, SGC), grade (numeric), grade_label (verbal grade such as VG-EX), and qualifier (parenthesised qualifier such as MC). All four fields are null when no grading information is present on the lot. The description field carries the full lot description text with paragraph breaks preserved, and views reflects the page-view counter the site displays publicly.
The Loveofthegameauctions API is a managed, monitored endpoint for bid.loveofthegameauctions.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bid.loveofthegameauctions.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.loveofthegameauctions.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 final hammer prices including buyer's premium for specific card titles across a completed auction
- Build a graded card price database by querying
grader,grade, andfinal_total_with_premiumfor PSA or BGS lots - Monitor live auction activity by polling
current_bidandbid_counton active lots - Filter search results by lot status to separate sold inventory from unsold lots
- Aggregate
viewscounts alongside bid counts to gauge collector interest in specific player or set searches - Extract
asking_priceacross lots to analyze starting bid distribution within an auction - Identify qualified grades (e.g. MC qualifier) by reading the
qualifierfield without parsing raw title strings
| 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 Love of the Game Auctions offer an official developer API?+
What does `search_lots` return for the `search_scope` field, and why does it matter?+
search_scope block returns the auction_id, auction_name, and the scheduled start and end timestamps (formatted as M/D/YYYY h:mm AM/PM) of the auction the search was scoped to. Because the endpoint always scopes to the most recent auction, search_scope tells you exactly which auction your results belong to — useful when the site transitions between auction cycles.Can I retrieve lot data from past or historical auctions?+
search_lots is scoped to the current auction only; it does not accept an auction ID parameter to query earlier sales. get_lot can retrieve a completed lot if you already have its lot_id or URL, but there is no endpoint to list or enumerate past auctions. You can fork this API on Parse and revise it to add a historical auction listing or browsing endpoint.Does `get_lot` return individual bid history or bidder information?+
bid_count (the total number of bids placed) and the economic summary fields asking_price, current_bid, and final_total_with_premium. You can fork this API on Parse and revise it to add a bid-history endpoint if the site exposes that data publicly.Is pagination supported beyond the first page of search results?+
search_lots accepts a 1-based page integer. Each page returns up to 20 lots, and the has_more field in the response indicates whether a subsequent page exists. The page size is fixed at 20 and cannot be changed per request.