📊 dojinDB Extension API

Backend API for the dojinDB browser extension. Provides CORS-enabled access to dojindb.net data.

Endpoints

GET /resolve

Resolve DLSite/Fanza product URL to dojinDB work ID

Params: url (required) - Product page URL

{"workId": "12345"} // or {"workId": null}
GET /work

Get work page data (prices, cross-platform links, graph keys)

Params: workId (required)

{
  "prices": {
    "dlsite": {"price": "990円", "sales": 46, "date": "2012年05月19日", "url": "..."},
    "fanza": {"price": "440円", "sales": 14, "date": "2016年06月05日", "url": "..."}
  },
  "crossLinks": {"dlsite": "...", "fanza": "..."},
  "graphKeys": {"過去30日": "30days_abc", "今月": "thismonth_abc", ...},
  "workId": "12345",
  "title": "Work Title"
}
GET /graph

Get graph data for a specific period

Params: workId, graphKey (required)

[
  {"site": "2", "code": "RJ095906", "price": 990, "amount": 5, "date": "2026-06-25", "campaign": ""},
  ...
]
GET/POST /all-periods

Get all periods data in one request (batch)

Params: workId, graphKeys (JSON object)

{
  "30days": {"sales": 100, "revenue": 50000, "dataPoints": [...], "lowestPrice": {...}, "period": "Last 30 Days"},
  "thismonth": {...},
  "lastmonth": {...},
  "year2025": {...},
  ...
}
POST /observe

Verify a browser-observed price against the official platform source and refresh local history when needed.

{"platform":"dlsite","code":"RJ01136538","price":1485,"pageUrl":"https://www.dlsite.com/..."}
GET /health

Health check

{"status": "ok", "timestamp": "2026-06-29T...", "version": "1.0.0"}

CORS

All endpoints include Access-Control-Allow-Origin: * header. Configure $allowedOrigins in config.php to restrict to your extension ID.

Rate Limiting

Default: 60 requests/minute per IP. Configure in config.php.