animedex.api.shikimori

animedex api shikimori raw passthrough.

Backend: Shikimori (shikimori.io; shikimori.one accepted fallback).

Rate limit: 5 RPS / 90 RPM.

— LLM Agent Guidance — Both REST (/api/animes/{id}, /api/mangas/{id}, /api/ranobe/{id}, /api/clubs/{id}, /api/publishers, /api/people/{id}, /api/calendar) and GraphQL (POST /api/graphql) are exposed. Prefer the high-level commands for lifted REST entity surfaces and use this raw passthrough for GraphQL or one-off documented reads. Rate limit applies to all forms.

Although the docs threaten an IP ban for missing UA, the upstream returns data even with empty UA today; the project ships animedex/<version> as a default and lets caller-supplied overrides win. — End —

call

animedex.api.shikimori.call(path: str, *, method: str = 'GET', headers: Dict[str, str] | None = None, params: dict | None = None, json_body: Dict[str, Any] | None = None, no_cache: bool = False, cache_ttl: int | None = None, rate: str = 'normal', follow_redirects: bool = True, user_agent: str | None = None, timeout_seconds: float | None = None, base_url: str | None = None, cache=None, session=None, rate_limit_registry=None, config=None) RawResponse[source]

Issue a Shikimori request and return its envelope.

selftest

animedex.api.shikimori.selftest() bool[source]

Smoke-test the Shikimori passthrough.