Discover/DLsite API
live

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.

Endpoint health
verified 3h ago
get_product_details
search_products
get_new_releases
get_ranking
4/4 passing latest checkself-healing
Endpoints
4
Updated
26d ago

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.

Try it
DLsite product ID in the format RJ/VJ/BJ followed by digits (e.g. RJ01551365, VJ01005806).
api.parse.bot/scraper/f47df3c1-0388-498d-b2c0-34f45c5478a3/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/f47df3c1-0388-498d-b2c0-34f45c5478a3/get_product_details?product_id=RJ01644019' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 dlsite-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: DLsite SDK — search, rank, drill into details."""
from parse_apis.dlsite_api import DLsite, SiteSection, RankingTerm, Locale, ProductNotFound

dlsite = DLsite()

# Search for ASMR products in the home section
for product in dlsite.products.search(keyword="ASMR", site_section=SiteSection.HOME, limit=5):
    print(product.product_id, product.title, product.price, product.rating)

# Get weekly rankings
for ranked in dlsite.products.ranking(term=RankingTerm.WEEK, site_section=SiteSection.HOME, limit=5):
    print(ranked.product_id, ranked.title, ranked.price)

# Drill into details from a search result
item = dlsite.products.search(keyword="RPG", limit=1).first()
if item:
    detail = item.details()
    print(detail.title, detail.price_jpy, detail.rating_average, detail.circle_name)

# Browse new releases with Japanese locale
for release in dlsite.products.new_releases(locale=Locale.JA_JP, period=3, limit=3):
    print(release.product_id, release.title, release.circle_id)

# Typed error handling for a missing product
try:
    missing = dlsite.products.get(product_id="RJ99999999")
    print(missing.title)
except ProductNotFound as exc:
    print(f"Product not found: {exc.product_id}")

print("exercised: products.search / products.ranking / ProductSummary.details / products.new_releases / products.get")
All endpoints · 4 totalmissing one? ·

Fetch full product details for a single DLsite product by its ID. Searches across all site sections to locate the product. Returns title, circle/maker info, pricing in JPY and USD, ratings, sale status, and metadata.

Input
ParamTypeDescription
product_idrequiredstringDLsite product ID in the format RJ/VJ/BJ followed by digits (e.g. RJ01551365, VJ01005806).
Response
{
  "type": "object",
  "fields": {
    "title": "string, product title",
    "on_sale": "integer, 1 if on sale, 0 otherwise",
    "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, number of ratings",
    "discount_rate": "integer or null, discount percentage",
    "rating_average": "number, average rating out of 5"
  },
  "sample": {
    "data": {
      "title": "Sample ASMR Product",
      "on_sale": 1,
      "circle_id": "RG01028745",
      "price_jpy": 1650,
      "price_usd": 10.29,
      "product_id": "RJ01551365",
      "circle_name": "BrownDust2",
      "rating_count": 154,
      "discount_rate": null,
      "rating_average": 4.92
    },
    "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.

Reliability & maintenanceVerified

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.

Last verified
3h ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track price drops and sale status on DLsite products using the on_sale and discount_rate fields from get_product_details.
  • Build a doujin game discovery feed by polling get_new_releases daily with a short period value.
  • Surface trending ASMR or RPG titles by querying get_ranking with term=week and the relevant site_section.
  • Aggregate circle/maker catalogs by extracting circle_id and circle_name from search results and product lookups.
  • Monitor rating momentum by comparing rating_average and rating_count across periodic snapshots of a product.
  • Localize a DLsite content directory by using the locale parameter in get_new_releases to retrieve Japanese or English metadata.
  • Power a recommendation engine by querying search_products with genre keywords and ranking returned items by rating field.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does DLsite have an official developer API?+
DLsite does not publish a general-purpose public developer API for third-party use. There is no documented REST or GraphQL API available at a developer portal.
What does `get_product_details` return, and how do I identify the right product ID format?+
The endpoint returns title, circle name and ID, JPY and USD prices, average rating out of 5, rating count, discount percentage (or null), and an on_sale flag. Product IDs follow the pattern RJ, VJ, or BJ prefixed to a string of digits — for example, RJ01551365. If you pass an ID from the wrong section, the endpoint searches across sections automatically.
How does pagination work in `search_products`, and what is the maximum items per page?+
The 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?+
Not currently. The API returns aggregate rating data — 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?+
The 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.
Page content last updated . Spec covers 4 endpoints from dlsite.com.
Related APIs in MarketplaceSee all →
loft.co.jp API
Browse and search Loft's product catalog, view detailed product information, explore categories and rankings, and discover store locations. Find exactly what you're looking for with powerful search and filtering across their entire online inventory.
gamestop.com API
Search GameStop's catalog for games and merchandise, browse products by category, view detailed product information including reviews, and discover what's available—all with seamless access that handles Cloudflare protection automatically.
shop.sanrio.co.jp API
Search and browse Sanrio products by category, character, and keyword, while viewing detailed product information including pricing and availability from the official Sanrio Online Shop. Get autocomplete suggestions and discover new product releases to find the perfect Sanrio merchandise.
g2a.com API
Search for game keys and get real-time pricing, seller ratings, and detailed product information from G2A's marketplace. Browse available categories and find the best deals on digital game licenses from verified sellers.
search.rakuten.co.jp API
Search for products on Rakuten's Japanese marketplace and retrieve detailed information including product names, URLs, prices, and shop IDs. Access real-time product listings across Rakuten's catalog, with support for paginated results and automatic detection of Furusato Nozei (Hometown Tax) eligible items.
dsw.com API
Search and browse DSW shoe products by category, view detailed product information, and read customer reviews to find the perfect pair. Access live product listings and comprehensive feedback to make informed shopping decisions.
bookwalker.jp API
Search and browse Japanese ebooks including manga and light novels on BookWalker Japan, with access to book details, rankings, category listings, and autocomplete suggestions. Discover new titles through curated rankings and explore the full catalog by category.
p-bandai.jp API
Search and browse Premium Bandai's exclusive product catalog by character, genre, and availability status to find the latest collectibles and merchandise. Get detailed product information and discover new or upcoming releases to stay updated on the newest Bandai items.