Yahoo APIauctions.yahoo.co.jp ↗
Search active and completed Yahoo Auctions Japan listings, fetch item details, seller profiles, and find underpriced items vs. 180-day market averages.
What is the Yahoo API?
This API covers Yahoo Auctions Japan across 5 endpoints, letting you search active listings, retrieve historical sold prices with 180-day market statistics, inspect individual auction details, and evaluate seller reputation. The compare_market_price endpoint is particularly useful: it automatically identifies active listings priced below 80% of the market average, combining completed and active listing data into a single response.
curl -X GET 'https://api.parse.bot/scraper/db1cf3fd-add4-4ac6-a70d-1b9d1c8e99d7/search_listings?sort=new&limit=5&order=a&query=Nintendo+Switch&offset=1&condition=new&max_price=50000&min_price=1000' \ -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 auctions-yahoo-co-jp-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: Yahoo Auctions Japan SDK — search listings, check market prices, inspect sellers."""
from parse_apis.yahoo_auctions_japan_api import YahooAuctions, Sort, Order, Condition, ListingNotFound
client = YahooAuctions()
# Search active listings for Nintendo Switch, sorted by newest, new condition only
for listing in client.listings.search(query="Nintendo Switch", sort=Sort.NEW, order=Order.DESCENDING, condition=Condition.NEW, limit=5):
print(listing.title, listing.price, listing.url)
# Drill into a single listing by ID and check its seller
listing = client.listings.get(id="m1233190744")
print(listing.title, listing.price, listing.bid_count)
# Get seller profile via sub-resource navigation
seller = listing.seller.get()
print(seller.display_name, seller.rating_score, seller.good_ratio)
# Search completed/sold listings for market price research
result = client.completedlistings.search(query="iPhone")
print(result.stats.avg_price, result.stats.min_price, result.stats.max_price)
for item in result.items[:3]:
print(item.title, item.price)
# Compare market price — find underpriced deals
comparison = client.listings.compare_prices(query="iPhone")
print(comparison.market_avg_price)
for deal in comparison.underpriced_items[:3]:
print(deal.title, deal.price, deal.image_url)
# Typed error handling for a missing listing
try:
client.listings.get(id="nonexistent_item_12345")
except ListingNotFound as exc:
print(f"Listing gone: {exc}")
print("exercised: listings.search / listings.get / seller.get / completedlistings.search / listings.compare_prices")Search active auction and fixed-price listings by keyword and category. Returns paginated results with item title, price, ID, URL, and thumbnail image. Pagination uses an offset parameter that increments by the limit value. Results are sorted by the sort/order combination. An empty query with a category ID returns all items in that category.
| Param | Type | Description |
|---|---|---|
| sort | string | Sort field |
| limit | integer | Number of results per page (max 50) |
| order | string | Sort order |
| query | string | Search keyword |
| auccat | string | Category ID |
| offset | integer | Pagination offset (starts at 1, increments by limit) |
| condition | string | Item condition filter |
| max_price | integer | Maximum price in Yen |
| min_price | integer | Minimum price in Yen |
{
"type": "object",
"fields": {
"items": "array of listing objects with title, id, url, price, image_url",
"total": "integer total result count"
},
"sample": {
"data": {
"items": [
{
"id": "m1233190744",
"url": "https://auctions.yahoo.co.jp/jp/auction/m1233190744",
"price": 13000,
"title": "Nintendo Switch 本体のみ Joy-Con付き",
"image_url": "https://auc-pctr.c.yimg.jp/i/example.jpg"
}
],
"total": 0
},
"status": "success"
}
}About the Yahoo API
Search Active and Completed Listings
The search_listings endpoint accepts a query keyword, optional auccat category ID, condition filter, and max_price cap, returning paginated arrays of listing objects — each with title, id, url, price, and image_url — plus a total count. Pagination uses an offset parameter that starts at 1 and increments by whatever limit value you set (max 50 per page). The search_completed_listings endpoint works similarly but returns sold items and appends a stats object with min_price, avg_price, and max_price computed over the trailing 180 days — useful for establishing a price baseline before bidding.
Item Detail and Seller Profile
get_listing_detail takes a single item_id (e.g., m1233190744) and returns the current price in Yen, bid_count, title, and a seller_id you can pass directly to get_seller_profile. That profile endpoint returns the seller's display_name, integer rating_score (total feedback count), and good_ratio — a float between 0.0 and 1.0 representing the positive feedback share. If a listing has expired or the seller does not exist, the API returns an input_not_found error rather than an empty response.
Underpriced Item Detection
compare_market_price is a compound endpoint: supply a query string and it fetches 180-day market data from completed listings, then pulls active listings sorted by price ascending, filters for any item priced below 80% of market_avg_price, and returns the filtered set as underpriced_items alongside the market_avg_price itself. Each item in the array carries the same fields as a standard active listing (title, id, url, price, image_url) plus the market_avg_price for inline comparison. If upstream data is unavailable the endpoint surfaces an upstream_err flag rather than silently returning an empty array.
The Yahoo API is a managed, monitored endpoint for auctions.yahoo.co.jp — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when auctions.yahoo.co.jp 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 auctions.yahoo.co.jp 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 180-day price trends for specific collectibles or electronics before placing a bid
- Identify arbitrage opportunities by surfacing active Yahoo Auctions Japan listings below 80% of market average
- Vet sellers before purchasing by checking
good_ratioandrating_scorefromget_seller_profile - Build a price alert system using
search_completed_listingsstats to set notification thresholds - Aggregate category-level market data by iterating
search_completed_listingsacross multiplequeryterms - Monitor bid counts on specific items via
get_listing_detailto gauge auction competition in real time - Filter active listings by
max_priceandconditionto automate deal discovery within a budget
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Yahoo Auctions Japan have an official developer API?+
What does `compare_market_price` actually return, and how is 'underpriced' defined?+
market_avg_price (the 180-day average sold price in Yen derived from completed listings) and underpriced_items — an array of active listings whose current price is less than 80% of that average. Each item includes title, id, url, price, image_url, and market_avg_price for direct comparison.Are bid history or individual bidder details available?+
bid_count on a listing and seller-level feedback via get_seller_profile, but per-bid history and individual bidder identities are not covered. You can fork the API on Parse and revise it to add an endpoint targeting individual bid records.How does pagination work across search endpoints?+
search_listings and search_completed_listings both use an offset parameter that starts at 1. To get the next page, increment offset by the limit value you used (maximum 50). The total field in the response tells you the full result count so you can calculate how many pages exist.Can I retrieve listings for a specific seller — all active auctions by a given seller ID?+
get_seller_profile returns profile metadata (display name, rating, feedback ratio) for a known seller_id, but there is no endpoint to list all active or past auctions belonging to that seller. You can fork the API on Parse and revise it to add a seller-listings endpoint.