Hpoi APIhpoi.net ↗
Access the Hpoi anime figure database via API. Search items, retrieve specs, manufacturer details, gallery images, and user comments for collectible figures.
What is the Hpoi API?
The Hpoi API exposes 6 endpoints for querying the Hpoi collectible anime figure database, covering item search, detailed product attributes, gallery images, user comments, and manufacturer profiles. The get_item_detail endpoint returns fields like scale, material, character, series, release date, and a fav_counts object tracking want, owned, pre-order, and following counts — giving developers structured access to one of the largest anime figure catalogs online.
curl -X GET 'https://api.parse.bot/scraper/4f2b435c-3a22-4499-85bc-34799427b3fe/search_items?r18=-1&page=1&order=add&keyword=%E5%88%9D%E9%9F%B3&category=10000' \ -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 hpoi-net-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: Hpoi collectibles SDK — search figures, explore details, browse manufacturers."""
from parse_apis.hpoi_net_collectibles_api import Hpoi, Category, Sort, R18Filter, NotFound
client = Hpoi()
# Search for popular anime figures in the Figures category, sorted by popularity.
for item in client.items.search(keyword="初音", category=Category.FIGURES, order=Sort.HOT, limit=5):
print(item.name, item.manufacturer, item.thumbnail)
# Drill into one item's full detail — score, attributes, collection counts.
detail = client.itemdetails.get(id="120284")
print(detail.name, detail.score, detail.node_id)
print(detail.fav_counts.want, detail.fav_counts.owned)
# Browse comments on the item via its sub-resource.
for comment in detail.comments.list(limit=3):
print(comment.author, comment.text, comment.time)
# Gallery images for the same item.
for img in detail.gallery.list(limit=3):
print(img.url)
# List top manufacturers and get the first one's details.
mfg = client.manufacturers.list(limit=1).first()
if mfg:
full = client.manufacturerdetails.get(id=mfg.id)
print(full.name, full.info[:80])
for product in full.items[:3]:
print(product.name, product.thumbnail)
# Typed error handling: catch NotFound for a missing item.
try:
client.itemdetails.get(id="9999999")
except NotFound as exc:
print(f"Item not found: {exc}")
print("exercised: items.search / itemdetails.get / comments.list / gallery.list / manufacturers.list / manufacturerdetails.get")
Search for collectible items in the Hpoi database with filters. Returns paginated results sorted by the specified order. Each page returns up to 30 items. Results include basic metadata; use get_item_detail for full attributes.
| Param | Type | Description |
|---|---|---|
| r18 | integer | R18 content filter |
| page | integer | Page number starting from 1 |
| order | string | Sort order for results |
| keyword | string | Search keyword to filter items by name |
| category | integer | Category ID filter |
{
"type": "object",
"fields": {
"page": "integer current page number",
"items": "array of item objects with id, name, thumbnail URL, manufacturer, release_date, and added_date"
},
"sample": {
"data": {
"page": 1,
"items": [
{
"id": "126343",
"name": "piapro 梅雨ver. 徽章",
"thumbnail": "https://rfx.hpoi.net/gk/cover/s/2026/06/5eb795ddcb2449559f193f98b310218b.jpg?date=1780737959000",
"added_date": "6月6日",
"manufacturer": "A3",
"release_date": null
}
]
},
"status": "success"
}
}About the Hpoi API
Item Search and Detail
The search_items endpoint accepts a keyword string, category integer, order string, page number, and an optional r18 filter flag. Each page returns up to 30 items with id, name, thumbnail URL, manufacturer, release_date, and added_date. To go deeper on any result, pass its id to get_item_detail, which returns the full attributes object (name, series, character, material, scale, and more), a score rating, cover images array, and the node_id required for comments and gallery lookups.
Comments and Gallery
The get_item_comments endpoint takes the node_id from get_item_detail and an optional page parameter, returning paginated, deduplicated comment objects each with author, text, and time. The get_item_gallery endpoint requires both item_id and node_id together — they must correspond to the same item — and uses an offset integer as an absolute image index rather than a page number. Requesting an offset beyond available images returns an empty array.
Manufacturer Data
get_manufacturer_list returns all featured manufacturers in a single response, each with id, name, count (number of items), and score. Passing any manufacturer's id to get_manufacturer_detail fetches a description, name, and a items array of that manufacturer's highlighted products with thumbnail URLs. Note this is a curated featured list, not a full paginated item catalog for the manufacturer.
The Hpoi API is a managed, monitored endpoint for hpoi.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hpoi.net 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 hpoi.net 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?+
- Build a figure price-tracking app by periodically querying
search_itemswith category and keyword filters and storingrelease_dateand manufacturer fields. - Populate a collection management tool using
fav_counts(want, owned, pre-order) fromget_item_detailto display community ownership statistics. - Aggregate community sentiment by pulling user comments via
get_item_commentsand running sentiment analysis on thetextfield. - Create a manufacturer profile page using
get_manufacturer_detailto display description, score, and featured product thumbnails. - Build an image gallery viewer for a specific figure by paginating through
get_item_galleryusing theoffsetparameter. - Index anime figure metadata (scale, material, character, series) from
attributesinget_item_detailfor a searchable collector database. - Compare manufacturer quality by joining
scoreandcountfromget_manufacturer_listacross all featured makers.
| 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 Hpoi have an official developer API?+
What does `get_item_detail` return beyond what `search_items` shows?+
search_items returns basic metadata: id, name, thumbnail, manufacturer, release_date, and added_date. get_item_detail adds the full attributes object (series, character, scale, material, and more), a score rating, an images array, fav_counts (want, owned, preorder, following), and the node_id required by the comments and gallery endpoints.Can I retrieve all items for a specific manufacturer?+
get_manufacturer_detail returns a curated list of highlighted items for the manufacturer, not the full catalog. The items array reflects featured products only. You can fork this API on Parse and revise it to add an endpoint that pages through a manufacturer's complete item listing.Is there an endpoint for user wishlists, personal collections, or login-gated profile data?+
How does pagination work differently between `search_items` and `get_item_gallery`?+
search_items and get_item_comments use a standard page integer starting from 1. get_item_gallery uses an offset parameter that is an absolute image index — not a page number. Passing an offset beyond the total image count returns an empty images array, which signals the end of available gallery content.