DLsite APIdlsite.com ↗
Access DLsite's digital content catalog via API. Fetch product details, search by keyword, get new releases, and retrieve ranked lists with pricing and ratings.
What is the DLsite API?
The DLsite API provides 4 endpoints covering product details, keyword search, new releases, and ranked lists from DLsite's Japanese digital content marketplace. The get_product_details endpoint returns 10 fields per product including JPY and USD pricing, average rating, discount rate, and circle/maker identity — all by a single product ID like RJ01551365 or VJ01005806.
curl -X GET 'https://api.parse.bot/scraper/f47df3c1-0388-498d-b2c0-34f45c5478a3/get_product_details?product_id=RJ01678178' \ -H 'X-API-Key: $PARSE_API_KEY'
Fetch full product details for a single DLsite product by its ID. Searches across all site sections to locate the product (one page request per section tried, plus two metadata requests: one in Japanese and one in the English locale). Returns title (original, as listed on the Japanese site), title_en (the title DLsite displays on its English-language site; when the product has no English title DLsite shows the original title there, so title_en then equals title), circle/maker info, pricing in JPY and USD, ratings, sale status, the product's outline metadata as returned by DLsite (Japanese-labelled keys such as release date, voice actor, genre), and image URLs: main_image_url, thumbnail_image_url and mini_image_url are derived from the product's main image path, and sample_image_urls lists the full-size sample/preview images from the product gallery (null when the product publishes no samples). An unknown product ID yields a stale_input (input_not_found) error.
| Param | Type | Description |
|---|---|---|
| product_idrequired | string | DLsite product ID in the format RJ/VJ/BJ followed by digits (e.g. RJ01551365, VJ01005806). |
{
"type": "object",
"fields": {
"title": "string, product title as listed on the Japanese site",
"on_sale": "integer, 1 if on sale, 0 otherwise",
"title_en": "string, title shown on DLsite's English-language site; equals title when the product has no English title (null only if DLsite returned no metadata for the product)",
"circle_id": "string, circle/maker ID",
"price_jpy": "integer, price in JPY",
"price_usd": "number, price in USD",
"product_id": "string, the product ID",
"circle_name": "string, name of the creator circle",
"rating_count": "integer or null, number of ratings",
"discount_rate": "integer or null, discount percentage",
"main_image_url": "string, full-size main product image URL",
"mini_image_url": "string, mini thumbnail (_img_sam_mini) image URL derived from the main image path",
"rating_average": "number or null, average rating out of 5",
"sample_image_urls": "array of strings or null, full-size sample/preview image URLs from the product gallery",
"thumbnail_image_url": "string, thumbnail (_img_sam) image URL derived from the main image path"
},
"sample": {
"data": {
"title": "ライフガードホリック",
"作者": "Big S Studio",
"on_sale": 1,
"title_en": "Lifeguard Holic",
"circle_id": "RG58616",
"price_jpy": 2970,
"price_usd": 19.24,
"販売日": "2026年08月18日",
"product_id": "RJ01386956",
"circle_name": "Big S Studio",
"rating_count": 1103,
"ジャンル": "男主人公",
"作品形式": "シミュレーション 音声あり 音楽あり 動画あり",
"対応言語": "中国語(簡体字) 韓国語 日本語 英語 スペイン語 ロシア語",
"年齢指定": "R18",
"discount_rate": null,
"main_image_url": "https://img.dlsite.jp/modpub/images2/work/doujin/RJ01387000/RJ01386956_img_main.jpg",
"mini_image_url": "https://img.dlsite.jp/modpub/images2/work/doujin/RJ01387000/RJ01386956_img_sam_mini.jpg",
"rating_average": 4.57,
"sample_image_urls": [
"https://img.dlsite.jp/modpub/images2/work/doujin/RJ01387000/RJ01386956_img_smp1.jpg",
"https://img.dlsite.jp/modpub/images2/work/doujin/RJ01387000/RJ01386956_img_smp2.jpg"
],
"ファイル容量": "1.57GB",
"ファイル形式": "アプリケーション",
"thumbnail_image_url": "https://img.dlsite.jp/modpub/images2/work/doujin/RJ01387000/RJ01386956_img_sam.jpg"
},
"status": "success"
}
}About the DLsite API
Product Lookup and Search
The get_product_details endpoint accepts a single product_id in formats like RJ, VJ, or BJ followed by digits, and returns fields including title, circle_name, circle_id, price_jpy, price_usd, rating_average, rating_count, discount_rate, and on_sale status. This covers products across all DLsite site sections without requiring you to specify which section the product belongs to.
The search_products endpoint accepts a keyword string (e.g. "ASMR", "visual novel", "RPG") and an optional site_section parameter — one of home, maniax, soft, pro, or girls — to scope results. Responses are paginated at up to 30 items per page, controlled by the page parameter. Each item in the items array includes product_id, title, price, rating, and circle_id.
New Releases and Rankings
The get_new_releases endpoint returns recently published products enriched with tags, maker info, and sample images. The locale parameter (e.g. en-us, ja-jp) controls localization of the returned data, and a period parameter in days lets you narrow the date range. The response wraps results in a data object containing a products array and an information object that includes the date range the results cover.
The get_ranking endpoint returns ranked product lists filterable by term (day, week, month, total) and site_section. Each entry in the items array includes product_id, title, price, and rating, giving a ranked snapshot of what is selling or trending within any given section of the catalog.
The DLsite API is a managed, monitored endpoint for dlsite.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dlsite.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 dlsite.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 price drops and sale status on DLsite products using the
on_saleanddiscount_ratefields fromget_product_details. - Build a doujin game discovery feed by polling
get_new_releasesdaily with a shortperiodvalue. - Surface trending ASMR or RPG titles by querying
get_rankingwithterm=weekand the relevantsite_section. - Aggregate circle/maker catalogs by extracting
circle_idandcircle_namefrom search results and product lookups. - Monitor rating momentum by comparing
rating_averageandrating_countacross periodic snapshots of a product. - Localize a DLsite content directory by using the
localeparameter inget_new_releasesto retrieve Japanese or English metadata. - Power a recommendation engine by querying
search_productswith genre keywords and ranking returned items byratingfield.
| 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 DLsite have an official developer API?+
What does `get_product_details` return, and how do I identify the right product ID format?+
How does pagination work in `search_products`, and what is the maximum items per page?+
page parameter controls which page of results is returned. Each page returns up to 30 items. If a search produces more than 30 matches, increment page to retrieve subsequent pages. The response includes a count field indicating how many items are on the current page.Does the API expose user review text or individual review comments?+
rating_average and rating_count — but not individual review bodies or user-written comments. You can fork this API on Parse and revise it to add an endpoint that retrieves per-review text for a given product.Are there any data gaps for certain site sections or product types?+
site_section parameter across search_products, get_new_releases, and get_ranking covers home, maniax, soft, pro, and girls sections. Creator profile pages, bundle deals, and user wishlist or library data are not exposed by the current endpoints. You can fork this API on Parse and revise it to add endpoints targeting those data areas.