diff --git a/AGENTS.md b/AGENTS.md index 5105af1..c103272 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -26,6 +26,8 @@ This repository is **English-only**. All tracked content must be written in Engl This rule also applies when using Codex, Claude Code, or any other agent. The conversation language with the user may be anything, but every repository-facing action must remain in English. That includes file edits, code comments, log messages, generated README content, commit messages, and any other text written into the repository or its git history. +The English-only rule governs contributor-authored prose and interface text, not factual data. Fixture payloads, captured upstream response values, entity titles, names, slugs, user queries, JSON literals, and test strings that represent real upstream/user data may contain their original language and non-ASCII characters when that is the correct data. Do not translate, romanize, censor, or replace data values solely to satisfy the English-only rule; only translate contributor-authored explanations, comments, docs, and UI/help text. + ### Markdown formatting (no hard wrapping in prose) In Markdown files (`*.md`) and in any GitHub-rendered content (issue and pull-request bodies, comments, release notes, discussion posts), do **not** hard-wrap natural paragraphs to a fixed column width. The renderers used in those contexts have no fixed max-width, so column-wrapping the source serves no purpose and only makes diffs noisier. diff --git a/animedex/agg/__init__.py b/animedex/agg/__init__.py index 6e6e578..8ef6d87 100644 --- a/animedex/agg/__init__.py +++ b/animedex/agg/__init__.py @@ -8,8 +8,10 @@ from animedex.agg.calendar import schedule, season from animedex.agg._fanout import FanoutSource, run_fanout +from animedex.agg.search import search +from animedex.agg.show import show -__all__ = ["FanoutSource", "run_fanout", "schedule", "season"] +__all__ = ["FanoutSource", "run_fanout", "schedule", "search", "season", "show"] def selftest() -> bool: @@ -20,5 +22,7 @@ def selftest() -> bool: """ assert callable(season) assert callable(schedule) + assert callable(search) + assert callable(show) assert callable(run_fanout) return True diff --git a/animedex/agg/_prefix_id.py b/animedex/agg/_prefix_id.py new file mode 100644 index 0000000..fa1f729 --- /dev/null +++ b/animedex/agg/_prefix_id.py @@ -0,0 +1,149 @@ +"""Prefix-encoded entity references for aggregate commands.""" + +from __future__ import annotations + +import re +from dataclasses import dataclass +from typing import Dict, Iterable, Optional, Set + +from animedex.models.common import ApiError + + +_PREFIX_TO_BACKEND: Dict[str, str] = { + "anilist": "anilist", + "mal": "jikan", + "myanimelist": "jikan", + "jikan": "jikan", + "kitsu": "kitsu", + "shikimori": "shikimori", + "mangadex": "mangadex", + "ann": "ann", + "animenewsnetwork": "ann", +} +_DEFERRED_PREFIXES: Set[str] = {"anidb"} +_NUMERIC_BACKENDS = {"anilist", "jikan", "kitsu", "shikimori", "ann"} +_UUID_RE = re.compile(r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$") + + +@dataclass(frozen=True) +class ParsedPrefixId: + """Parsed ``prefix:id`` reference. + + :ivar prefix: User-supplied prefix, normalised to lower-case. + :vartype prefix: str + :ivar backend: Backend module name selected by the prefix. + :vartype backend: str + :ivar id: Backend-native ID string. + :vartype id: str + """ + + prefix: str + backend: str + id: str + + +def known_prefixes() -> Iterable[str]: + """Return the supported non-deferred prefixes. + + :return: Prefix names sorted for display. + :rtype: iterable[str] + """ + return tuple(sorted(_PREFIX_TO_BACKEND)) + + +def parse(prefix_id: str) -> ParsedPrefixId: + """Parse and validate a ``prefix:id`` reference. + + :param prefix_id: Reference such as ``"anilist:154587"``. + :type prefix_id: str + :return: Parsed reference. + :rtype: ParsedPrefixId + :raises ApiError: When the prefix or ID format is invalid. + """ + if ":" not in prefix_id: + raise ApiError( + f"entity reference must be prefix:id, got {prefix_id!r}", + backend="aggregate", + reason="bad-args", + ) + prefix, raw_id = prefix_id.split(":", 1) + prefix = prefix.strip().lower() + raw_id = raw_id.strip() + if not prefix or not raw_id: + raise ApiError("entity reference must include both prefix and id", backend="aggregate", reason="bad-args") + if prefix in _DEFERRED_PREFIXES: + raise ApiError( + "anidb references are recognised but the AniDB high-level helpers are not shipped yet", + backend="anidb", + reason="auth-required", + ) + backend = _PREFIX_TO_BACKEND.get(prefix) + if backend is None: + expected = ", ".join(sorted([*_PREFIX_TO_BACKEND, *_DEFERRED_PREFIXES])) + raise ApiError( + f"unknown prefix {prefix!r}; expected one of: {expected}", backend="aggregate", reason="bad-args" + ) + validate_id(backend, raw_id) + return ParsedPrefixId(prefix=prefix, backend=backend, id=raw_id) + + +def validate_id(backend: str, raw_id: str) -> None: + """Validate backend-native ID format. + + :param backend: Backend module name. + :type backend: str + :param raw_id: Backend-native ID string. + :type raw_id: str + :raises ApiError: When ``raw_id`` is invalid for ``backend``. + """ + if backend in _NUMERIC_BACKENDS: + if not raw_id.isdigit(): + raise ApiError( + f"ID is not numeric for backend {backend!r}: {raw_id!r}", + backend=backend, + reason="bad-args", + ) + elif backend == "mangadex" and _UUID_RE.match(raw_id) is None: + raise ApiError( + f"ID is not a MangaDex UUID: {raw_id!r}", + backend="mangadex", + reason="bad-args", + ) + + +def prefix_for_backend(backend: str, native_id: object) -> Optional[str]: + """Compose the canonical prefix ID for a backend-native ID. + + :param backend: Backend name. + :type backend: str + :param native_id: Backend-native ID value. + :type native_id: object + :return: ``prefix:id`` or ``None`` when no public prefix exists. + :rtype: str or None + """ + if native_id is None: + return None + if backend == "jikan": + return f"mal:{native_id}" + if backend in {"anilist", "kitsu", "shikimori", "mangadex", "ann"}: + return f"{backend}:{native_id}" + return None + + +def selftest() -> bool: + """Smoke-test prefix parsing and validation. + + :return: ``True`` on success. + :rtype: bool + """ + assert parse("mal:52991").backend == "jikan" + assert parse("myanimelist:52991").backend == "jikan" + assert parse("mangadex:dc8bbc4c-eb7a-4d27-b96a-9aa8c8db4adb").backend == "mangadex" + assert prefix_for_backend("jikan", 52991) == "mal:52991" + try: + parse("anilist:abc") + except ApiError as exc: + assert exc.reason == "bad-args" + else: # pragma: no cover + raise AssertionError("invalid numeric id accepted") + return True diff --git a/animedex/agg/_type_routes.py b/animedex/agg/_type_routes.py new file mode 100644 index 0000000..20dcd68 --- /dev/null +++ b/animedex/agg/_type_routes.py @@ -0,0 +1,274 @@ +"""Entity type routing for aggregate search/show.""" + +from __future__ import annotations + +from dataclasses import dataclass +from typing import Callable, Dict, Iterable, Optional + +from animedex.config import Config +from animedex.models.common import ApiError + + +ENTITY_TYPES = ("anime", "manga", "character", "person", "studio", "publisher") + + +@dataclass(frozen=True) +class SearchRoute: + """One backend search route for an entity type.""" + + backend: str + function_name: str + query_arg: str = "q" + limit_arg: Optional[str] = None + all_items: bool = False + + +@dataclass(frozen=True) +class ShowRoute: + """One backend show route for an entity type.""" + + backend: str + function_name: str + id_arg: str + + +_SEARCH_ROUTES: Dict[str, tuple[SearchRoute, ...]] = { + "anime": ( + SearchRoute("anilist", "search", limit_arg="per_page"), + SearchRoute("ann", "search"), + SearchRoute("jikan", "search", limit_arg="limit"), + SearchRoute("kitsu", "search", limit_arg="limit"), + SearchRoute("shikimori", "search", limit_arg="limit"), + ), + "manga": ( + SearchRoute("anilist", "manga_search", limit_arg="per_page"), + SearchRoute("jikan", "manga_search", limit_arg="limit"), + SearchRoute("kitsu", "manga_search", limit_arg="limit"), + SearchRoute("mangadex", "search", query_arg="title", limit_arg="limit"), + SearchRoute("shikimori", "manga_search", limit_arg="limit"), + ), + "character": ( + SearchRoute("anilist", "character_search", limit_arg="per_page"), + SearchRoute("jikan", "character_search", limit_arg="limit"), + SearchRoute("kitsu", "character_search", limit_arg="limit"), + SearchRoute("shikimori", "character_search", limit_arg="limit"), + ), + "person": ( + SearchRoute("anilist", "staff_search", limit_arg="per_page"), + SearchRoute("jikan", "person_search", limit_arg="limit"), + SearchRoute("kitsu", "person_search", limit_arg="limit"), + SearchRoute("shikimori", "people_search", limit_arg="limit"), + ), + "studio": ( + SearchRoute("anilist", "studio_search", limit_arg="per_page"), + SearchRoute("jikan", "producer_search", limit_arg="limit"), + SearchRoute("kitsu", "producers", limit_arg="limit", all_items=True), + SearchRoute("shikimori", "studios", all_items=True), + ), + "publisher": (SearchRoute("shikimori", "publishers", all_items=True),), +} + + +_SHOW_ROUTES: Dict[str, Dict[str, ShowRoute]] = { + "anime": { + "anilist": ShowRoute("anilist", "show", "id"), + "ann": ShowRoute("ann", "show", "anime_id"), + "jikan": ShowRoute("jikan", "show", "mal_id"), + "kitsu": ShowRoute("kitsu", "show", "id"), + "shikimori": ShowRoute("shikimori", "show", "anime_id"), + }, + "manga": { + "anilist": ShowRoute("anilist", "show", "id"), + "jikan": ShowRoute("jikan", "manga_show", "mal_id"), + "kitsu": ShowRoute("kitsu", "manga_show", "id"), + "mangadex": ShowRoute("mangadex", "show", "id"), + "shikimori": ShowRoute("shikimori", "manga_show", "manga_id"), + }, + "character": { + "anilist": ShowRoute("anilist", "character", "id"), + "jikan": ShowRoute("jikan", "character_show", "mal_id"), + "kitsu": ShowRoute("kitsu", "character", "id"), + "shikimori": ShowRoute("shikimori", "character", "character_id"), + }, + "person": { + "anilist": ShowRoute("anilist", "staff", "id"), + "jikan": ShowRoute("jikan", "person_show", "mal_id"), + "kitsu": ShowRoute("kitsu", "person", "id"), + "shikimori": ShowRoute("shikimori", "person", "person_id"), + }, + "studio": { + "anilist": ShowRoute("anilist", "studio", "id"), + "jikan": ShowRoute("jikan", "producer_show", "mal_id"), + "kitsu": ShowRoute("kitsu", "producer", "id"), + "shikimori": ShowRoute("shikimori", "studio", "studio_id"), + }, + "publisher": {"shikimori": ShowRoute("shikimori", "publisher", "publisher_id")}, +} + + +def validate_entity_type(entity_type: str) -> str: + """Validate and normalise an entity type. + + :param entity_type: User-supplied entity type. + :type entity_type: str + :return: Normalised type. + :rtype: str + :raises ApiError: When the type is unknown. + """ + value = entity_type.lower() + if value not in ENTITY_TYPES: + raise ApiError( + f"unknown type {entity_type!r}; supported types: {', '.join(ENTITY_TYPES)}", + backend="aggregate", + reason="bad-args", + ) + return value + + +def search_routes_for(entity_type: str) -> tuple[SearchRoute, ...]: + """Return search routes for ``entity_type``. + + :param entity_type: Normalised entity type. + :type entity_type: str + :return: Search routes. + :rtype: tuple[SearchRoute, ...] + """ + return _SEARCH_ROUTES[validate_entity_type(entity_type)] + + +def show_route_for(entity_type: str, backend: str) -> ShowRoute: + """Return show route for an entity type/backend pair. + + :param entity_type: Entity type. + :type entity_type: str + :param backend: Backend name. + :type backend: str + :return: Show route. + :rtype: ShowRoute + :raises ApiError: When the pair is unsupported. + """ + entity_type = validate_entity_type(entity_type) + routes = _SHOW_ROUTES[entity_type] + route = routes.get(backend) + if route is None: + supported = ", ".join(sorted(routes)) or "none" + raise ApiError( + f"type {entity_type!r} is not supported by backend {backend!r}; supported backends: {supported}", + backend=backend, + reason="bad-args", + ) + return route + + +def backends_for_type(entity_type: str) -> Iterable[str]: + """Return default fan-out backends for ``entity_type``. + + :param entity_type: Entity type. + :type entity_type: str + :return: Backend names in fan-out order. + :rtype: iterable[str] + """ + return tuple(route.backend for route in search_routes_for(entity_type)) + + +def import_backend(backend: str): + """Import a backend module by short name. + + :param backend: Backend name. + :type backend: str + :return: Imported module. + :rtype: module + """ + import importlib + + return importlib.import_module(f"animedex.backends.{backend}") + + +def call_search_route(route: SearchRoute, query: str, limit: int, *, config: Optional[Config] = None, **kw): + """Call a search route. + + :param route: Search route. + :type route: SearchRoute + :param query: Search query. + :type query: str + :param limit: Per-source limit. + :type limit: int + :param config: Optional config. + :type config: Config or None + :return: Backend result list. + :rtype: list + """ + fn: Callable = getattr(import_backend(route.backend), route.function_name) + kwargs = dict(kw) + if route.all_items: + rows = fn(config=config, **kwargs) + else: + kwargs[route.query_arg] = query + if route.limit_arg: + kwargs[route.limit_arg] = limit + rows = fn(config=config, **kwargs) + if route.backend == "ann" and hasattr(rows, "anime"): + rows = rows.anime + rows = list(rows) + if route.all_items: + rows = _filter_rows(rows, query) + rows = rows[:limit] + return rows + + +def call_show_route(route: ShowRoute, raw_id: str, *, config: Optional[Config] = None, **kw): + """Call a show route. + + :param route: Show route. + :type route: ShowRoute + :param raw_id: Backend-native ID string. + :type raw_id: str + :param config: Optional config. + :type config: Config or None + :return: Backend result. + :rtype: object + """ + fn: Callable = getattr(import_backend(route.backend), route.function_name) + value = raw_id if route.backend == "mangadex" else int(raw_id) + return fn(config=config, **{route.id_arg: value}, **kw) + + +def _filter_rows(rows: list, query: str) -> list: + needle = query.casefold() + if not needle: + return rows + out = [] + for row in rows: + dumped = row.model_dump(mode="json", by_alias=True) if hasattr(row, "model_dump") else row + text = " ".join(str(value) for value in _walk_values(dumped)) + if needle in text.casefold(): + out.append(row) + return out + + +def _walk_values(obj): + if isinstance(obj, dict): + for value in obj.values(): + yield from _walk_values(value) + elif isinstance(obj, list): + for value in obj: + yield from _walk_values(value) + elif obj is not None: + yield obj + + +def selftest() -> bool: + """Smoke-test entity type routing. + + :return: ``True`` on success. + :rtype: bool + """ + assert "anilist" in set(backends_for_type("anime")) + assert show_route_for("anime", "jikan").function_name == "show" + try: + show_route_for("publisher", "anilist") + except ApiError as exc: + assert exc.reason == "bad-args" + else: # pragma: no cover + raise AssertionError("unsupported pair accepted") + return True diff --git a/animedex/agg/search.py b/animedex/agg/search.py new file mode 100644 index 0000000..56730a8 --- /dev/null +++ b/animedex/agg/search.py @@ -0,0 +1,117 @@ +"""Multi-source entity search.""" + +from __future__ import annotations + +from typing import Iterable, List, Optional + +from animedex.agg._fanout import FanoutSource, run_fanout +from animedex.agg._prefix_id import prefix_for_backend +from animedex.agg._type_routes import call_search_route, search_routes_for, validate_entity_type +from animedex.config import Config +from animedex.models.aggregate import AggregateResult +from animedex.models.common import AnimedexModel, ApiError + + +def _select_sources(available: Iterable[str], requested: Optional[str]) -> List[str]: + """Resolve a comma-separated source allowlist for entity search. + + :param available: Allowed source names. + :type available: iterable[str] + :param requested: Comma-separated source list or ``None``. + :type requested: str or None + :return: Selected sources in available-source order. + :rtype: list[str] + :raises ApiError: When an unknown source is requested. + """ + available_list = list(available) + if requested is None or not requested.strip(): + return available_list + wanted = [part.strip() for part in requested.split(",") if part.strip()] + unknown = [name for name in wanted if name not in available_list] + if unknown: + raise ApiError( + f"unknown source(s): {', '.join(unknown)}; supported sources: {', '.join(available_list)}", + backend="aggregate", + reason="bad-args", + ) + return [name for name in available_list if name in wanted] + + +def _native_id(row, backend: str): + data = row.model_dump(mode="json", by_alias=True) if hasattr(row, "model_dump") else row + if backend == "anilist": + return data.get("id") + if backend == "jikan": + return data.get("mal_id") + if backend in {"kitsu", "mangadex", "shikimori", "ann"}: + return data.get("id") + return data.get("id") + + +def _annotate_row(row, backend: str): + update = {"_source": backend} + prefix_id = prefix_for_backend(backend, _native_id(row, backend)) + if prefix_id is not None: + update["_prefix_id"] = prefix_id + if isinstance(row, AnimedexModel): + return row.model_copy(update=update) + data = dict(row) + data.update(update) + return data + + +def search( + type: str, + q: str, + *, + limit: int = 10, + source: Optional[str] = None, + config: Optional[Config] = None, + **kw, +) -> AggregateResult: + """Search an entity type across every supporting backend. + + :param type: Entity type: ``anime``, ``manga``, ``character``, + ``person``, ``studio``, or ``publisher``. + :type type: str + :param q: Search query, passed verbatim to each backend that + supports a search endpoint. + :type q: str + :param limit: Per-source row cap. + :type limit: int + :param source: Optional comma-separated source allowlist. + :type source: str or None + :param config: Optional config. + :type config: Config or None + :return: Aggregate result envelope. + :rtype: AggregateResult + :raises ApiError: When the type or source list is invalid. + """ + entity_type = validate_entity_type(type) + if limit < 1: + raise ApiError("limit must be >= 1", backend="aggregate", reason="bad-args") + routes = search_routes_for(entity_type) + selected = set(_select_sources((route.backend for route in routes), source)) + selected_routes = [route for route in routes if route.backend in selected] + + def _make(route): + return lambda: [ + _annotate_row(row, route.backend) for row in call_search_route(route, q, limit, config=config, **kw) + ] + + return run_fanout([FanoutSource(route.backend, _make(route)) for route in selected_routes]) + + +def selftest() -> bool: + """Smoke-test search validation without network access. + + :return: ``True`` on success. + :rtype: bool + """ + try: + search("badtype", "x") + except ApiError as exc: + assert exc.reason == "bad-args" + else: # pragma: no cover + raise AssertionError("bad type accepted") + return True diff --git a/animedex/agg/show.py b/animedex/agg/show.py new file mode 100644 index 0000000..4108f19 --- /dev/null +++ b/animedex/agg/show.py @@ -0,0 +1,44 @@ +"""Single-source aggregate entity show.""" + +from __future__ import annotations + +from typing import Optional + +from animedex.agg._prefix_id import parse +from animedex.agg._type_routes import call_show_route, show_route_for, validate_entity_type +from animedex.config import Config +from animedex.models.common import ApiError + + +def show(type: str, prefix_id: str, *, config: Optional[Config] = None, **kw): + """Show one entity from the backend encoded by ``prefix_id``. + + :param type: Entity type. + :type type: str + :param prefix_id: Prefix-encoded backend ID. + :type prefix_id: str + :param config: Optional config. + :type config: Config or None + :return: Backend-rich result. + :rtype: object + :raises ApiError: When the prefix or type/backend pair is invalid. + """ + entity_type = validate_entity_type(type) + parsed = parse(prefix_id) + route = show_route_for(entity_type, parsed.backend) + return call_show_route(route, parsed.id, config=config, **kw) + + +def selftest() -> bool: + """Smoke-test show validation without network access. + + :return: ``True`` on success. + :rtype: bool + """ + try: + show("publisher", "anilist:1") + except ApiError as exc: + assert exc.reason == "bad-args" + else: # pragma: no cover + raise AssertionError("unsupported show accepted") + return True diff --git a/animedex/backends/anilist/__init__.py b/animedex/backends/anilist/__init__.py index f6cbbbf..9fa946c 100644 --- a/animedex/backends/anilist/__init__.py +++ b/animedex/backends/anilist/__init__.py @@ -142,7 +142,25 @@ def search(q: str, *, page: int = 1, per_page: int = 10, config: Optional[Config :return: List of matching AniList records. :rtype: list[AnilistAnime] """ - payload, src = _gql(_q.Q_MEDIA_SEARCH, {"q": q, "page": page, "perPage": min(per_page, 50)}, config=config, **kw) + payload, src = _gql( + _q.Q_MEDIA_SEARCH, + {"q": q, "page": page, "perPage": min(per_page, 50), "type": "ANIME"}, + config=config, + **kw, + ) + return _mp.map_media_list(payload, src) + + +def manga_search( + q: str, *, page: int = 1, per_page: int = 10, config: Optional[Config] = None, **kw +) -> List[AnilistAnime]: + """Search manga by title.""" + payload, src = _gql( + _q.Q_MEDIA_SEARCH, + {"q": q, "page": page, "perPage": min(per_page, 50), "type": "MANGA"}, + config=config, + **kw, + ) return _mp.map_media_list(payload, src) diff --git a/animedex/backends/anilist/_queries.py b/animedex/backends/anilist/_queries.py index 48889d6..7ef5085 100644 --- a/animedex/backends/anilist/_queries.py +++ b/animedex/backends/anilist/_queries.py @@ -68,10 +68,10 @@ Q_MEDIA_SEARCH = """ -query ($q: String, $page: Int, $perPage: Int) { +query ($q: String, $page: Int, $perPage: Int, $type: MediaType) { Page(page: $page, perPage: $perPage) { pageInfo { total currentPage hasNextPage perPage } - media(search: $q, type: ANIME, sort: SEARCH_MATCH) { + media(search: $q, type: $type, sort: SEARCH_MATCH) { id idMal title { romaji english native } type format status episodes diff --git a/animedex/backends/kitsu/models.py b/animedex/backends/kitsu/models.py index fe692cb..df1917e 100644 --- a/animedex/backends/kitsu/models.py +++ b/animedex/backends/kitsu/models.py @@ -26,6 +26,7 @@ from typing import Any, Dict, List, Optional from animedex.models.anime import Anime, AnimeRating, AnimeStreamingLink, AnimeTitle +from animedex.models.character import Character, Staff, Studio from animedex.models.common import BackendRichModel, SourceTag from animedex.models.manga import Manga @@ -352,6 +353,21 @@ class KitsuCharacter(BackendRichModel): links: Optional[Dict[str, Any]] = None source_tag: Optional[SourceTag] = None + def to_common(self) -> Character: + """Project this resource onto the cross-source character shape.""" + attrs = self.attributes or KitsuCharacterAttributes() + names = attrs.names or {} + image_url = (attrs.image or {}).get("original") if isinstance(attrs.image, dict) else None + return Character( + id=f"kitsu:char:{self.id}", + name=attrs.name or attrs.canonicalName or names.get("en") or names.get("en_jp") or "", + name_native=names.get("ja_jp"), + name_alternatives=list(attrs.otherNames or []), + image_url=image_url, + description=attrs.description, + source=self.source_tag or _default_src(), + ) + class KitsuPerson(BackendRichModel): """JSON:API person resource from ``/people/{id}`` and @@ -364,6 +380,16 @@ class KitsuPerson(BackendRichModel): links: Optional[Dict[str, Any]] = None source_tag: Optional[SourceTag] = None + def to_common(self) -> Staff: + """Project this resource onto the cross-source staff shape.""" + attrs = self.attributes or KitsuPersonAttributes() + return Staff( + id=f"kitsu:person:{self.id}", + name=attrs.name or "", + description=attrs.description, + source=self.source_tag or _default_src(), + ) + class KitsuProducer(BackendRichModel): """JSON:API producer resource from ``/producers``.""" @@ -375,6 +401,15 @@ class KitsuProducer(BackendRichModel): links: Optional[Dict[str, Any]] = None source_tag: Optional[SourceTag] = None + def to_common(self) -> Studio: + """Project this resource onto the cross-source studio shape.""" + attrs = self.attributes or KitsuProducerAttributes() + return Studio( + id=f"kitsu:producer:{self.id}", + name=attrs.name or attrs.slug or "", + source=self.source_tag or _default_src(), + ) + class KitsuGenre(BackendRichModel): """JSON:API genre resource from ``/genres``.""" diff --git a/animedex/backends/shikimori/__init__.py b/animedex/backends/shikimori/__init__.py index 11c3171..93559f6 100644 --- a/animedex/backends/shikimori/__init__.py +++ b/animedex/backends/shikimori/__init__.py @@ -256,20 +256,54 @@ def club_show(club_id: int, *, config: Optional[Config] = None, **kw) -> Shikimo return ShikimoriClub.model_validate({**payload, "source_tag": src}) +def character_search( + q: Optional[str] = None, + *, + limit: Optional[int] = None, + config: Optional[Config] = None, + **kw, +) -> List[ShikimoriCharacter]: + """Search top-level characters via ``/api/characters/search``.""" + payload, src = _fetch("/api/characters/search", params=_params(search=q, limit=limit), config=config, **kw) + return [ShikimoriCharacter.model_validate({**row, "source_tag": src}) for row in _list(payload)] + + +def character(character_id: int, *, config: Optional[Config] = None, **kw) -> ShikimoriCharacter: + """Fetch one top-level character by Shikimori ID.""" + payload, src = _fetch(f"/api/characters/{character_id}", config=config, **kw) + if not isinstance(payload, dict): + raise ApiError( + "shikimori character show did not return an object", + backend="shikimori", + reason="upstream-shape", + ) + return ShikimoriCharacter.model_validate({**payload, "source_tag": src}) + + def publishers(*, config: Optional[Config] = None, **kw) -> List[ShikimoriPublisher]: """List Shikimori manga publishers.""" payload, src = _fetch("/api/publishers", config=config, **kw) return [ShikimoriPublisher.model_validate({**row, "source_tag": src}) for row in _list(payload)] +def publisher(publisher_id: int, *, config: Optional[Config] = None, **kw) -> ShikimoriPublisher: + """Fetch one publisher from the Shikimori publisher catalogue.""" + rows = publishers(config=config, **kw) + for row in rows: + if row.id == publisher_id: + return row + raise ApiError(f"shikimori publisher {publisher_id} not found", backend="shikimori", reason="not-found") + + def people_search( q: Optional[str] = None, *, + limit: Optional[int] = None, config: Optional[Config] = None, **kw, ) -> List[ShikimoriPerson]: """Search top-level people via ``/api/people/search``.""" - payload, src = _fetch("/api/people/search", params=_params(search=q), config=config, **kw) + payload, src = _fetch("/api/people/search", params=_params(search=q, limit=limit), config=config, **kw) return [ShikimoriPerson.model_validate({**row, "source_tag": src}) for row in _list(payload)] @@ -367,6 +401,15 @@ def studios(*, config: Optional[Config] = None, **kw) -> List[ShikimoriStudio]: return [ShikimoriStudio.model_validate({**row, "source_tag": src}) for row in _list(payload)] +def studio(studio_id: int, *, config: Optional[Config] = None, **kw) -> ShikimoriStudio: + """Fetch one studio from the Shikimori studio catalogue.""" + rows = studios(config=config, **kw) + for row in rows: + if row.id == studio_id: + return row + raise ApiError(f"shikimori studio {studio_id} not found", backend="shikimori", reason="not-found") + + def genres(*, config: Optional[Config] = None, **kw) -> List[ShikimoriResource]: """List Shikimori genres.""" payload, src = _fetch("/api/genres", config=config, **kw) diff --git a/animedex/diag/selftest.py b/animedex/diag/selftest.py index 48cc106..a3d2cd3 100644 --- a/animedex/diag/selftest.py +++ b/animedex/diag/selftest.py @@ -75,6 +75,8 @@ "animedex.entry", "animedex.entry.aggregate", "animedex.entry.cli", + "animedex.entry.search", + "animedex.entry.show", "animedex.diag", "animedex.diag.selftest", "animedex.models", @@ -135,6 +137,13 @@ "animedex.api.trace", "animedex.api.waifu", "animedex.render.raw", + # aggregate command layer. + "animedex.agg", + "animedex.agg._fanout", + "animedex.agg._prefix_id", + "animedex.agg._type_routes", + "animedex.agg.search", + "animedex.agg.show", # the high-level backend layer: backend-specific high-level Python APIs. "animedex.backends", "animedex.backends.anilist", diff --git a/animedex/entry/anilist.py b/animedex/entry/anilist.py index 007781b..39b97dc 100644 --- a/animedex/entry/anilist.py +++ b/animedex/entry/anilist.py @@ -56,6 +56,7 @@ def anilist_group() -> None: # ---------- core ---------- register_subcommand(anilist_group, "show", _api.show, help="Show one Media (anime/manga) by AniList id.") register_subcommand(anilist_group, "search", _api.search, help="Search Media by title.") +register_subcommand(anilist_group, "manga-search", _api.manga_search, help="Search manga by title.") register_subcommand(anilist_group, "character", _api.character, help="Show one Character by id.") register_subcommand(anilist_group, "character-search", _api.character_search, help="Search characters.") register_subcommand(anilist_group, "staff", _api.staff, help="Show one Staff by id.") diff --git a/animedex/entry/cli.py b/animedex/entry/cli.py index 05755e3..0b8b0eb 100644 --- a/animedex/entry/cli.py +++ b/animedex/entry/cli.py @@ -118,7 +118,9 @@ def cli() -> None: from animedex.entry.mangadex import mangadex_group as _mangadex_group # noqa: E402 from animedex.entry.nekos import nekos_group as _nekos_group # noqa: E402 from animedex.entry.quote import quote_group as _quote_group # noqa: E402 +from animedex.entry.search import search_command as _search_command # noqa: E402 from animedex.entry.shikimori import shikimori_group as _shikimori_group # noqa: E402 +from animedex.entry.show import show_command as _show_command # noqa: E402 from animedex.entry.trace import trace_group as _trace_group # noqa: E402 from animedex.entry.waifu import waifu_group as _waifu_group # noqa: E402 @@ -132,7 +134,9 @@ def cli() -> None: cli.add_command(_mangadex_group) cli.add_command(_nekos_group) cli.add_command(_quote_group) +cli.add_command(_search_command) cli.add_command(_shikimori_group) +cli.add_command(_show_command) cli.add_command(_trace_group) cli.add_command(_waifu_group) cli.add_command(_season_command) @@ -168,7 +172,7 @@ def status_command() -> None: """ click.echo(f"{__TITLE__} v{__VERSION__}") click.echo( - "Wired groups: season, schedule, anilist, ann, danbooru, ghibli, jikan, kitsu, mangadex, nekos, quote, shikimori, trace, waifu, api (raw passthrough)." + "Wired groups: search, show, season, schedule, anilist, ann, danbooru, ghibli, jikan, kitsu, mangadex, nekos, quote, shikimori, trace, waifu, api (raw passthrough)." ) click.echo("Run 'animedex --help' for the full command tree.") diff --git a/animedex/entry/search.py b/animedex/entry/search.py new file mode 100644 index 0000000..11c85ec --- /dev/null +++ b/animedex/entry/search.py @@ -0,0 +1,95 @@ +"""``animedex search`` aggregate command.""" + +from __future__ import annotations + +import click + +from animedex.agg import search as _search +from animedex.config import Config +from animedex.entry._cli_factory import common_options, emit +from animedex.models.aggregate import AggregateResult +from animedex.models.common import ApiError + + +def _emit_failure_lines(result: AggregateResult) -> None: + for name, status in result.failed_sources.items(): + reason = status.reason or "failed" + message = status.message or reason + click.echo(f"source {name!r} failed: {message}; continuing with other sources", err=True) + + +@click.command(name="search") +@click.argument("type", metavar="TYPE") +@click.argument("q", metavar="Q") +@click.option("--limit", type=int, default=10, show_default=True, help="Per-source result cap.") +@click.option("--source", "source", default=None, help="Comma-separated source allowlist.") +@common_options +@click.pass_context +def search_command(ctx, type, q, limit, source, json_flag, jq_expr, no_cache, cache_ttl, rate, no_source) -> None: + """Search one entity type across every supporting catalogue. + + TYPE controls which backend endpoints are queried. + + \b + Types: + anime + Anime titles. Searches AniList anime media, ANN anime reports, + Jikan anime, Kitsu anime, and Shikimori anime. + manga + Manga titles. Searches AniList manga media, Jikan manga, + Kitsu manga, MangaDex manga, and Shikimori manga. + character + Character names. Searches AniList characters, Jikan characters, + Kitsu characters, and Shikimori characters. + person + Staff, creator, and voice-actor names. Searches AniList staff, + Jikan people, Kitsu people, and Shikimori people. + studio + Studio, producer, and production-company names. Searches AniList + studios, Jikan producers, Kitsu producers, and Shikimori studios. + Kitsu and Shikimori are fetched as catalogue lists and filtered locally. + publisher + Publisher names. Searches Shikimori publishers. The publisher + catalogue is fetched and filtered locally. + + Use --source with the backend names listed for a type to restrict + fan-out. Unsupported source names fail before any network request. + + \b + Examples: + animedex search anime Frieren --limit 3 + animedex search manga Berserk --source anilist,mangadex + animedex search character "Hatake Kakashi" --json + animedex search person "Hayao Miyazaki" --jq '.items[0]._prefix_id' + animedex search studio Ghibli --source anilist,jikan,kitsu,shikimori + animedex search publisher Kodansha --json + \f + + Backend: animedex aggregate search over AniList, Jikan, Kitsu, + MangaDex, Shikimori, and ANN where applicable. + + Rate limit: inherited from each selected backend. + + --- LLM Agent Guidance --- + Use this command when the user asks for a cross-catalogue entity + lookup and has not already chosen a backend. The type positional + is required; do not guess it. Results are not deduplicated across + sources, scores are not averaged, and each row carries _source + plus _prefix_id when a follow-up `animedex show` call can route it. + Partial source failures return the healthy rows and report failed + sources in the envelope and stderr. + --- End --- + """ + cfg = Config(no_cache=no_cache, cache_ttl_seconds=cache_ttl, rate=rate, source_attribution=not no_source) + try: + result = _search(type, q, limit=limit, source=source, config=cfg) + except ApiError as exc: + raise click.ClickException(str(exc)) from exc + _emit_failure_lines(result) + emit(result, json_flag=json_flag, jq_expr=jq_expr, no_source=no_source) + if result.all_failed: + ctx.exit(1) + ctx.exit(0) + + +__all__ = ["search_command"] diff --git a/animedex/entry/shikimori.py b/animedex/entry/shikimori.py index cc8f4d9..2547319 100644 --- a/animedex/entry/shikimori.py +++ b/animedex/entry/shikimori.py @@ -51,7 +51,10 @@ def shikimori_group() -> None: register_subcommand(shikimori_group, "ranobe-show", _api.ranobe_show, help="Ranobe by Shikimori numeric id.") register_subcommand(shikimori_group, "club-search", _api.club_search, help="Search Shikimori clubs.") register_subcommand(shikimori_group, "club-show", _api.club_show, help="Club by Shikimori numeric id.") +register_subcommand(shikimori_group, "character-search", _api.character_search, help="Search top-level characters.") +register_subcommand(shikimori_group, "character", _api.character, help="Top-level character by Shikimori numeric id.") register_subcommand(shikimori_group, "publishers", _api.publishers, help="Manga publisher taxonomy.") +register_subcommand(shikimori_group, "publisher", _api.publisher, help="Publisher by Shikimori numeric id.") register_subcommand(shikimori_group, "people-search", _api.people_search, help="Search top-level Shikimori people.") register_subcommand(shikimori_group, "person", _api.person, help="Top-level person by Shikimori numeric id.") register_subcommand(shikimori_group, "screenshots", _api.screenshots, help="Screenshot list for one anime.") @@ -64,4 +67,5 @@ def shikimori_group() -> None: register_subcommand(shikimori_group, "external-links", _api.external_links, help="External links for one anime.") register_subcommand(shikimori_group, "topics", _api.topics, help="Discussion topics for one anime.") register_subcommand(shikimori_group, "studios", _api.studios, help="Studio taxonomy.") +register_subcommand(shikimori_group, "studio", _api.studio, help="Studio by Shikimori numeric id.") register_subcommand(shikimori_group, "genres", _api.genres, help="Genre taxonomy.") diff --git a/animedex/entry/show.py b/animedex/entry/show.py new file mode 100644 index 0000000..a1ec626 --- /dev/null +++ b/animedex/entry/show.py @@ -0,0 +1,52 @@ +"""``animedex show`` aggregate command.""" + +from __future__ import annotations + +import click + +from animedex.agg import show as _show +from animedex.config import Config +from animedex.entry._cli_factory import common_options, emit +from animedex.models.common import ApiError + + +@click.command(name="show") +@click.argument("type", metavar="TYPE") +@click.argument("prefix_id", metavar="PREFIX:ID") +@common_options +def show_command(type, prefix_id, json_flag, jq_expr, no_cache, cache_ttl, rate, no_source) -> None: + """Show one entity from the backend encoded in its prefix id. + + \b + Examples: + animedex show anime anilist:154587 + animedex show anime mal:52991 + animedex show manga mangadex:dc8bbc4c-eb7a-4d27-b96a-9aa8c8db4adb + animedex show person shikimori:1870 + \f + + Backend: animedex aggregate router over AniList, Jikan, Kitsu, + MangaDex, Shikimori, and ANN where applicable. + + Rate limit: inherited from the selected backend. + + --- LLM Agent Guidance --- + Use this command after `animedex search` returns a _prefix_id, or + when the user gives an explicit backend-prefixed ID. The type + positional is required because most upstream ID spaces reuse the + same number for different entity kinds. Unsupported type/backend + pairs fail before any network request and list the backends that + do support the requested type. The `anidb:` prefix is recognised + as deferred and raises an informative typed error until the AniDB + helpers ship. + --- End --- + """ + cfg = Config(no_cache=no_cache, cache_ttl_seconds=cache_ttl, rate=rate, source_attribution=not no_source) + try: + result = _show(type, prefix_id, config=cfg) + except ApiError as exc: + raise click.ClickException(str(exc)) from exc + emit(result, json_flag=json_flag, jq_expr=jq_expr, no_source=no_source) + + +__all__ = ["show_command"] diff --git a/animedex/render/json_renderer.py b/animedex/render/json_renderer.py index 510faf5..6b02da1 100644 --- a/animedex/render/json_renderer.py +++ b/animedex/render/json_renderer.py @@ -45,6 +45,11 @@ def render_json(model: AnimedexModel, *, include_source: bool = True) -> str: payload = model.model_dump(mode="json", by_alias=True) if include_source: sources = [] + + def add_source(name): + if name and name not in sources: + sources.append(name) + # Single-source records keep the source on either ``.source`` # (common projection types like :class:`Anime`, # :class:`Character`) or ``.source_tag`` (backend-rich types @@ -60,19 +65,21 @@ def render_json(model: AnimedexModel, *, include_source: bool = True) -> str: for key in ("source", "source_tag"): candidate = payload.get(key) if isinstance(candidate, dict) and "backend" in candidate and "fetched_at" in candidate: - sources.append(candidate["backend"]) + add_source(candidate["backend"]) break # first SourceTag-shaped wins; don't double-count srcs = payload.get("sources") if isinstance(srcs, list): for entry in srcs: if isinstance(entry, dict) and entry.get("backend"): - sources.append(entry["backend"]) + add_source(entry["backend"]) elif isinstance(srcs, dict): for backend, entry in srcs.items(): - if isinstance(entry, dict) and entry.get("backend"): - sources.append(entry["backend"]) - elif backend: - sources.append(backend) + if isinstance(entry, dict): + if entry.get("status") != "ok": + continue + add_source(entry.get("backend") or backend) + else: + add_source(backend) payload["_meta"] = {"sources_consulted": sources} return json.dumps(payload, ensure_ascii=False, separators=(",", ":")) diff --git a/animedex/render/tty.py b/animedex/render/tty.py index 0a27b3d..512dcdf 100644 --- a/animedex/render/tty.py +++ b/animedex/render/tty.py @@ -874,6 +874,125 @@ def _format_merged_anime_tty(item: MergedAnime) -> str: return out.getvalue() +def _aggregate_item_value(item: object, key: str) -> object: + if isinstance(item, dict): + return item.get(key) + return getattr(item, key, None) + + +def _aggregate_item_source(item: object) -> Optional[str]: + source = _aggregate_item_value(item, "_source") + if source: + return str(source) + from animedex.models.common import SourceTag + + tag = getattr(item, "source_tag", None) + if isinstance(tag, SourceTag): + return tag.backend + tag = getattr(item, "source", None) + if isinstance(tag, SourceTag): + return tag.backend + return None + + +def _aggregate_item_label(item: object) -> str: + if hasattr(item, "to_common"): + try: + common = item.to_common() + except Exception: + common = None + if isinstance(common, Anime): + return common.title.romaji + if isinstance(common, (Character, Staff, Studio)): + return common.name + for attr in ("name", "title"): + value = _aggregate_item_value(item, attr) + if isinstance(value, dict): + for key in ("romaji", "english", "en"): + text = value.get(key) + if text: + return str(text) + if isinstance(value, str) and value: + return value + if value: + nested = getattr(value, "romaji", None) or getattr(value, "english", None) or getattr(value, "en", None) + if nested: + return str(nested) + return str(value) + return type(item).__name__ + + +def _aggregate_item_score(item: object) -> Optional[str]: + score = _aggregate_item_value(item, "score") + if isinstance(score, dict): + value = score.get("score") + scale = score.get("scale") + if value is not None and scale is not None: + return f"{value}/{scale}" + if value is not None: + return str(value) + if score is not None: + return str(score) + if hasattr(item, "to_common"): + try: + common = item.to_common() + except Exception: + common = None + if isinstance(common, Anime) and common.score is not None: + return f"{common.score.score}/{common.score.scale}" + return None + + +def _aggregate_item_status(item: object) -> Optional[str]: + value = _aggregate_item_value(item, "status") + if value: + return str(value) + if hasattr(item, "to_common"): + try: + common = item.to_common() + except Exception: + common = None + if isinstance(common, Anime) and common.status: + return common.status + return None + + +def _is_search_result(item: object) -> bool: + return bool(_aggregate_item_value(item, "_prefix_id")) + + +def _uses_compact_aggregate_tty(result: AggregateResult) -> bool: + return any(_is_search_result(item) or _aggregate_item_source(item) for item in result.items) + + +def _format_search_aggregate_tty(result: AggregateResult) -> str: + out = io.StringIO() + print("Aggregate results", file=out) + if result.failed_sources: + failed = ", ".join(sorted(result.failed_sources)) + print(f" Failed sources: {failed}", file=out) + for item in result.items: + label = _aggregate_item_label(item) + bits = [label] + prefix_id = _aggregate_item_value(item, "_prefix_id") + if prefix_id: + bits.append(f"({prefix_id})") + source = _aggregate_item_source(item) + if source: + bits.append(f"[src: {source}]") + print(" " + " ".join(bits), file=out) + details = [] + score = _aggregate_item_score(item) + status = _aggregate_item_status(item) + if score: + details.append(f"Score: {score}") + if status: + details.append(f"Status: {status}") + if details: + print(" " + " · ".join(details), file=out) + return out.getvalue() + + def render_tty(model: AnimedexModel, *, stream: Any = None) -> str: """Render a model into the human-friendly TTY form. @@ -896,6 +1015,8 @@ def render_tty(model: AnimedexModel, *, stream: Any = None) -> str: if isinstance(model, AggregateResult): if not model.items: return "" + if _uses_compact_aggregate_tty(model): + return _format_search_aggregate_tty(model) return "\n\n".join( render_tty(item, stream=stream) if isinstance(item, AnimedexModel) else str(item) for item in model.items ) diff --git a/docs/source/_static/gifs/README.md b/docs/source/_static/gifs/README.md index 96dca2c..53a5d81 100644 --- a/docs/source/_static/gifs/README.md +++ b/docs/source/_static/gifs/README.md @@ -22,6 +22,7 @@ source tapes so future contributors can regenerate them. | `trace.gif` | `docs/source/tutorials/backends/trace.rst` header | `trace.tape` | | `nekos.gif` | `docs/source/tutorials/backends/nekos.rst` header | `nekos.tape` | | `shikimori.gif` | `docs/source/tutorials/backends/shikimori.rst` header | `shikimori.tape` | +| `search_show.gif` | `docs/source/tutorials/search_show.rst` header | `search_show.tape` | | `aggregate.gif` | `docs/source/tutorials/aggregate.rst` header | `aggregate.tape` | ## Regenerating @@ -48,12 +49,13 @@ vhs quote.tape # produces quote.gif vhs trace.tape # produces trace.gif vhs nekos.tape # produces nekos.gif vhs shikimori.tape # produces shikimori.gif -vhs aggregate.tape # produces aggregate.gif +vhs search_show.tape # produces search_show.gif +vhs aggregate.tape # produces aggregate.gif ``` vhs is available as a single-file binary at [github.com/charmbracelet/vhs/releases](https://github.com/charmbracelet/vhs/releases). -The render is local and offline-after-install — no network calls happen inside vhs itself. Most tapes intentionally run live `animedex` commands, so they need network at record time and may show small upstream drift such as a different random image or score. `ghibli.tape` is fully offline, and `quote.tape` / `shikimori.tape` prewarm a temporary local cache from committed fixtures before the visible commands run so the demos stay stable under tight upstream limits. +The render is local and offline-after-install — no network calls happen inside vhs itself. Most tapes intentionally run live `animedex` commands, so they need network at record time and may show small upstream drift such as a different random image or score. `ghibli.tape` is fully offline, and `quote.tape` / `shikimori.tape` / `search_show.tape` prewarm a temporary local cache from committed fixtures before the visible commands run so the demos stay stable under tight upstream limits. `aggregate.tape` can also be paired with `tools/fixtures/prewarm_aggregate_cache.py` when a stable offline calendar capture is needed. ## Why commit both .tape and .gif? diff --git a/docs/source/_static/gifs/search_show.gif b/docs/source/_static/gifs/search_show.gif new file mode 100644 index 0000000..52a7b07 Binary files /dev/null and b/docs/source/_static/gifs/search_show.gif differ diff --git a/docs/source/_static/gifs/search_show.tape b/docs/source/_static/gifs/search_show.tape new file mode 100644 index 0000000..212bb42 --- /dev/null +++ b/docs/source/_static/gifs/search_show.tape @@ -0,0 +1,42 @@ +# vhs tape - animedex search/show aggregate tour (~18 s) +# +# Uses a pre-warmed local cache during rendering so the demo is stable +# and does not depend on live upstream rate-limit state. + +Output search_show.gif + +Set Theme "Dracula" +Set FontSize 13 +Set Width 1120 +Set Height 540 +Set Padding 14 +Set Framerate 24 + +Hide +Type "export XDG_CACHE_HOME=$(mktemp -d) && python ../../../../tools/fixtures/prewarm_aggregate_cache.py && clear" +Enter +Sleep 1s +Show + +Type "animedex search anime Frieren --limit 2 --source jikan,kitsu,shikimori" +Sleep 400ms +Enter +Sleep 3200ms + +Type "animedex search manga Berserk --limit 2 --source mangadex,shikimori --jq '.items[] | {_prefix_id, _source}'" +Sleep 400ms +Enter +Sleep 3000ms + +Type "animedex show anime mal:52991 --jq '{title, score, status}'" +Sleep 400ms +Enter +Sleep 2800ms + +Type "animedex show character shikimori:184947 --jq '{id, name}'" +Sleep 400ms +Enter +Sleep 2200ms + +# Hold the final frame so a viewer has time to read the last block. +Sleep 4s diff --git a/docs/source/api_doc/agg/_fanout.rst b/docs/source/api_doc/agg/_fanout.rst index e79382e..cf30740 100644 --- a/docs/source/api_doc/agg/_fanout.rst +++ b/docs/source/api_doc/agg/_fanout.rst @@ -23,5 +23,3 @@ selftest ----------------------------------------------------- .. autofunction:: selftest - - diff --git a/docs/source/api_doc/agg/_prefix_id.rst b/docs/source/api_doc/agg/_prefix_id.rst new file mode 100644 index 0000000..e5fc3e7 --- /dev/null +++ b/docs/source/api_doc/agg/_prefix_id.rst @@ -0,0 +1,43 @@ +animedex.agg.\_prefix\_id +======================================================== + +.. currentmodule:: animedex.agg._prefix_id + +.. automodule:: animedex.agg._prefix_id + + +ParsedPrefixId +----------------------------------------------------- + +.. autoclass:: ParsedPrefixId + :members: prefix,backend,id + + +known\_prefixes +----------------------------------------------------- + +.. autofunction:: known_prefixes + + +parse +----------------------------------------------------- + +.. autofunction:: parse + + +validate\_id +----------------------------------------------------- + +.. autofunction:: validate_id + + +prefix\_for\_backend +----------------------------------------------------- + +.. autofunction:: prefix_for_backend + + +selftest +----------------------------------------------------- + +.. autofunction:: selftest diff --git a/docs/source/api_doc/agg/_type_routes.rst b/docs/source/api_doc/agg/_type_routes.rst new file mode 100644 index 0000000..9a67978 --- /dev/null +++ b/docs/source/api_doc/agg/_type_routes.rst @@ -0,0 +1,74 @@ +animedex.agg.\_type\_routes +======================================================== + +.. currentmodule:: animedex.agg._type_routes + +.. automodule:: animedex.agg._type_routes + + +ENTITY\_TYPES +----------------------------------------------------- + +.. autodata:: ENTITY_TYPES + + +SearchRoute +----------------------------------------------------- + +.. autoclass:: SearchRoute + :members: backend,function_name,query_arg,limit_arg,all_items + + +ShowRoute +----------------------------------------------------- + +.. autoclass:: ShowRoute + :members: backend,function_name,id_arg + + +validate\_entity\_type +----------------------------------------------------- + +.. autofunction:: validate_entity_type + + +search\_routes\_for +----------------------------------------------------- + +.. autofunction:: search_routes_for + + +show\_route\_for +----------------------------------------------------- + +.. autofunction:: show_route_for + + +backends\_for\_type +----------------------------------------------------- + +.. autofunction:: backends_for_type + + +import\_backend +----------------------------------------------------- + +.. autofunction:: import_backend + + +call\_search\_route +----------------------------------------------------- + +.. autofunction:: call_search_route + + +call\_show\_route +----------------------------------------------------- + +.. autofunction:: call_show_route + + +selftest +----------------------------------------------------- + +.. autofunction:: selftest diff --git a/docs/source/api_doc/agg/calendar.rst b/docs/source/api_doc/agg/calendar.rst index d45f5e9..28d9342 100644 --- a/docs/source/api_doc/agg/calendar.rst +++ b/docs/source/api_doc/agg/calendar.rst @@ -52,5 +52,3 @@ selftest ----------------------------------------------------- .. autofunction:: selftest - - diff --git a/docs/source/api_doc/agg/index.rst b/docs/source/api_doc/agg/index.rst index 0a65fc8..3bbd9b7 100644 --- a/docs/source/api_doc/agg/index.rst +++ b/docs/source/api_doc/agg/index.rst @@ -10,7 +10,11 @@ animedex.agg :maxdepth: 3 _fanout + _prefix_id + _type_routes calendar + search + show \_\_all\_\_ ----------------------------------------------------- @@ -22,5 +26,3 @@ selftest ----------------------------------------------------- .. autofunction:: selftest - - diff --git a/docs/source/api_doc/agg/search.rst b/docs/source/api_doc/agg/search.rst new file mode 100644 index 0000000..65776a2 --- /dev/null +++ b/docs/source/api_doc/agg/search.rst @@ -0,0 +1,18 @@ +animedex.agg.search +======================================================== + +.. currentmodule:: animedex.agg.search + +.. automodule:: animedex.agg.search + + +search +----------------------------------------------------- + +.. autofunction:: search + + +selftest +----------------------------------------------------- + +.. autofunction:: selftest diff --git a/docs/source/api_doc/agg/show.rst b/docs/source/api_doc/agg/show.rst new file mode 100644 index 0000000..4ada30e --- /dev/null +++ b/docs/source/api_doc/agg/show.rst @@ -0,0 +1,18 @@ +animedex.agg.show +======================================================== + +.. currentmodule:: animedex.agg.show + +.. automodule:: animedex.agg.show + + +show +----------------------------------------------------- + +.. autofunction:: show + + +selftest +----------------------------------------------------- + +.. autofunction:: selftest diff --git a/docs/source/api_doc/backends/anilist/index.rst b/docs/source/api_doc/backends/anilist/index.rst index 3734537..3108d47 100644 --- a/docs/source/api_doc/backends/anilist/index.rst +++ b/docs/source/api_doc/backends/anilist/index.rst @@ -25,6 +25,12 @@ search .. autofunction:: search +manga\_search +----------------------------------------------------- + +.. autofunction:: manga_search + + character ----------------------------------------------------- diff --git a/docs/source/api_doc/backends/kitsu/models.rst b/docs/source/api_doc/backends/kitsu/models.rst index 3adbca9..7813e76 100644 --- a/docs/source/api_doc/backends/kitsu/models.rst +++ b/docs/source/api_doc/backends/kitsu/models.rst @@ -129,21 +129,21 @@ KitsuCharacter ----------------------------------------------------- .. autoclass:: KitsuCharacter - :members: id,type,attributes,relationships,links,source_tag + :members: to_common,id,type,attributes,relationships,links,source_tag KitsuPerson ----------------------------------------------------- .. autoclass:: KitsuPerson - :members: id,type,attributes,relationships,links,source_tag + :members: to_common,id,type,attributes,relationships,links,source_tag KitsuProducer ----------------------------------------------------- .. autoclass:: KitsuProducer - :members: id,type,attributes,relationships,links,source_tag + :members: to_common,id,type,attributes,relationships,links,source_tag KitsuGenre diff --git a/docs/source/api_doc/backends/shikimori/index.rst b/docs/source/api_doc/backends/shikimori/index.rst index 2558ccc..a71c386 100644 --- a/docs/source/api_doc/backends/shikimori/index.rst +++ b/docs/source/api_doc/backends/shikimori/index.rst @@ -65,12 +65,30 @@ club\_show .. autofunction:: club_show +character\_search +----------------------------------------------------- + +.. autofunction:: character_search + + +character +----------------------------------------------------- + +.. autofunction:: character + + publishers ----------------------------------------------------- .. autofunction:: publishers +publisher +----------------------------------------------------- + +.. autofunction:: publisher + + people\_search ----------------------------------------------------- @@ -143,6 +161,12 @@ studios .. autofunction:: studios +studio +----------------------------------------------------- + +.. autofunction:: studio + + genres ----------------------------------------------------- diff --git a/docs/source/api_doc/entry/aggregate.rst b/docs/source/api_doc/entry/aggregate.rst index 5ec8c51..a0aefa1 100644 --- a/docs/source/api_doc/entry/aggregate.rst +++ b/docs/source/api_doc/entry/aggregate.rst @@ -22,5 +22,3 @@ selftest ----------------------------------------------------- .. autofunction:: selftest - - diff --git a/docs/source/api_doc/entry/index.rst b/docs/source/api_doc/entry/index.rst index b463300..06290d5 100644 --- a/docs/source/api_doc/entry/index.rst +++ b/docs/source/api_doc/entry/index.rst @@ -21,7 +21,9 @@ animedex.entry mangadex nekos quote + search shikimori + show trace waifu diff --git a/docs/source/api_doc/entry/search.rst b/docs/source/api_doc/entry/search.rst new file mode 100644 index 0000000..bf9d45f --- /dev/null +++ b/docs/source/api_doc/entry/search.rst @@ -0,0 +1,18 @@ +animedex.entry.search +======================================================== + +.. currentmodule:: animedex.entry.search + +.. automodule:: animedex.entry.search + + +\_\_all\_\_ +----------------------------------------------------- + +.. autodata:: __all__ + + +search\_command +----------------------------------------------------- + +.. autofunction:: search_command diff --git a/docs/source/api_doc/entry/show.rst b/docs/source/api_doc/entry/show.rst new file mode 100644 index 0000000..612e76e --- /dev/null +++ b/docs/source/api_doc/entry/show.rst @@ -0,0 +1,18 @@ +animedex.entry.show +======================================================== + +.. currentmodule:: animedex.entry.show + +.. automodule:: animedex.entry.show + + +\_\_all\_\_ +----------------------------------------------------- + +.. autodata:: __all__ + + +show\_command +----------------------------------------------------- + +.. autofunction:: show_command diff --git a/docs/source/api_doc/index.rst b/docs/source/api_doc/index.rst index d5a6d63..d5001ca 100644 --- a/docs/source/api_doc/index.rst +++ b/docs/source/api_doc/index.rst @@ -9,6 +9,7 @@ API Reference .. toctree:: :maxdepth: 3 + agg/index api/index auth/index backends/index @@ -27,4 +28,3 @@ API Reference ----------------------------------------------------- .. autodata:: __all__ - diff --git a/docs/source/api_doc/models/aggregate.rst b/docs/source/api_doc/models/aggregate.rst index 672f249..0126f9b 100644 --- a/docs/source/api_doc/models/aggregate.rst +++ b/docs/source/api_doc/models/aggregate.rst @@ -38,5 +38,3 @@ selftest ----------------------------------------------------- .. autofunction:: selftest - - diff --git a/docs/source/tutorials/index.rst b/docs/source/tutorials/index.rst index 5af7a63..d79dd05 100644 --- a/docs/source/tutorials/index.rst +++ b/docs/source/tutorials/index.rst @@ -36,6 +36,7 @@ Cross-cutting tutorials .. toctree:: :maxdepth: 1 + search_show raw_passthrough output_modes python_library diff --git a/docs/source/tutorials/search_show.rst b/docs/source/tutorials/search_show.rst new file mode 100644 index 0000000..b364d99 --- /dev/null +++ b/docs/source/tutorials/search_show.rst @@ -0,0 +1,138 @@ +``animedex search`` and ``animedex show`` +========================================= + +The top-level aggregate commands are the normal entry point when the user has not chosen a backend yet. ``animedex search`` fans out to every catalogue that supports the requested entity type, while ``animedex show`` routes one ``prefix:id`` reference back to the owning backend. + +.. image:: /_static/gifs/search_show.gif + :alt: animedex aggregate demo - multi-source search and prefix-id show + :align: center + +References +---------- + +================================ ===================================================================== +Python search module :mod:`animedex.agg.search` +Python show module :mod:`animedex.agg.show` +Prefix parser :mod:`animedex.agg._prefix_id` +Type routes :mod:`animedex.agg._type_routes` +Aggregate result model :mod:`animedex.models.aggregate` +================================ ===================================================================== + +* **Backend**: aggregate orchestration over AniList, Anime News Network, Jikan, Kitsu, MangaDex, and Shikimori where the selected entity type is supported. +* **Rate limit**: inherited from each selected backend; the fan-out helper calls sources independently and records each source's status. +* **Output contract**: JSON keeps the rich backend row plus ``_source`` and ``_prefix_id``. TTY output projects rows only for readability and still prints ``[src: ...]``. + +Search across catalogues +------------------------ + +``TYPE`` is required and must be one of ``anime``, ``manga``, ``character``, ``person``, ``studio``, or ``publisher``. The ``--limit`` option is per source, not global, because source rankings are not comparable. + +.. code-block:: bash + + animedex search anime Frieren --limit 2 --source jikan,kitsu,shikimori --jq '.items[] | {_prefix_id, _source}' + # => {"_prefix_id":"mal:63816","_source":"jikan"} + # => {"_prefix_id":"mal:52991","_source":"jikan"} + # => {"_prefix_id":"kitsu:46474","_source":"kitsu"} + # => {"_prefix_id":"kitsu:49240","_source":"kitsu"} + # => {"_prefix_id":"shikimori:52991","_source":"shikimori"} + # => {"_prefix_id":"shikimori:56885","_source":"shikimori"} + +Manga search includes MangaDex, whose IDs are UUID strings: + +.. code-block:: bash + + animedex search manga Berserk --limit 2 --source mangadex,shikimori --jq '.items[] | {_prefix_id, _source}' + # => {"_prefix_id":"mangadex:801513ba-a712-498c-8f57-cae55b38cc92","_source":"mangadex"} + # => {"_prefix_id":"mangadex:30196491-8fc2-4961-8886-a58f898b1b3e","_source":"mangadex"} + # => {"_prefix_id":"shikimori:2","_source":"shikimori"} + # => {"_prefix_id":"shikimori:92299","_source":"shikimori"} + +Publisher search is currently single-source because Shikimori is the only shipped backend with a publisher catalogue: + +.. code-block:: bash + + animedex search publisher Kodansha --limit 2 --json --jq '{sources: .sources, ids: [.items[]._prefix_id]}' + # => { + # "sources": {"shikimori": {"status": "ok", "items": 1, "reason": null, "message": null, "http_status": null, "duration_ms": 0}}, + # "ids": ["shikimori:456"] + # } + +Show from a prefixed ID +----------------------- + +Use the ``_prefix_id`` from search output as the second argument to ``show``. The type remains explicit because upstream ID spaces often reuse the same numeric ID for different entity kinds. + +.. code-block:: bash + + animedex show anime mal:52991 --jq '{title, score, status}' + # => { + # "title": "Sousou no Frieren", + # "score": 9.31, + # "status": "Finished Airing" + # } + + animedex show manga mangadex:801513ba-a712-498c-8f57-cae55b38cc92 --jq '{id, title: (.attributes.title.en // .attributes.title["ja-ro"]), status: .attributes.status}' + # => { + # "id": "801513ba-a712-498c-8f57-cae55b38cc92", + # "title": "Berserk", + # "status": "ongoing" + # } + + animedex show character shikimori:184947 --jq '{id, name}' + # => { + # "id": 184947, + # "name": "Frieren" + # } + +Prefix map +---------- + +================================ ======================================================================== +Prefix Backend and ID shape +================================ ======================================================================== +``anilist:154587`` AniList numeric ID +``mal:52991`` / ``jikan:52991`` Jikan over MyAnimeList numeric ID +``myanimelist:52991`` Long-form alias for ``mal:`` +``kitsu:46474`` Kitsu numeric ID +``shikimori:52991`` Shikimori numeric ID +``mangadex:`` MangaDex UUID +``ann:38838`` Anime News Network encyclopedia ID +``anidb:...`` Recognised as deferred until AniDB high-level helpers ship +================================ ======================================================================== + +Source availability by type +--------------------------- + +================================ ======================================================================== +Type Default sources +================================ ======================================================================== +``anime`` AniList, Anime News Network, Jikan, Kitsu, Shikimori +``manga`` AniList, Jikan, Kitsu, MangaDex, Shikimori +``character`` AniList, Jikan, Kitsu, Shikimori +``person`` AniList, Jikan, Kitsu, Shikimori +``studio`` AniList, Jikan, Kitsu, Shikimori +``publisher`` Shikimori +================================ ======================================================================== + +At capture time for this tutorial, the AniList typed ``Frieren`` anime search fixture returned an empty ``media`` list and Kitsu's free-text people endpoint returned an upstream ``400`` for the captured Miyazaki probe. The stable examples above therefore use the sources with captured positive rows, and those upstream observations are recorded as source availability notes rather than hidden by the aggregate layer. + +Failure-mode example +-------------------- + +This example is intentionally a failure-mode example. A failed source stays in the structured ``sources`` map and on stderr, while healthy sources still return rows. The command exits with status 0 when at least one selected source succeeds. + +.. code-block:: bash + + animedex search anime Frieren --source ann,jikan,kitsu,shikimori --limit 2 --json --jq '{items: [.items[]._source], sources: .sources}' + # stderr => source 'ann' failed: upstream-error: ann 503 on /api.xml; continuing with other sources + # => { + # "items": ["jikan", "jikan", "kitsu", "kitsu", "shikimori", "shikimori"], + # "sources": { + # "ann": {"status": "failed", "items": 0, "reason": "upstream-error", "message": "upstream-error: ann 503 on /api.xml", "http_status": 503, "duration_ms": 0}, + # "jikan": {"status": "ok", "items": 2, "reason": null, "message": null, "http_status": null, "duration_ms": 0}, + # "kitsu": {"status": "ok", "items": 2, "reason": null, "message": null, "http_status": null, "duration_ms": 0}, + # "shikimori": {"status": "ok", "items": 2, "reason": null, "message": null, "http_status": null, "duration_ms": 0} + # } + # } + +The :doc:`output_modes` page covers the JSON, TTY, and ``--jq`` projection rules used by both aggregate commands. diff --git a/test/agg/test_fanout.py b/test/agg/test_fanout.py index 87425c1..744baae 100644 --- a/test/agg/test_fanout.py +++ b/test/agg/test_fanout.py @@ -58,6 +58,67 @@ def test_empty_source_list_returns_empty_result(self): result = run_fanout([]) assert result.items == [] assert result.sources == {} + assert result.all_failed is False + + def test_collects_successes_and_failures_in_source_order(self): + from animedex.agg._fanout import FanoutSource, run_fanout + from animedex.models.common import ApiError + + result = run_fanout( + [ + FanoutSource("a", lambda: [{"_source": "a", "id": 1}]), + FanoutSource( + "b", + lambda: (_ for _ in ()).throw( + ApiError("backend b returned 503", backend="b", reason="upstream-error") + ), + ), + FanoutSource("c", lambda: [{"_source": "c", "id": 3}]), + ], + max_workers=1, + ) + + assert [item["_source"] for item in result.items] == ["a", "c"] + assert list(result.sources) == ["a", "b", "c"] + assert result.sources["a"].backend == "a" + assert result.sources["a"].status == "ok" + assert result.sources["b"].status == "failed" + assert result.sources["b"].http_status == 503 + assert result.sources["b"].reason == "upstream-error" + assert result.all_failed is False + + def test_all_failed_is_true_only_when_no_source_succeeds(self): + from animedex.agg._fanout import FanoutSource, run_fanout + from animedex.models.common import ApiError + + result = run_fanout( + [ + FanoutSource( + "a", lambda: (_ for _ in ()).throw(ApiError("a 503", backend="a", reason="upstream-error")) + ), + FanoutSource( + "b", lambda: (_ for _ in ()).throw(ApiError("b 503", backend="b", reason="upstream-error")) + ), + ], + max_workers=1, + ) + + assert result.items == [] + assert result.all_failed is True + assert set(result.failed_sources) == {"a", "b"} + + def test_source_allowlist_preserves_available_order(self): + from animedex.agg.search import _select_sources + + assert _select_sources(["anilist", "jikan", "kitsu"], "kitsu,anilist") == ["anilist", "kitsu"] + + def test_source_allowlist_rejects_unknown_names(self): + from animedex.agg.search import _select_sources + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="unknown source") as excinfo: + _select_sources(["anilist", "jikan"], "anilist,nope") + assert excinfo.value.reason == "bad-args" def test_selftest_runs(self): import animedex.agg._fanout as fanout diff --git a/test/agg/test_prefix_id.py b/test/agg/test_prefix_id.py new file mode 100644 index 0000000..74d2845 --- /dev/null +++ b/test/agg/test_prefix_id.py @@ -0,0 +1,87 @@ +"""Tests for aggregate prefix-encoded entity references.""" + +from __future__ import annotations + +import pytest + + +pytestmark = pytest.mark.unittest + + +class TestPrefixIds: + def test_known_prefixes_are_sorted_and_exclude_deferred_sources(self): + from animedex.agg._prefix_id import known_prefixes + + prefixes = tuple(known_prefixes()) + + assert prefixes == tuple(sorted(prefixes)) + assert "anilist" in prefixes + assert "anidb" not in prefixes + + def test_parse_supported_prefixes(self): + from animedex.agg._prefix_id import parse + + assert parse("anilist:154587").backend == "anilist" + assert parse("mal:52991").backend == "jikan" + assert parse("myanimelist:52991").backend == "jikan" + assert parse("mangadex:dc8bbc4c-eb7a-4d27-b96a-9aa8c8db4adb").backend == "mangadex" + + def test_rejects_missing_separator(self): + from animedex.agg._prefix_id import parse + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="entity reference must be prefix:id") as excinfo: + parse("anilist") + assert excinfo.value.reason == "bad-args" + + @pytest.mark.parametrize("value", [":154587", "anilist:"]) + def test_rejects_missing_prefix_or_id(self, value): + from animedex.agg._prefix_id import parse + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="entity reference must include both prefix and id") as excinfo: + parse(value) + assert excinfo.value.reason == "bad-args" + + def test_rejects_unknown_prefix(self): + from animedex.agg._prefix_id import parse + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="unknown prefix") as excinfo: + parse("badprefix:1") + assert excinfo.value.reason == "bad-args" + + def test_rejects_bad_numeric_id_before_http(self): + from animedex.agg._prefix_id import parse + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="ID is not numeric") as excinfo: + parse("anilist:abc") + assert excinfo.value.backend == "anilist" + assert excinfo.value.reason == "bad-args" + + def test_rejects_bad_mangadex_uuid_before_http(self): + from animedex.agg._prefix_id import parse + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="ID is not a MangaDex UUID") as excinfo: + parse("mangadex:not-a-uuid") + assert excinfo.value.backend == "mangadex" + assert excinfo.value.reason == "bad-args" + + def test_anidb_is_deferred_explicitly(self): + from animedex.agg._prefix_id import parse + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="AniDB high-level helpers are not shipped yet") as excinfo: + parse("anidb:42") + assert excinfo.value.backend == "anidb" + assert excinfo.value.reason == "auth-required" + + def test_prefix_for_backend(self): + from animedex.agg._prefix_id import prefix_for_backend + + assert prefix_for_backend("jikan", 52991) == "mal:52991" + assert prefix_for_backend("anilist", 154587) == "anilist:154587" + assert prefix_for_backend("unknown", 1) is None + assert prefix_for_backend("anilist", None) is None diff --git a/test/agg/test_search_show.py b/test/agg/test_search_show.py new file mode 100644 index 0000000..933ac65 --- /dev/null +++ b/test/agg/test_search_show.py @@ -0,0 +1,111 @@ +"""Tests for aggregate search/show Python API helpers.""" + +from __future__ import annotations + +import re +from pathlib import Path +from urllib.parse import urlsplit + +import pytest +import responses +import yaml + + +pytestmark = pytest.mark.unittest + +FIXTURES = Path(__file__).resolve().parents[2] / "test" / "fixtures" +_STRIP_HEADERS = {"content-encoding", "content-length", "transfer-encoding"} + + +@pytest.fixture +def fake_clock(monkeypatch): + """Freeze HTTP-adjacent clocks.""" + from datetime import datetime, timezone + + state = {"rl_now": 0.0, "cache_now": datetime(2026, 5, 11, tzinfo=timezone.utc)} + monkeypatch.setattr("animedex.transport.ratelimit._monotonic", lambda: state["rl_now"]) + monkeypatch.setattr( + "animedex.transport.ratelimit._sleep", + lambda s: state.update({"rl_now": state["rl_now"] + s}), + ) + monkeypatch.setattr("animedex.cache.sqlite._utcnow", lambda: state["cache_now"]) + return state + + +def _load_fixture(rel_path: str) -> dict: + return yaml.safe_load((FIXTURES / rel_path).read_text(encoding="utf-8")) + + +def _register_fixture_path_only(rsps: responses.RequestsMock, fixture: dict) -> None: + req = fixture["request"] + resp = fixture["response"] + parsed = urlsplit(req["url"]) + base = f"{parsed.scheme}://{parsed.netloc}{parsed.path}" + url_re = re.compile(re.escape(base) + r"(\?.*)?$") + headers = {k: v for k, v in (resp.get("headers") or {}).items() if k.lower() not in _STRIP_HEADERS} + kwargs = {"status": resp["status"], "headers": headers} + if resp.get("body_json") is not None: + kwargs["json"] = resp["body_json"] + elif resp.get("body_text") is not None: + kwargs["body"] = resp["body_text"] + elif resp.get("body_b64") is not None: + import base64 + + kwargs["body"] = base64.b64decode(resp["body_b64"]) + rsps.add(responses.Response(method=req["method"].upper(), url=url_re, **kwargs)) + + +class TestAggregateSearch: + def test_native_id_falls_back_to_plain_id_for_unknown_backend(self): + from animedex.agg.search import _native_id + + assert _native_id({"id": "mystery-1"}, "unknown") == "mystery-1" + + def test_annotates_plain_dict_rows_without_known_prefix(self): + from animedex.agg.search import _annotate_row + + row = _annotate_row({"id": "local-1", "title": "Local"}, "local") + + assert row == {"id": "local-1", "title": "Local", "_source": "local"} + assert "_prefix_id" not in row + + def test_annotates_real_rich_rows_with_source_and_prefix_id(self, fake_clock): + from animedex.agg.search import search + + fixture = _load_fixture("jikan/anime_search/17-frieren-tv-limit2.yaml") + with responses.RequestsMock() as rsps: + _register_fixture_path_only(rsps, fixture) + result = search("anime", "Frieren", limit=2, source="jikan", no_cache=True) + + assert result.sources["jikan"].status == "ok" + assert len(result.items) == 2 + assert result.items[0]._source == "jikan" + assert result.items[0]._prefix_id.startswith("mal:") + assert result.items[0].mal_id is not None + + def test_rejects_bad_limit(self): + from animedex.agg.search import search + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="limit must be >= 1") as excinfo: + search("anime", "Frieren", limit=0) + assert excinfo.value.reason == "bad-args" + + +class TestAggregateShow: + def test_rejects_unsupported_pair_before_http(self): + from animedex.agg.show import show + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="type 'publisher' is not supported by backend 'anilist'") as excinfo: + show("publisher", "anilist:1") + assert excinfo.value.reason == "bad-args" + + def test_deferred_anidb_prefix_is_typed(self): + from animedex.agg.show import show + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="AniDB high-level helpers are not shipped yet") as excinfo: + show("anime", "anidb:42") + assert excinfo.value.backend == "anidb" + assert excinfo.value.reason == "auth-required" diff --git a/test/agg/test_type_routes.py b/test/agg/test_type_routes.py new file mode 100644 index 0000000..d366ca8 --- /dev/null +++ b/test/agg/test_type_routes.py @@ -0,0 +1,63 @@ +"""Tests for aggregate entity type routing.""" + +from __future__ import annotations + +import pytest + + +pytestmark = pytest.mark.unittest + + +class TestTypeRoutes: + @pytest.mark.parametrize( + "entity_type,expected", + [ + ("anime", {"anilist", "ann", "jikan", "kitsu", "shikimori"}), + ("manga", {"anilist", "jikan", "kitsu", "mangadex", "shikimori"}), + ("character", {"anilist", "jikan", "kitsu", "shikimori"}), + ("person", {"anilist", "jikan", "kitsu", "shikimori"}), + ("studio", {"anilist", "jikan", "kitsu", "shikimori"}), + ("publisher", {"shikimori"}), + ], + ) + def test_search_backends_cover_supported_sources(self, entity_type, expected): + from animedex.agg._type_routes import backends_for_type + + assert set(backends_for_type(entity_type)) == expected + + def test_validate_entity_type_lists_supported_types(self): + from animedex.agg._type_routes import validate_entity_type + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="supported types: anime, manga, character, person, studio, publisher"): + validate_entity_type("badtype") + + def test_show_route_rejects_unsupported_pair_before_http(self): + from animedex.agg._type_routes import show_route_for + from animedex.models.common import ApiError + + with pytest.raises(ApiError, match="supported backends: shikimori") as excinfo: + show_route_for("publisher", "anilist") + assert excinfo.value.reason == "bad-args" + + def test_mangadex_show_route_uses_uuid_string_id(self): + from animedex.agg._type_routes import show_route_for + + route = show_route_for("manga", "mangadex") + + assert route.function_name == "show" + assert route.id_arg == "id" + + def test_filter_rows_keeps_rows_when_query_is_empty(self): + from animedex.agg._type_routes import _filter_rows + + rows = [{"title": "A"}, {"title": "B"}] + + assert _filter_rows(rows, "") is rows + + def test_filter_rows_matches_nested_list_values(self): + from animedex.agg._type_routes import _filter_rows + + rows = [{"title": "No match", "aliases": ["Sousou no Frieren"]}, {"title": "Other", "aliases": []}] + + assert _filter_rows(rows, "frieren") == [rows[0]] diff --git a/test/backends/anilist/test_python_api.py b/test/backends/anilist/test_python_api.py index 1a77645..7fd623f 100644 --- a/test/backends/anilist/test_python_api.py +++ b/test/backends/anilist/test_python_api.py @@ -84,6 +84,7 @@ def _register(rsps: responses.RequestsMock, fixture: dict) -> None: # (fixture_rel, fn, args, kwargs, expected_type_or_list) ("media/01-media-frieren.yaml", anilist_api.show, (154587,), {}, AnilistAnime), ("search/01-search-frieren.yaml", anilist_api.search, ("Frieren",), {"per_page": 5}, list), + ("graphql/28-manga-search-berserk.yaml", anilist_api.manga_search, ("Berserk",), {"per_page": 5}, list), ("character/01-character-edward-elric.yaml", anilist_api.character, (11,), {}, AnilistCharacter), ("staff/01-staff-101572.yaml", anilist_api.staff, (101572,), {}, AnilistStaff), ("studio/01-studio-madhouse.yaml", anilist_api.studio, (11,), {}, AnilistStudio), diff --git a/test/backends/kitsu/test_python_api.py b/test/backends/kitsu/test_python_api.py index 7c7934c..b5a344a 100644 --- a/test/backends/kitsu/test_python_api.py +++ b/test/backends/kitsu/test_python_api.py @@ -22,13 +22,16 @@ KitsuAnimeAttributes, KitsuCategory, KitsuCharacter, + KitsuCharacterAttributes, KitsuFranchise, KitsuGenre, KitsuManga, KitsuMangaAttributes, KitsuMapping, KitsuPerson, + KitsuPersonAttributes, KitsuProducer, + KitsuProducerAttributes, KitsuRelatedResource, KitsuStreamer, KitsuStreamingLinkAttributes, @@ -378,6 +381,28 @@ def test_model_projection_fallbacks(self): ).to_common() assert custom.provider == "video.example.invalid" + character = KitsuCharacter( + id="c", + attributes=KitsuCharacterAttributes( + name="Frieren", + names={"ja_jp": "Frieren Native"}, + otherNames=["Frieren the Slayer"], + image={"original": "https://img.example.invalid/frieren.png"}, + ), + ).to_common() + assert character.id == "kitsu:char:c" + assert character.name == "Frieren" + assert character.name_native == "Frieren Native" + assert character.image_url == "https://img.example.invalid/frieren.png" + + person = KitsuPerson(id="p", attributes=KitsuPersonAttributes(name="Hayao Miyazaki")).to_common() + assert person.id == "kitsu:person:p" + assert person.name == "Hayao Miyazaki" + + producer = KitsuProducer(id="g", attributes=KitsuProducerAttributes(name="Studio Ghibli")).to_common() + assert producer.id == "kitsu:producer:g" + assert producer.name == "Studio Ghibli" + # ---------- error paths ---------- diff --git a/test/backends/shikimori/test_python_api.py b/test/backends/shikimori/test_python_api.py index 932fb32..329cbca 100644 --- a/test/backends/shikimori/test_python_api.py +++ b/test/backends/shikimori/test_python_api.py @@ -359,6 +359,7 @@ def test_show_array_payload_raises_shape_error(self, fake_clock): (shiki_api.manga_show, "/api/mangas/2", 2), (shiki_api.ranobe_show, "/api/ranobe/23751", 23751), (shiki_api.club_show, "/api/clubs/1", 1), + (shiki_api.character, "/api/characters/184947", 184947), (shiki_api.person, "/api/people/1870", 1870), ], ) @@ -388,3 +389,25 @@ def test_object_list_payload_normalises_to_one_row(self, fake_clock): assert len(out) == 1 assert isinstance(out[0], ShikimoriAnime) + + def test_publisher_not_found_raises_typed_error(self, fake_clock): + from animedex.models.common import ApiError + + with responses.RequestsMock() as rsps: + _register(rsps, _load("publishers/01-all.yaml")) + with pytest.raises(ApiError) as ei: + shiki_api.publisher(999999999, no_cache=True) + + assert ei.value.backend == "shikimori" + assert ei.value.reason == "not-found" + + def test_studio_not_found_raises_typed_error(self, fake_clock): + from animedex.models.common import ApiError + + with responses.RequestsMock() as rsps: + _register(rsps, _load("studios/01-all.yaml")) + with pytest.raises(ApiError) as ei: + shiki_api.studio(999999999, no_cache=True) + + assert ei.value.backend == "shikimori" + assert ei.value.reason == "not-found" diff --git a/test/entry/test_search.py b/test/entry/test_search.py new file mode 100644 index 0000000..4dfed4b --- /dev/null +++ b/test/entry/test_search.py @@ -0,0 +1,259 @@ +"""CLI tests for the top-level ``animedex search`` command.""" + +from __future__ import annotations + +import json +import re +from pathlib import Path +from urllib.parse import urlsplit + +import pytest +import responses +import yaml + + +pytestmark = pytest.mark.unittest + +FIXTURES = Path(__file__).resolve().parents[2] / "test" / "fixtures" +_STRIP_HEADERS = {"content-encoding", "content-length", "transfer-encoding"} + + +@pytest.fixture +def cli_runner(): + import inspect + + from click.testing import CliRunner + + if "mix_stderr" in inspect.signature(CliRunner).parameters: + return CliRunner(mix_stderr=False) + return CliRunner() + + +@pytest.fixture +def cli(): + from animedex.entry import animedex_cli + + return animedex_cli + + +@pytest.fixture +def force_tty(monkeypatch): + import click.testing + + monkeypatch.setattr(click.testing._NamedTextIOWrapper, "isatty", lambda self: True, raising=False) + + +@pytest.fixture +def fake_clock(monkeypatch): + """Freeze HTTP-adjacent clocks.""" + from datetime import datetime, timezone + + state = {"rl_now": 0.0, "cache_now": datetime(2026, 5, 11, tzinfo=timezone.utc)} + monkeypatch.setattr("animedex.transport.ratelimit._monotonic", lambda: state["rl_now"]) + monkeypatch.setattr( + "animedex.transport.ratelimit._sleep", + lambda s: state.update({"rl_now": state["rl_now"] + s}), + ) + monkeypatch.setattr("animedex.cache.sqlite._utcnow", lambda: state["cache_now"]) + return state + + +def _load_fixture(rel_path: str) -> dict: + return yaml.safe_load((FIXTURES / rel_path).read_text(encoding="utf-8")) + + +def _register_fixture_path_only(rsps: responses.RequestsMock, fixture: dict) -> None: + req = fixture["request"] + resp = fixture["response"] + parsed = urlsplit(req["url"]) + base = f"{parsed.scheme}://{parsed.netloc}{parsed.path}" + url_re = re.compile(re.escape(base) + r"(\?.*)?$") + headers = {k: v for k, v in (resp.get("headers") or {}).items() if k.lower() not in _STRIP_HEADERS} + kwargs = {"status": resp["status"], "headers": headers} + if resp.get("body_json") is not None: + kwargs["json"] = resp["body_json"] + elif resp.get("body_text") is not None: + kwargs["body"] = resp["body_text"] + elif resp.get("body_b64") is not None: + import base64 + + kwargs["body"] = base64.b64decode(resp["body_b64"]) + rsps.add(responses.Response(method=req["method"].upper(), url=url_re, **kwargs)) + + +def _register_many(rsps: responses.RequestsMock, fixture_rels: list[str]) -> None: + for rel in fixture_rels: + _register_fixture_path_only(rsps, _load_fixture(rel)) + + +def _combined_output(result) -> str: + try: + stderr = result.stderr + except ValueError: + stderr = "" + return result.output + stderr + + +ANIME_SEARCH_FIXTURES = [ + "anilist/search/01-search-frieren.yaml", + "ann/substring_search/01-frieren.yaml", + "jikan/anime_search/17-frieren-tv-limit2.yaml", + "kitsu/anime_search/17-frieren-limit2.yaml", + "shikimori/animes_search/17-frieren-limit2.yaml", +] + + +class TestSearchCli: + def test_help_lists_types_sources_and_examples(self, cli_runner, cli): + result = cli_runner.invoke(cli, ["search", "--help"]) + + assert result.exit_code == 0, result.output + for entity_type in ("anime", "manga", "character", "person", "studio", "publisher"): + assert entity_type in result.output + assert f"animedex search {entity_type} " in result.output + for expected in ( + "Searches AniList anime media, ANN anime reports", + "Jikan anime, Kitsu anime, and Shikimori anime.", + "Searches AniList manga media, Jikan manga", + "Kitsu manga, MangaDex manga, and Shikimori manga.", + "Searches AniList characters, Jikan characters", + "Kitsu characters, and Shikimori characters.", + "Searches AniList staff", + "Jikan people, Kitsu people, and Shikimori people.", + "Searches AniList", + "studios, Jikan producers, Kitsu producers, and Shikimori studios.", + "Kitsu and Shikimori are fetched as catalogue lists and filtered locally.", + "Searches Shikimori publishers.", + "catalogue is fetched and filtered locally.", + ): + assert expected in result.output + assert "Use --source with the backend names listed for a type" in result.output + + def test_anime_search_json_reports_every_source(self, cli_runner, cli, fake_clock): + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: + _register_many(rsps, ANIME_SEARCH_FIXTURES) + result = cli_runner.invoke(cli, ["search", "anime", "Frieren", "--limit", "5", "--json", "--no-cache"]) + + assert result.exit_code == 0, result.output + decoded = json.loads(result.output) + assert set(decoded["sources"]) == {"anilist", "ann", "jikan", "kitsu", "shikimori"} + assert {row["_source"] for row in decoded["items"]} >= {"anilist", "ann", "jikan", "kitsu", "shikimori"} + assert all("_prefix_id" in row for row in decoded["items"]) + assert decoded["_meta"]["sources_consulted"] == ["anilist", "ann", "jikan", "kitsu", "shikimori"] + + def test_default_tty_renders_compact_rows(self, cli_runner, cli, fake_clock, force_tty): + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: + _register_many(rsps, ANIME_SEARCH_FIXTURES) + result = cli_runner.invoke(cli, ["search", "anime", "Frieren", "--limit", "5", "--no-cache"]) + + assert result.exit_code == 0, result.output + assert "Aggregate results" in result.output + assert "[src: anilist]" in result.output + assert "[src: jikan]" in result.output + assert "anilist:" in result.output + assert not result.output.lstrip().startswith("{") + + def test_source_allowlist_limits_fanout(self, cli_runner, cli, fake_clock): + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: + _register_many( + rsps, + [ + "anilist/search/01-search-frieren.yaml", + "jikan/anime_search/17-frieren-tv-limit2.yaml", + ], + ) + result = cli_runner.invoke( + cli, + ["search", "anime", "Frieren", "--limit", "2", "--source", "anilist,jikan", "--json", "--no-cache"], + ) + + assert result.exit_code == 0, result.output + decoded = json.loads(result.output) + assert set(decoded["sources"]) == {"anilist", "jikan"} + assert {row["_source"] for row in decoded["items"]} <= {"anilist", "jikan"} + + @pytest.mark.parametrize( + "entity_type,query,source,fixture_rel", + [ + ("manga", "Berserk", "mangadex", "mangadex/manga_search/01-berserk.yaml"), + ("character", "Frieren", "shikimori", "shikimori/characters_search/02-frieren-limit2.yaml"), + ("person", "Miyazaki", "shikimori", "shikimori/people_search/02-miyazaki-limit2.yaml"), + ("studio", "Ghibli", "kitsu", "kitsu/producers/02-ghibli-limit2.yaml"), + ("publisher", "Kodansha", "shikimori", "shikimori/publishers/03-kodansha-limit1000.yaml"), + ], + ) + def test_type_source_combinations_use_real_fixtures( + self, cli_runner, cli, fake_clock, entity_type, query, source, fixture_rel + ): + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: + _register_fixture_path_only(rsps, _load_fixture(fixture_rel)) + result = cli_runner.invoke( + cli, + ["search", entity_type, query, "--limit", "2", "--source", source, "--json", "--no-cache"], + ) + + assert result.exit_code == 0, result.output + decoded = json.loads(result.output) + assert set(decoded["sources"]) == {source} + assert decoded["sources"][source]["status"] == "ok" + assert all(row["_source"] == source for row in decoded["items"]) + + def test_partial_failure_keeps_healthy_sources_and_reports_stderr(self, cli_runner, cli, fake_clock): + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: + _register_many( + rsps, + [ + "ann/substring_search/17-synthetic-503.yaml", + "jikan/anime_search/17-frieren-tv-limit2.yaml", + "kitsu/anime_search/17-frieren-limit2.yaml", + "shikimori/animes_search/17-frieren-limit2.yaml", + ], + ) + result = cli_runner.invoke( + cli, + [ + "search", + "anime", + "Frieren", + "--limit", + "2", + "--source", + "ann,jikan,kitsu,shikimori", + "--json", + "--no-cache", + ], + ) + + assert result.exit_code == 0, result.output + assert "source 'ann' failed" in result.stderr + decoded = json.loads(result.stdout) + assert decoded["sources"]["ann"]["status"] == "failed" + assert decoded["sources"]["ann"]["http_status"] == 503 + assert {row["_source"] for row in decoded["items"]} == {"jikan", "kitsu", "shikimori"} + + def test_total_failure_exits_nonzero_with_empty_envelope(self, cli_runner, cli, fake_clock): + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: + _register_fixture_path_only(rsps, _load_fixture("ann/substring_search/17-synthetic-503.yaml")) + result = cli_runner.invoke( + cli, + ["search", "anime", "Frieren", "--source", "ann", "--json", "--no-cache"], + ) + + assert result.exit_code == 1, result.output + decoded = json.loads(result.stdout) + assert decoded["items"] == [] + assert decoded["sources"]["ann"]["status"] == "failed" + + def test_bad_type_is_clean_click_error(self, cli_runner, cli): + result = cli_runner.invoke(cli, ["search", "badtype", "x", "--json", "--no-cache"]) + + assert result.exit_code != 0 + output = _combined_output(result) + assert "unknown type" in output + assert "supported types" in output + + def test_missing_type_uses_click_argument_error(self, cli_runner, cli): + result = cli_runner.invoke(cli, ["search"]) + + assert result.exit_code != 0 + assert "Missing argument 'TYPE'" in _combined_output(result) diff --git a/test/entry/test_show.py b/test/entry/test_show.py new file mode 100644 index 0000000..3920556 --- /dev/null +++ b/test/entry/test_show.py @@ -0,0 +1,158 @@ +"""CLI tests for the top-level ``animedex show`` command.""" + +from __future__ import annotations + +import json +import re +from pathlib import Path +from urllib.parse import urlsplit + +import pytest +import responses +import yaml + + +pytestmark = pytest.mark.unittest + +FIXTURES = Path(__file__).resolve().parents[2] / "test" / "fixtures" +_STRIP_HEADERS = {"content-encoding", "content-length", "transfer-encoding"} + + +@pytest.fixture +def cli_runner(): + import inspect + + from click.testing import CliRunner + + if "mix_stderr" in inspect.signature(CliRunner).parameters: + return CliRunner(mix_stderr=False) + return CliRunner() + + +@pytest.fixture +def cli(): + from animedex.entry import animedex_cli + + return animedex_cli + + +@pytest.fixture +def force_tty(monkeypatch): + import click.testing + + monkeypatch.setattr(click.testing._NamedTextIOWrapper, "isatty", lambda self: True, raising=False) + + +@pytest.fixture +def fake_clock(monkeypatch): + """Freeze HTTP-adjacent clocks.""" + from datetime import datetime, timezone + + state = {"rl_now": 0.0, "cache_now": datetime(2026, 5, 11, tzinfo=timezone.utc)} + monkeypatch.setattr("animedex.transport.ratelimit._monotonic", lambda: state["rl_now"]) + monkeypatch.setattr( + "animedex.transport.ratelimit._sleep", + lambda s: state.update({"rl_now": state["rl_now"] + s}), + ) + monkeypatch.setattr("animedex.cache.sqlite._utcnow", lambda: state["cache_now"]) + return state + + +def _load_fixture(rel_path: str) -> dict: + return yaml.safe_load((FIXTURES / rel_path).read_text(encoding="utf-8")) + + +def _register_fixture_path_only(rsps: responses.RequestsMock, fixture: dict) -> None: + req = fixture["request"] + resp = fixture["response"] + parsed = urlsplit(req["url"]) + base = f"{parsed.scheme}://{parsed.netloc}{parsed.path}" + url_re = re.compile(re.escape(base) + r"(\?.*)?$") + headers = {k: v for k, v in (resp.get("headers") or {}).items() if k.lower() not in _STRIP_HEADERS} + kwargs = {"status": resp["status"], "headers": headers} + if resp.get("body_json") is not None: + kwargs["json"] = resp["body_json"] + elif resp.get("body_text") is not None: + kwargs["body"] = resp["body_text"] + elif resp.get("body_b64") is not None: + import base64 + + kwargs["body"] = base64.b64decode(resp["body_b64"]) + rsps.add(responses.Response(method=req["method"].upper(), url=url_re, **kwargs)) + + +def _combined_output(result) -> str: + try: + stderr = result.stderr + except ValueError: + stderr = "" + return result.output + stderr + + +class TestShowCli: + @pytest.mark.parametrize( + "argv,fixture_rel,expected_backend", + [ + (["show", "anime", "anilist:154587"], "anilist/media/01-media-frieren.yaml", "anilist"), + (["show", "anime", "mal:52991"], "jikan/anime_full/01-frieren-52991.yaml", "jikan"), + (["show", "anime", "jikan:52991"], "jikan/anime_full/01-frieren-52991.yaml", "jikan"), + ( + ["show", "manga", "mangadex:801513ba-a712-498c-8f57-cae55b38cc92"], + "mangadex/manga_by_id/02-berserk.yaml", + "mangadex", + ), + ( + ["show", "character", "shikimori:184947"], + "shikimori/characters_by_id/01-frieren-184947.yaml", + "shikimori", + ), + (["show", "person", "shikimori:1870"], "shikimori/people_by_id/01-hayao-miyazaki-1870.yaml", "shikimori"), + (["show", "studio", "shikimori:2"], "shikimori/studios/02-all-limit-1000.yaml", "shikimori"), + (["show", "publisher", "shikimori:16"], "shikimori/publishers/02-all-limit-1000.yaml", "shikimori"), + ], + ) + def test_show_json_routes_prefixes_to_backends( + self, cli_runner, cli, fake_clock, argv, fixture_rel, expected_backend + ): + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: + _register_fixture_path_only(rsps, _load_fixture(fixture_rel)) + result = cli_runner.invoke(cli, [*argv, "--json", "--no-cache"]) + + assert result.exit_code == 0, result.output + decoded = json.loads(result.output) + assert expected_backend in decoded["_meta"]["sources_consulted"] + + def test_show_default_tty_renders_source_marker(self, cli_runner, cli, fake_clock, force_tty): + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: + _register_fixture_path_only(rsps, _load_fixture("jikan/anime_full/01-frieren-52991.yaml")) + result = cli_runner.invoke(cli, ["show", "anime", "mal:52991", "--no-cache"]) + + assert result.exit_code == 0, result.output + assert "[src: jikan]" in result.output + assert "Frieren" in result.output + assert not result.output.lstrip().startswith("{") + + @pytest.mark.parametrize( + "argv,expected", + [ + (["show", "publisher", "anilist:1"], "type 'publisher' is not supported by backend 'anilist'"), + (["show", "anime", "badprefix:1"], "unknown prefix"), + (["show", "anime", "anidb:42"], "AniDB high-level helpers are not shipped yet"), + (["show", "anime", "anilist:abc"], "ID is not numeric for backend 'anilist'"), + ], + ) + def test_show_rejects_invalid_references_before_http(self, cli_runner, cli, argv, expected): + with responses.RequestsMock(assert_all_requests_are_fired=True) as rsps: + result = cli_runner.invoke(cli, [*argv, "--json", "--no-cache"]) + + assert len(rsps.calls) == 0 + assert result.exit_code != 0 + assert expected in _combined_output(result) + + def test_upstream_error_propagates_cleanly(self, cli_runner, cli, fake_clock): + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: + _register_fixture_path_only(rsps, _load_fixture("jikan/anime_full_errors/01-upstream-error.yaml")) + result = cli_runner.invoke(cli, ["show", "anime", "mal:9999999999", "--json", "--no-cache"]) + + assert result.exit_code != 0 + assert "upstream-error" in result.output or "upstream-error" in result.stderr diff --git a/test/fixtures/anilist/graphql/23-search-frieren-type-anime.yaml b/test/fixtures/anilist/graphql/23-search-frieren-type-anime.yaml new file mode 100644 index 0000000..731d076 --- /dev/null +++ b/test/fixtures/anilist/graphql/23-search-frieren-type-anime.yaml @@ -0,0 +1,57 @@ +metadata: + captured_at: '2026-05-11T08:09:34Z' + label: search-frieren-type-anime + backend: anilist + path_slug: graphql +request: + method: POST + url: https://graphql.anilist.co/ + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: + query: 'query ($q: String, $page: Int, $perPage: Int, $type: MediaType) { Page(page: $page, perPage: $perPage) { pageInfo + { total currentPage hasNextPage perPage } media(search: $q, type: $type, sort: SEARCH_MATCH) { id idMal title { romaji + english native } type format status episodes season seasonYear averageScore popularity isAdult coverImage { large color + } } } }' + variables: + q: Frieren + page: 1 + perPage: 2 + type: ANIME + raw_body_b64: null +response: + status: 200 + headers: + Date: Mon, 11 May 2026 08:09:33 GMT + Content-Type: application/json + Transfer-Encoding: chunked + Connection: keep-alive + Server: cloudflare + Nel: + Cache-Control: no-cache, private + X-RateLimit-Limit: '30' + X-RateLimit-Remaining: '29' + Set-Cookie: + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: 1; mode=block + X-Content-Type-Options: nosniff + Access-Control-Allow-Origin: '*' + Access-Control-Allow-Methods: GET, POST, OPTIONS + Access-Control-Allow-Headers: Authorization,Accept,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range + Access-Control-Expose-Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Content-Length, Content-Range + cf-cache-status: DYNAMIC + Report-To: + Content-Encoding: gzip + CF-RAY: + body_json: + data: + Page: + pageInfo: + total: 0 + currentPage: 1 + hasNextPage: false + perPage: 2 + media: [] + body_text: null + body_b64: null diff --git a/test/fixtures/anilist/graphql/24-search-berserk-type-manga.yaml b/test/fixtures/anilist/graphql/24-search-berserk-type-manga.yaml new file mode 100644 index 0000000..44a5593 --- /dev/null +++ b/test/fixtures/anilist/graphql/24-search-berserk-type-manga.yaml @@ -0,0 +1,57 @@ +metadata: + captured_at: '2026-05-11T08:09:34Z' + label: search-berserk-type-manga + backend: anilist + path_slug: graphql +request: + method: POST + url: https://graphql.anilist.co/ + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: + query: 'query ($q: String, $page: Int, $perPage: Int, $type: MediaType) { Page(page: $page, perPage: $perPage) { pageInfo + { total currentPage hasNextPage perPage } media(search: $q, type: $type, sort: SEARCH_MATCH) { id idMal title { romaji + english native } type format status episodes season seasonYear averageScore popularity isAdult coverImage { large color + } } } }' + variables: + q: Berserk + page: 1 + perPage: 2 + type: MANGA + raw_body_b64: null +response: + status: 200 + headers: + Date: Mon, 11 May 2026 08:09:34 GMT + Content-Type: application/json + Transfer-Encoding: chunked + Connection: keep-alive + Server: cloudflare + Nel: + Cache-Control: no-cache, private + X-RateLimit-Limit: '30' + X-RateLimit-Remaining: '28' + Set-Cookie: + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: 1; mode=block + X-Content-Type-Options: nosniff + Access-Control-Allow-Origin: '*' + Access-Control-Allow-Methods: GET, POST, OPTIONS + Access-Control-Allow-Headers: Authorization,Accept,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range + Access-Control-Expose-Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Content-Length, Content-Range + cf-cache-status: DYNAMIC + Report-To: + Content-Encoding: gzip + CF-RAY: + body_json: + data: + Page: + pageInfo: + total: 0 + currentPage: 1 + hasNextPage: false + perPage: 2 + media: [] + body_text: null + body_b64: null diff --git a/test/fixtures/anilist/graphql/25-character-search-frieren.yaml b/test/fixtures/anilist/graphql/25-character-search-frieren.yaml new file mode 100644 index 0000000..b235ebc --- /dev/null +++ b/test/fixtures/anilist/graphql/25-character-search-frieren.yaml @@ -0,0 +1,50 @@ +metadata: + captured_at: '2026-05-11T08:09:36Z' + label: character-search-frieren + backend: anilist + path_slug: graphql +request: + method: POST + url: https://graphql.anilist.co/ + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: + query: 'query ($q: String, $perPage: Int) { Page(page: 1, perPage: $perPage) { pageInfo { total } characters(search: $q, + sort: FAVOURITES_DESC) { id name { full native alternative } image { large medium } gender favourites } } }' + variables: + q: Frieren + perPage: 2 + raw_body_b64: null +response: + status: 200 + headers: + Date: Mon, 11 May 2026 08:09:36 GMT + Content-Type: application/json + Transfer-Encoding: chunked + Connection: keep-alive + Server: cloudflare + Nel: + Cache-Control: no-cache, private + X-RateLimit-Limit: '30' + X-RateLimit-Remaining: '27' + Set-Cookie: + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: 1; mode=block + X-Content-Type-Options: nosniff + Access-Control-Allow-Origin: '*' + Access-Control-Allow-Methods: GET, POST, OPTIONS + Access-Control-Allow-Headers: Authorization,Accept,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range + Access-Control-Expose-Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Content-Length, Content-Range + cf-cache-status: DYNAMIC + Report-To: + Content-Encoding: gzip + CF-RAY: + body_json: + data: + Page: + pageInfo: + total: 0 + characters: [] + body_text: null + body_b64: null diff --git a/test/fixtures/anilist/graphql/26-staff-search-yamada.yaml b/test/fixtures/anilist/graphql/26-staff-search-yamada.yaml new file mode 100644 index 0000000..643e1c7 --- /dev/null +++ b/test/fixtures/anilist/graphql/26-staff-search-yamada.yaml @@ -0,0 +1,50 @@ +metadata: + captured_at: '2026-05-11T08:09:36Z' + label: staff-search-yamada + backend: anilist + path_slug: graphql +request: + method: POST + url: https://graphql.anilist.co/ + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: + query: 'query ($q: String, $perPage: Int) { Page(page: 1, perPage: $perPage) { pageInfo { total } staff(search: $q, sort: + FAVOURITES_DESC) { id name { full native alternative } primaryOccupations image { large medium } } } }' + variables: + q: Yamada + perPage: 2 + raw_body_b64: null +response: + status: 200 + headers: + Date: Mon, 11 May 2026 08:09:36 GMT + Content-Type: application/json + Transfer-Encoding: chunked + Connection: keep-alive + Server: cloudflare + Nel: + Cache-Control: no-cache, private + X-RateLimit-Limit: '30' + X-RateLimit-Remaining: '26' + Set-Cookie: + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: 1; mode=block + X-Content-Type-Options: nosniff + Access-Control-Allow-Origin: '*' + Access-Control-Allow-Methods: GET, POST, OPTIONS + Access-Control-Allow-Headers: Authorization,Accept,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range + Access-Control-Expose-Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Content-Length, Content-Range + cf-cache-status: DYNAMIC + Report-To: + Content-Encoding: gzip + CF-RAY: + body_json: + data: + Page: + pageInfo: + total: 0 + staff: [] + body_text: null + body_b64: null diff --git a/test/fixtures/anilist/graphql/27-studio-search-madhouse.yaml b/test/fixtures/anilist/graphql/27-studio-search-madhouse.yaml new file mode 100644 index 0000000..79d5478 --- /dev/null +++ b/test/fixtures/anilist/graphql/27-studio-search-madhouse.yaml @@ -0,0 +1,50 @@ +metadata: + captured_at: '2026-05-11T08:09:37Z' + label: studio-search-madhouse + backend: anilist + path_slug: graphql +request: + method: POST + url: https://graphql.anilist.co/ + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: + query: 'query ($q: String, $perPage: Int) { Page(page: 1, perPage: $perPage) { pageInfo { total } studios(search: $q) + { id name isAnimationStudio } } }' + variables: + q: Madhouse + perPage: 2 + raw_body_b64: null +response: + status: 200 + headers: + Date: Mon, 11 May 2026 08:09:37 GMT + Content-Type: application/json + Transfer-Encoding: chunked + Connection: keep-alive + Server: cloudflare + Nel: + Cache-Control: no-cache, private + X-RateLimit-Limit: '30' + X-RateLimit-Remaining: '25' + Set-Cookie: + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: 1; mode=block + X-Content-Type-Options: nosniff + Access-Control-Allow-Origin: '*' + Access-Control-Allow-Methods: GET, POST, OPTIONS + Access-Control-Allow-Headers: Authorization,Accept,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range + Access-Control-Expose-Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Content-Length, Content-Range + cf-cache-status: DYNAMIC + Report-To: + Content-Encoding: gzip + CF-RAY: + body_json: + data: + Page: + pageInfo: + total: 0 + studios: [] + body_text: null + body_b64: null diff --git a/test/fixtures/anilist/graphql/28-manga-search-berserk.yaml b/test/fixtures/anilist/graphql/28-manga-search-berserk.yaml new file mode 100644 index 0000000..0b84c4e --- /dev/null +++ b/test/fixtures/anilist/graphql/28-manga-search-berserk.yaml @@ -0,0 +1,57 @@ +metadata: + captured_at: '2026-05-11T08:09:37Z' + label: manga-search-berserk + backend: anilist + path_slug: graphql +request: + method: POST + url: https://graphql.anilist.co/ + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: + query: 'query ($q: String, $page: Int, $perPage: Int, $type: MediaType) { Page(page: $page, perPage: $perPage) { pageInfo + { total currentPage hasNextPage perPage } media(search: $q, type: $type, sort: SEARCH_MATCH) { id idMal title { romaji + english native } type format status episodes season seasonYear averageScore popularity isAdult coverImage { large color + } } } }' + variables: + q: Berserk + page: 1 + perPage: 2 + type: MANGA + raw_body_b64: null +response: + status: 200 + headers: + Date: Mon, 11 May 2026 08:09:37 GMT + Content-Type: application/json + Transfer-Encoding: chunked + Connection: keep-alive + Server: cloudflare + Nel: + Cache-Control: no-cache, private + X-RateLimit-Limit: '30' + X-RateLimit-Remaining: '24' + Set-Cookie: + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: 1; mode=block + X-Content-Type-Options: nosniff + Access-Control-Allow-Origin: '*' + Access-Control-Allow-Methods: GET, POST, OPTIONS + Access-Control-Allow-Headers: Authorization,Accept,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range + Access-Control-Expose-Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, Content-Length, Content-Range + cf-cache-status: DYNAMIC + Report-To: + Content-Encoding: gzip + CF-RAY: + body_json: + data: + Page: + pageInfo: + total: 0 + currentPage: 1 + hasNextPage: false + perPage: 2 + media: [] + body_text: null + body_b64: null diff --git a/test/fixtures/anilist/search/01-search-frieren.yaml b/test/fixtures/anilist/search/01-search-frieren.yaml index ca22ffa..0e7aa84 100644 --- a/test/fixtures/anilist/search/01-search-frieren.yaml +++ b/test/fixtures/anilist/search/01-search-frieren.yaml @@ -11,23 +11,12 @@ request: User-Agent: animedex/0.0.1 params: null json_body: - query: |- - query ($q: String, $page: Int, $perPage: Int) { - Page(page: $page, perPage: $perPage) { - pageInfo { total currentPage hasNextPage perPage } - media(search: $q, type: ANIME, sort: SEARCH_MATCH) { - id idMal - title { romaji english native } - type format status episodes - season seasonYear averageScore popularity isAdult - coverImage { large color } - } - } - } + query: "query ($q: String, $page: Int, $perPage: Int, $type: MediaType) {\n Page(page: $page, perPage: $perPage) {\n pageInfo { total currentPage hasNextPage perPage }\n media(search: $q, type: $type, sort: SEARCH_MATCH) {\n id idMal\n title { romaji english native }\n type format status episodes\n season seasonYear averageScore popularity isAdult\n coverImage { large color }\n }\n }\n}" variables: q: Frieren page: 1 perPage: 5 + type: ANIME raw_body_b64: null response: status: 200 diff --git a/test/fixtures/ann/substring_search/17-synthetic-503.yaml b/test/fixtures/ann/substring_search/17-synthetic-503.yaml new file mode 100644 index 0000000..332272c --- /dev/null +++ b/test/fixtures/ann/substring_search/17-synthetic-503.yaml @@ -0,0 +1,21 @@ +metadata: + captured_at: '2026-05-11T07:30:00Z' + label: synthetic-503 + backend: ann + path_slug: substring_search + synthetic: true +request: + method: GET + url: https://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=~Frieren + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 503 + headers: + Content-Type: text/xml;charset=UTF-8 + body_json: null + body_text: 'synthetic unavailable' + body_b64: null diff --git a/test/fixtures/jikan/anime_full_errors/01-upstream-error.yaml b/test/fixtures/jikan/anime_full_errors/01-upstream-error.yaml new file mode 100644 index 0000000..5afaf26 --- /dev/null +++ b/test/fixtures/jikan/anime_full_errors/01-upstream-error.yaml @@ -0,0 +1,36 @@ +metadata: + captured_at: '2026-05-11T10:08:00Z' + label: upstream-error + backend: jikan + path_slug: anime_full_errors + synthetic: true +request: + method: GET + url: https://api.jikan.moe/v4/anime/9999999999/full + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 500 + headers: + Server: nginx/1.24.0 + Date: Thu, 07 May 2026 11:02:19 GMT + Content-Type: application/json + Transfer-Encoding: chunked + Connection: keep-alive + Cache-Control: must-revalidate, private + pragma: no-cache + expires: '-1' + access-control-allow-origin: '*' + Content-Encoding: gzip + Vary: Accept-Encoding + body_json: + status: 500 + type: UpstreamException + message: Request to MyAnimeList.net failed. MyAnimeList.net may be down/unavailable, refuses to connect or took too long + to respond. Please try again later. + error: Unsupported response code in HTTP response for "https://myanimelist.net/anime/9999999999/". + body_text: null + body_b64: null diff --git a/test/fixtures/jikan/anime_search/17-frieren-tv-limit2.yaml b/test/fixtures/jikan/anime_search/17-frieren-tv-limit2.yaml new file mode 100644 index 0000000..55828c8 --- /dev/null +++ b/test/fixtures/jikan/anime_search/17-frieren-tv-limit2.yaml @@ -0,0 +1,229 @@ +metadata: + captured_at: '2026-05-11T08:09:38Z' + label: frieren-tv-limit2 + backend: jikan + path_slug: anime_search +request: + method: GET + url: https://api.jikan.moe/v4/anime?q=Frieren&limit=2&page=1 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: nginx/1.24.0 + Date: Mon, 11 May 2026 08:09:38 GMT + Content-Type: application/json + Transfer-Encoding: chunked + Connection: keep-alive + Cache-Control: must-revalidate, private + pragma: no-cache + expires: '-1' + access-control-allow-origin: '*' + Content-Encoding: gzip + Vary: Accept-Encoding + X-Cache-Status: HIT + X-Powered-By: the-power-of-friendship + body_json: + pagination: + last_visible_page: 4 + has_next_page: true + current_page: 1 + items: + count: 2 + total: 8 + per_page: 2 + data: + - mal_id: 63816 + url: https://myanimelist.net/anime/63816/Sousou_no_Frieren__Ougonkyou-hen + images: + jpg: + image_url: https://myanimelist.net/images/anime/1619/156313.jpg + small_image_url: https://myanimelist.net/images/anime/1619/156313t.jpg + large_image_url: https://myanimelist.net/images/anime/1619/156313l.jpg + webp: + image_url: https://myanimelist.net/images/anime/1619/156313.webp + small_image_url: https://myanimelist.net/images/anime/1619/156313t.webp + large_image_url: https://myanimelist.net/images/anime/1619/156313l.webp + trailer: + youtube_id: null + url: null + embed_url: null + images: + image_url: null + small_image_url: null + medium_image_url: null + large_image_url: null + maximum_image_url: null + approved: true + titles: + - type: Default + title: 'Sousou no Frieren: Ougonkyou-hen' + - type: Synonym + title: Frieren at the Funeral Season 3 + - type: Japanese + title: 葬送のフリーレン 黄金郷編 + - type: English + title: 'Frieren: Beyond Journey''s End - Golden Land Arc' + title: 'Sousou no Frieren: Ougonkyou-hen' + title_english: 'Frieren: Beyond Journey''s End - Golden Land Arc' + title_japanese: 葬送のフリーレン 黄金郷編 + title_synonyms: + - Frieren at the Funeral Season 3 + type: TV + source: Manga + episodes: null + status: Not yet aired + airing: false + aired: + from: '2027-10-01T00:00:00+00:00' + to: null + prop: + from: + day: 1 + month: 10 + year: 2027 + to: + day: null + month: null + year: null + string: Oct 2027 to ? + duration: Unknown + rating: PG-13 - Teens 13 or older + score: null + scored_by: null + rank: null + popularity: 2750 + members: 80389 + favorites: 178 + synopsis: Third season of Sousou no Frieren. + background: '' + season: fall + year: 2027 + broadcast: + day: null + time: null + timezone: null + string: Unknown + producers: [] + licensors: [] + studios: [] + genres: + - mal_id: 2 + type: anime + name: Adventure + url: https://myanimelist.net/anime/genre/2/Adventure + - mal_id: 8 + type: anime + name: Drama + url: https://myanimelist.net/anime/genre/8/Drama + - mal_id: 10 + type: anime + name: Fantasy + url: https://myanimelist.net/anime/genre/10/Fantasy + explicit_genres: [] + themes: [] + demographics: + - mal_id: 27 + type: anime + name: Shounen + url: https://myanimelist.net/anime/genre/27/Shounen + - mal_id: 63816 + url: https://myanimelist.net/anime/63816/Sousou_no_Frieren__Ougonkyou-hen + images: + jpg: + image_url: https://myanimelist.net/images/anime/1619/156313.jpg + small_image_url: https://myanimelist.net/images/anime/1619/156313t.jpg + large_image_url: https://myanimelist.net/images/anime/1619/156313l.jpg + webp: + image_url: https://myanimelist.net/images/anime/1619/156313.webp + small_image_url: https://myanimelist.net/images/anime/1619/156313t.webp + large_image_url: https://myanimelist.net/images/anime/1619/156313l.webp + trailer: + youtube_id: null + url: null + embed_url: null + images: + image_url: null + small_image_url: null + medium_image_url: null + large_image_url: null + maximum_image_url: null + approved: true + titles: + - type: Default + title: 'Sousou no Frieren: Ougonkyou-hen' + - type: Synonym + title: Frieren at the Funeral Season 3 + - type: Japanese + title: 葬送のフリーレン 黄金郷編 + - type: English + title: 'Frieren: Beyond Journey''s End - Golden Land Arc' + title: 'Sousou no Frieren: Ougonkyou-hen' + title_english: 'Frieren: Beyond Journey''s End - Golden Land Arc' + title_japanese: 葬送のフリーレン 黄金郷編 + title_synonyms: + - Frieren at the Funeral Season 3 + type: TV + source: Manga + episodes: null + status: Not yet aired + airing: false + aired: + from: '2027-10-01T00:00:00+00:00' + to: null + prop: + from: + day: 1 + month: 10 + year: 2027 + to: + day: null + month: null + year: null + string: Oct 2027 to ? + duration: Unknown + rating: PG-13 - Teens 13 or older + score: null + scored_by: null + rank: null + popularity: 2750 + members: 80389 + favorites: 178 + synopsis: Third season of Sousou no Frieren. + background: '' + season: fall + year: 2027 + broadcast: + day: null + time: null + timezone: null + string: Unknown + producers: [] + licensors: [] + studios: [] + genres: + - mal_id: 2 + type: anime + name: Adventure + url: https://myanimelist.net/anime/genre/2/Adventure + - mal_id: 8 + type: anime + name: Drama + url: https://myanimelist.net/anime/genre/8/Drama + - mal_id: 10 + type: anime + name: Fantasy + url: https://myanimelist.net/anime/genre/10/Fantasy + explicit_genres: [] + themes: [] + demographics: + - mal_id: 27 + type: anime + name: Shounen + url: https://myanimelist.net/anime/genre/27/Shounen + body_text: null + body_b64: null diff --git a/test/fixtures/jikan/characters_search/02-frieren-limit2.yaml b/test/fixtures/jikan/characters_search/02-frieren-limit2.yaml new file mode 100644 index 0000000..7f5bdb9 --- /dev/null +++ b/test/fixtures/jikan/characters_search/02-frieren-limit2.yaml @@ -0,0 +1,81 @@ +metadata: + captured_at: '2026-05-11T08:09:40Z' + label: frieren-limit2 + backend: jikan + path_slug: characters_search +request: + method: GET + url: https://api.jikan.moe/v4/characters?q=Frieren&limit=2&page=1 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: nginx/1.24.0 + Date: Mon, 11 May 2026 08:09:39 GMT + Content-Type: application/json + Transfer-Encoding: chunked + Connection: keep-alive + Cache-Control: must-revalidate, private + pragma: no-cache + expires: '-1' + access-control-allow-origin: '*' + Content-Encoding: gzip + Vary: Accept-Encoding + X-Cache-Status: HIT + X-Powered-By: the-power-of-friendship + body_json: + pagination: + last_visible_page: 8 + has_next_page: true + current_page: 1 + items: + count: 2 + total: 15 + per_page: 2 + data: + - mal_id: 184947 + url: https://myanimelist.net/character/184947/Frieren + images: + jpg: + image_url: https://myanimelist.net/images/characters/7/525105.jpg + webp: + image_url: https://myanimelist.net/images/characters/7/525105.webp + small_image_url: https://myanimelist.net/images/characters/7/525105t.webp + name: Frieren + name_kanji: フリーレン + nicknames: + - Frieren the Slayer + favorites: 31697 + about: |- + Frieren was a mage in Hero Himmel's party. They travelled along with Priest Heiter and Warrior Eisen in a ten-year journey to defeat the Demon King. She was the last member to be recruited to the party and, despite Heiter's initial impression of her mana being average, Himmel had a hunch she was the most powerful mage he had ever met. + + Being an elf that has lived for over a thousand years, Frieren has a hard time forming meaningful relationships with humans because of the difference in their lifespans and how they perceive the passage of time. This generally manifests itself as laziness, since missing an important event is of no importance as she will have plenty of opportunities to relive it in the future, or as a nearly sociopathic inability to comprehend human's feelings. For instance, she tends to not notice how her lack of impatience or cold statements can affect humans around her. Her party members have also frequently stated that they can't comprehend her feelings or read what goes on in her head. + + Despite being an extremely powerful mage, Frieren has the habit of collecting rare and daily usage centered magic, like magic that can polish a bronze statue or make flowers bloom. She always asks for a grimoire as a reward even if she already knows its contents or when it comes to The Great Mage Flamme's lost grimoires knows they are fakes. + + After the deaths of Hero Himmel and Priest Heiter, Frieren decided she wants to learn more about humans. She is currently traveling with Fern her pupil who was a war refugee left in her care by Priest Heiter in a quest to Ende, the place where souls reside in the northernmost tip of the continent and where the Demon King's Castle was built to try and speak to Himmel's soul. In her new journey, Frieren visits many places her old party travelled through in the past and relives memories, slowly understanding more about their meaning and her feelings. + + Ironically, Fern is generally the one to take care of Frieren in daily activities despite being far younger. + + + (Source: Frieren: Beyond Journey's End Wiki) + - mal_id: 239233 + url: https://myanimelist.net/character/239233/Reid_Frieden + images: + jpg: + image_url: https://myanimelist.net/img/sp/icon/apple-touch-icon-256.png + webp: + image_url: https://myanimelist.net/img/sp/icon/apple-touch-icon-256.png + small_image_url: https://myanimelist.net/img/sp/icon/apple-touch-icon-256.png + name: Reid Frieden + name_kanji: null + nicknames: + - Hero + favorites: 0 + about: null + body_text: null + body_b64: null diff --git a/test/fixtures/jikan/people_search/02-miyazaki-limit2.yaml b/test/fixtures/jikan/people_search/02-miyazaki-limit2.yaml new file mode 100644 index 0000000..b89c541 --- /dev/null +++ b/test/fixtures/jikan/people_search/02-miyazaki-limit2.yaml @@ -0,0 +1,75 @@ +metadata: + captured_at: '2026-05-11T08:09:41Z' + label: miyazaki-limit2 + backend: jikan + path_slug: people_search +request: + method: GET + url: https://api.jikan.moe/v4/people?q=Miyazaki&limit=2&page=1 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: nginx/1.24.0 + Date: Mon, 11 May 2026 08:09:41 GMT + Content-Type: application/json + Transfer-Encoding: chunked + Connection: keep-alive + Cache-Control: must-revalidate, private + pragma: no-cache + expires: '-1' + access-control-allow-origin: '*' + Content-Encoding: gzip + Vary: Accept-Encoding + X-Cache-Status: HIT + X-Powered-By: the-power-of-friendship + body_json: + pagination: + last_visible_page: 32 + has_next_page: true + current_page: 1 + items: + count: 2 + total: 64 + per_page: 2 + data: + - mal_id: 92944 + url: https://myanimelist.net/people/92944/Erika_Miyazaki + website_url: null + images: + jpg: + image_url: https://myanimelist.net/images/voiceactors/1/88722.jpg + name: Erika Miyazaki + given_name: 恵里花 + family_name: 宮崎 + alternate_names: [] + birthday: null + favorites: 1 + about: |- + Birthplace: Chiba Prefecture + Hobby: Cleaning, aerobic exercise, reading manga + Special Skills: good at shopping + + She is a voice actress affiliated with M&I. + + Twitter: @_miyazaki_erika + Profile: Mand-i + - mal_id: 92149 + url: https://myanimelist.net/people/92149/Maho_Miyazaki + website_url: null + images: + jpg: + image_url: https://myanimelist.net/img/sp/icon/apple-touch-icon-256.png + name: Maho Miyazaki + given_name: 真帆 + family_name: 宮崎 + alternate_names: [] + birthday: null + favorites: 0 + about: null + body_text: null + body_b64: null diff --git a/test/fixtures/jikan/producers_search/02-aniplex-limit2.yaml b/test/fixtures/jikan/producers_search/02-aniplex-limit2.yaml new file mode 100644 index 0000000..b8e975a --- /dev/null +++ b/test/fixtures/jikan/producers_search/02-aniplex-limit2.yaml @@ -0,0 +1,76 @@ +metadata: + captured_at: '2026-05-11T08:09:42Z' + label: aniplex-limit2 + backend: jikan + path_slug: producers_search +request: + method: GET + url: https://api.jikan.moe/v4/producers?q=Aniplex&limit=2&page=1 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: nginx/1.24.0 + Date: Mon, 11 May 2026 08:09:42 GMT + Content-Type: application/json + Transfer-Encoding: chunked + Connection: keep-alive + Cache-Control: must-revalidate, private + pragma: no-cache + expires: '-1' + access-control-allow-origin: '*' + Content-Encoding: gzip + Vary: Accept-Encoding + X-Cache-Status: HIT + X-Powered-By: the-power-of-friendship + body_json: + pagination: + last_visible_page: 1 + has_next_page: false + current_page: 1 + items: + count: 2 + total: 2 + per_page: 2 + data: + - mal_id: 493 + url: https://myanimelist.net/anime/producer/493/Aniplex_of_America + titles: + - type: Default + title: Aniplex of America + - type: Japanese + title: Aniplex of America + images: + jpg: + image_url: https://cdn.myanimelist.net/s/common/company_logos/837c71b2-7f72-45b6-a962-4b2f8a6c44d4_600x600_i?s=6d8d6b7a16f67790ca739fc0c97e6aa7 + favorites: 354 + established: '2005-03-01T00:00:00+00:00' + about: |- + Aniplex of America, or Aniplex USA, is an anime distributor based in Santa Monica, California that serves as the American distribution enterprise of Aniplex, an entertainment company owned by Sony Music Entertainment Japan, where its goal is to reinforce the parent company's licensing business in the North American market. + + On May 6, 2025, Aniplex of America announced its arrival in Latin American territory through social media. + count: 274 + - mal_id: 17 + url: https://myanimelist.net/anime/producer/17/Aniplex + titles: + - type: Default + title: Aniplex + - type: Japanese + title: アニプレックス + images: + jpg: + image_url: https://cdn.myanimelist.net/s/common/company_logos/ba2241ea-7f83-45b6-9360-1f1d4de0d65a_600x600_i?s=369f1423117062ab3c7f4c7a90b2005a + favorites: 4498 + established: '1995-09-01T00:00:00+00:00' + about: |- + Aniplex is a diversified entertainment company operating worldwide with focus on the planning and production of anime video and music content, its distribution in theaters and broadcast syndication as well as their respective physical and digital products, development of related game apps and merchandise such as figurines and apparel, stage production of musicals and live events, and operating the digital store "Aniplex Online" which provides hand-picked items for sale. + Aniplex' fully-owned subsidiaries include the anime production A-1 Pictures, mobile game app developer Quatro A, and Aniplex of America which leads the animation business outside of Japan. + + (Source: Official Website) + count: 694 + body_text: null + body_b64: null diff --git a/test/fixtures/kitsu/anime_search/17-frieren-limit2.yaml b/test/fixtures/kitsu/anime_search/17-frieren-limit2.yaml new file mode 100644 index 0000000..48cdd3f --- /dev/null +++ b/test/fixtures/kitsu/anime_search/17-frieren-limit2.yaml @@ -0,0 +1,384 @@ +metadata: + captured_at: '2026-05-11T08:09:43Z' + label: frieren-limit2 + backend: kitsu + path_slug: anime_search +request: + method: GET + url: https://kitsu.io/api/edge/anime?filter[text]=Frieren&page[limit]=2&page[offset]=0 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Date: Mon, 11 May 2026 08:09:43 GMT + Content-Type: application/vnd.api+json + Transfer-Encoding: chunked + Connection: keep-alive + alt-svc: h3=":443"; ma=86400 + Cache-Control: max-age=0, private, must-revalidate + etag: W/"7ddb9efc64d58b379a1e3e808d2b4ca5" + referrer-policy: strict-origin-when-cross-origin + Server: cloudflare + strict-transport-security: max-age=31536000; preload + vary: Accept, Origin + x-content-type-options: nosniff + x-download-options: noopen + x-frame-options: SAMEORIGIN + x-permitted-cross-domain-policies: none + x-request-id: 7c6b53b8-fe22-440a-856d-2198bd07c541 + x-runtime: '0.068377' + x-xss-protection: 1; mode=block + Nel: + cf-cache-status: DYNAMIC + Report-To: + Content-Encoding: gzip + CF-RAY: + body_json: + data: + - id: '46474' + type: anime + links: + self: https://kitsu.io/api/edge/anime/46474 + attributes: + createdAt: '2022-09-13T05:36:19.002Z' + updatedAt: '2026-05-11T06:00:11.341Z' + slug: sousou-no-frieren + synopsis: |- + After the party of heroes defeated the Demon King, they restored peace to the land and returned to lives of solitude. Generations pass, and the elven mage Frieren comes face to face with humanity’s mortality. She takes on a new apprentice and promises to fulfill old friends’ dying wishes. Can an elven mind make peace with the nature of life and death? Frieren embarks on her quest to find out. + + (Source: Crunchyroll) + description: |- + After the party of heroes defeated the Demon King, they restored peace to the land and returned to lives of solitude. Generations pass, and the elven mage Frieren comes face to face with humanity’s mortality. She takes on a new apprentice and promises to fulfill old friends’ dying wishes. Can an elven mind make peace with the nature of life and death? Frieren embarks on her quest to find out. + + (Source: Crunchyroll) + coverImageTopOffset: 0 + titles: + en: 'Frieren: Beyond Journey’s End' + en_jp: Sousou no Frieren + it_it: 'Frieren: Oltre la Fine del Viaggio' + ja_jp: 葬送のフリーレン + ko_kr: 장송의 프리렌 + pt_br: Frieren e a Jornada para o Além + th_th: คำอธิษฐานในวันที่จากลา Frieren + zh_cn: 葬送的芙莉蓮 + canonicalTitle: Sousou no Frieren + abbreviatedTitles: + - Frieren at the Funeral + averageRating: '88.76' + ratingFrequencies: + '2': '188' + '3': '2' + '4': '13' + '5': '1' + '6': '16' + '7': '5' + '8': '269' + '9': '3' + '10': '44' + '11': '10' + '12': '77' + '13': '16' + '14': '720' + '15': '84' + '16': '638' + '17': '291' + '18': '1416' + '19': '420' + '20': '5061' + userCount: 19980 + favoritesCount: 676 + startDate: '2023-09-29' + endDate: '2024-03-22' + nextRelease: null + popularityRank: 835 + ratingRank: 2 + ageRating: PG + ageRatingGuide: Teens 13 or Older + subtype: TV + status: finished + tba: null + posterImage: + tiny: https://media.kitsu.app/anime/46474/poster_image/tiny-f77201d59d7f322510e3d28bc1930e29.jpeg + large: https://media.kitsu.app/anime/46474/poster_image/large-ec9b98dd5fbf8f92532d1edb45f9e882.jpeg + small: https://media.kitsu.app/anime/46474/poster_image/small-2dc1165f5acd773939c7befb0949d258.jpeg + medium: https://media.kitsu.app/anime/46474/poster_image/medium-23e1293e41a0b54b6621eb589c3f0d62.jpeg + original: https://media.kitsu.app/anime/46474/poster_image/99d7df09d8cb9360b1e02825372ce612.jpg + meta: + dimensions: + tiny: + width: 110 + height: 156 + large: + width: 550 + height: 780 + small: + width: 284 + height: 402 + medium: + width: 390 + height: 554 + coverImage: + tiny: https://media.kitsu.app/anime/46474/cover_image/tiny-dccb49f6ea01f1fc1f93b10b6bc2608c.jpeg + large: https://media.kitsu.app/anime/46474/cover_image/large-167edf3e01fac59ce6aacfeb47df5634.jpeg + small: https://media.kitsu.app/anime/46474/cover_image/small-2467fb0c4f1283988febe4abd715a9b8.jpeg + original: https://media.kitsu.app/anime/46474/cover_image/883c308356a4db76a9c0af900ada96ed.jpg + meta: + dimensions: + tiny: + width: 840 + height: 200 + large: + width: 3360 + height: 800 + small: + width: 1680 + height: 400 + episodeCount: 28 + episodeLength: 24 + totalLength: null + youtubeVideoId: qgQunxD0qCk + showType: TV + nsfw: false + relationships: + genres: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/genres + related: https://kitsu.io/api/edge/anime/46474/genres + categories: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/categories + related: https://kitsu.io/api/edge/anime/46474/categories + castings: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/castings + related: https://kitsu.io/api/edge/anime/46474/castings + installments: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/installments + related: https://kitsu.io/api/edge/anime/46474/installments + mappings: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/mappings + related: https://kitsu.io/api/edge/anime/46474/mappings + reviews: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/reviews + related: https://kitsu.io/api/edge/anime/46474/reviews + mediaRelationships: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/media-relationships + related: https://kitsu.io/api/edge/anime/46474/media-relationships + characters: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/characters + related: https://kitsu.io/api/edge/anime/46474/characters + staff: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/staff + related: https://kitsu.io/api/edge/anime/46474/staff + productions: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/productions + related: https://kitsu.io/api/edge/anime/46474/productions + quotes: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/quotes + related: https://kitsu.io/api/edge/anime/46474/quotes + episodes: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/episodes + related: https://kitsu.io/api/edge/anime/46474/episodes + streamingLinks: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/streaming-links + related: https://kitsu.io/api/edge/anime/46474/streaming-links + animeProductions: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/anime-productions + related: https://kitsu.io/api/edge/anime/46474/anime-productions + animeCharacters: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/anime-characters + related: https://kitsu.io/api/edge/anime/46474/anime-characters + animeStaff: + links: + self: https://kitsu.io/api/edge/anime/46474/relationships/anime-staff + related: https://kitsu.io/api/edge/anime/46474/anime-staff + - id: '49240' + type: anime + links: + self: https://kitsu.io/api/edge/anime/49240 + attributes: + createdAt: '2024-09-28T11:58:04.596Z' + updatedAt: '2026-05-11T06:00:11.341Z' + slug: sousou-no-frieren-season-2 + synopsis: |- + The second season of Sousou no Frieren. + + On the road to Ende, Frieren confronts past bonds and rising threats with her newfound party. + + (Source: Anime News Network) + description: |- + The second season of Sousou no Frieren. + + On the road to Ende, Frieren confronts past bonds and rising threats with her newfound party. + + (Source: Anime News Network) + coverImageTopOffset: 0 + titles: + en: 'Frieren: Beyond Journey''s End Season 2' + en_jp: Sousou no Frieren 2nd Season + ja_jp: 葬送のフリーレン 第2期 + canonicalTitle: Sousou no Frieren 2nd Season + abbreviatedTitles: [] + averageRating: '88.62' + ratingFrequencies: + '2': '4' + '3': '0' + '4': '0' + '5': '0' + '6': '0' + '8': '16' + '9': '1' + '10': '5' + '11': '1' + '12': '14' + '13': '3' + '14': '135' + '15': '24' + '16': '169' + '17': '76' + '18': '256' + '19': '89' + '20': '591' + userCount: 4959 + favoritesCount: 46 + startDate: '2026-01-16' + endDate: '2026-03-27' + nextRelease: null + popularityRank: 2740 + ratingRank: 3 + ageRating: PG + ageRatingGuide: Teens 13 or older + subtype: TV + status: finished + tba: null + posterImage: + tiny: https://media.kitsu.app/anime/49240/poster_image/tiny-d582a7d749477be01b03196f9f3dfffd.jpeg + large: https://media.kitsu.app/anime/49240/poster_image/large-5f1824cd76b6e829012dc75a2f51ec44.jpeg + small: https://media.kitsu.app/anime/49240/poster_image/small-b61dd0c91bf0152cb8275e9dc481cd2e.jpeg + medium: https://media.kitsu.app/anime/49240/poster_image/medium-cf744f274c2064efd1abfef4ecdfbd6d.jpeg + original: https://media.kitsu.app/anime/49240/poster_image/127830b1fbf80dd13a604998ef10d12c.jpg + meta: + dimensions: + tiny: + width: 110 + height: 156 + large: + width: 550 + height: 780 + small: + width: 284 + height: 402 + medium: + width: 390 + height: 554 + coverImage: + tiny: https://media.kitsu.app/anime/49240/cover_image/tiny-be18b34b7b503ca5a9df332544a066f0.jpeg + large: https://media.kitsu.app/anime/49240/cover_image/large-11304d969375d3e40cddbcb495725826.jpeg + small: https://media.kitsu.app/anime/49240/cover_image/small-17e5a4a0627fe0cccdd309f6fb515ceb.jpeg + original: https://media.kitsu.app/anime/49240/cover_image/b3d01e59bb588122c6c8691880aa3b1b.jpg + meta: + dimensions: + tiny: + width: 840 + height: 200 + large: + width: 3360 + height: 800 + small: + width: 1680 + height: 400 + episodeCount: 10 + episodeLength: 24 + totalLength: 0 + youtubeVideoId: RH-FcW94z00 + showType: TV + nsfw: false + relationships: + genres: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/genres + related: https://kitsu.io/api/edge/anime/49240/genres + categories: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/categories + related: https://kitsu.io/api/edge/anime/49240/categories + castings: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/castings + related: https://kitsu.io/api/edge/anime/49240/castings + installments: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/installments + related: https://kitsu.io/api/edge/anime/49240/installments + mappings: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/mappings + related: https://kitsu.io/api/edge/anime/49240/mappings + reviews: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/reviews + related: https://kitsu.io/api/edge/anime/49240/reviews + mediaRelationships: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/media-relationships + related: https://kitsu.io/api/edge/anime/49240/media-relationships + characters: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/characters + related: https://kitsu.io/api/edge/anime/49240/characters + staff: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/staff + related: https://kitsu.io/api/edge/anime/49240/staff + productions: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/productions + related: https://kitsu.io/api/edge/anime/49240/productions + quotes: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/quotes + related: https://kitsu.io/api/edge/anime/49240/quotes + episodes: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/episodes + related: https://kitsu.io/api/edge/anime/49240/episodes + streamingLinks: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/streaming-links + related: https://kitsu.io/api/edge/anime/49240/streaming-links + animeProductions: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/anime-productions + related: https://kitsu.io/api/edge/anime/49240/anime-productions + animeCharacters: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/anime-characters + related: https://kitsu.io/api/edge/anime/49240/anime-characters + animeStaff: + links: + self: https://kitsu.io/api/edge/anime/49240/relationships/anime-staff + related: https://kitsu.io/api/edge/anime/49240/anime-staff + meta: + count: 6 + links: + first: https://kitsu.io/api/edge/anime?filter%5Btext%5D=Frieren&page%5Blimit%5D=2&page%5Boffset%5D=0 + next: https://kitsu.io/api/edge/anime?filter%5Btext%5D=Frieren&page%5Blimit%5D=2&page%5Boffset%5D=2 + last: https://kitsu.io/api/edge/anime?filter%5Btext%5D=Frieren&page%5Blimit%5D=2&page%5Boffset%5D=4 + body_text: null + body_b64: null diff --git a/test/fixtures/kitsu/characters/02-frieren-limit2.yaml b/test/fixtures/kitsu/characters/02-frieren-limit2.yaml new file mode 100644 index 0000000..48afb69 --- /dev/null +++ b/test/fixtures/kitsu/characters/02-frieren-limit2.yaml @@ -0,0 +1,158 @@ +metadata: + captured_at: '2026-05-11T08:09:44Z' + label: frieren-limit2 + backend: kitsu + path_slug: characters +request: + method: GET + url: https://kitsu.io/api/edge/characters?filter[name]=Frieren&page[limit]=2&page[offset]=0 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Date: Mon, 11 May 2026 08:09:44 GMT + Content-Type: application/vnd.api+json + Transfer-Encoding: chunked + Connection: keep-alive + alt-svc: h3=":443"; ma=86400 + Cache-Control: max-age=0, private, must-revalidate + etag: W/"229593e178c38ed1c41a43c5506ecbf9" + referrer-policy: strict-origin-when-cross-origin + Server: cloudflare + strict-transport-security: max-age=31536000; preload + vary: Accept, Origin + x-content-type-options: nosniff + x-download-options: noopen + x-frame-options: SAMEORIGIN + x-permitted-cross-domain-policies: none + x-request-id: a44c0f6a-aad0-4ab0-85f0-c86e16c7ce6d + x-runtime: '0.071051' + x-xss-protection: 1; mode=block + Nel: + cf-cache-status: DYNAMIC + Report-To: + Content-Encoding: gzip + CF-RAY: + body_json: + data: + - id: '85849' + type: characters + links: + self: https://kitsu.io/api/edge/characters/85849 + attributes: + createdAt: '2017-01-22T11:30:37.242Z' + updatedAt: '2021-09-27T19:55:30.510Z' + slug: freezen + names: + en: Freezen + ja_jp: フリーズン + canonicalName: Freezen + otherNames: [] + name: Freezen + malId: 92093 + description: '' + image: + tiny: https://media.kitsu.app/character/85849/image/tiny-1901d28f3065cb3297a84d69841355fc.jpeg + large: https://media.kitsu.app/character/85849/image/large-8b56f32c21e94a847a998952678f00f0.jpeg + small: https://media.kitsu.app/character/85849/image/small-60aad7a29212e205037b6dcfba9cb327.jpeg + medium: https://media.kitsu.app/character/85849/image/medium-c922633dbeb67981153cf51907fcd378.jpeg + original: https://media.kitsu.app/characters/images/85849/original.jpg + meta: + dimensions: + tiny: + width: 100 + height: 120 + large: + width: 500 + height: 600 + small: + width: 200 + height: 240 + medium: + width: 300 + height: 360 + relationships: + primaryMedia: + links: + self: https://kitsu.io/api/edge/characters/85849/relationships/primary-media + related: https://kitsu.io/api/edge/characters/85849/primary-media + castings: + links: + self: https://kitsu.io/api/edge/characters/85849/relationships/castings + related: https://kitsu.io/api/edge/characters/85849/castings + mediaCharacters: + links: + self: https://kitsu.io/api/edge/characters/85849/relationships/media-characters + related: https://kitsu.io/api/edge/characters/85849/media-characters + quotes: + links: + self: https://kitsu.io/api/edge/characters/85849/relationships/quotes + related: https://kitsu.io/api/edge/characters/85849/quotes + - id: '50095' + type: characters + links: + self: https://kitsu.io/api/edge/characters/50095 + attributes: + createdAt: '2014-07-31T19:39:55.232Z' + updatedAt: '2021-09-26T19:28:04.702Z' + slug: frivelen + names: + en: Frivelen + ja_jp: null + canonicalName: Frivelen + otherNames: + - Goblin of the Brave Horn Clan + name: Frivelen + malId: 55485 + description: A prideful women who usually appears as a luck charm and transforms into her true form when there is + danger. In truth shes a goblin, but would rather hide this fact due to the goblin's reputation of being weak, she + wants others to view her as a strong being. + image: + tiny: https://media.kitsu.app/character/50095/image/tiny-88353f922edf6168a71fd1fb26adbe2f.jpeg + large: https://media.kitsu.app/character/50095/image/large-1481c3aa4a58cffd4fc46d5503f700c1.jpeg + small: https://media.kitsu.app/character/50095/image/small-0b3b27072d95f0923197e3271ae0da39.jpeg + medium: https://media.kitsu.app/character/50095/image/medium-9f9042713340d5f645a423675f856d66.jpeg + original: https://media.kitsu.app/characters/images/50095/original.jpg + meta: + dimensions: + tiny: + width: 100 + height: 120 + large: + width: 500 + height: 600 + small: + width: 200 + height: 240 + medium: + width: 300 + height: 360 + relationships: + primaryMedia: + links: + self: https://kitsu.io/api/edge/characters/50095/relationships/primary-media + related: https://kitsu.io/api/edge/characters/50095/primary-media + castings: + links: + self: https://kitsu.io/api/edge/characters/50095/relationships/castings + related: https://kitsu.io/api/edge/characters/50095/castings + mediaCharacters: + links: + self: https://kitsu.io/api/edge/characters/50095/relationships/media-characters + related: https://kitsu.io/api/edge/characters/50095/media-characters + quotes: + links: + self: https://kitsu.io/api/edge/characters/50095/relationships/quotes + related: https://kitsu.io/api/edge/characters/50095/quotes + meta: + count: 23 + links: + first: https://kitsu.io/api/edge/characters?filter%5Bname%5D=Frieren&page%5Blimit%5D=2&page%5Boffset%5D=0 + next: https://kitsu.io/api/edge/characters?filter%5Bname%5D=Frieren&page%5Blimit%5D=2&page%5Boffset%5D=2 + last: https://kitsu.io/api/edge/characters?filter%5Bname%5D=Frieren&page%5Blimit%5D=2&page%5Boffset%5D=21 + body_text: null + body_b64: null diff --git a/test/fixtures/kitsu/manga_search/02-berserk-limit2.yaml b/test/fixtures/kitsu/manga_search/02-berserk-limit2.yaml new file mode 100644 index 0000000..3d20119 --- /dev/null +++ b/test/fixtures/kitsu/manga_search/02-berserk-limit2.yaml @@ -0,0 +1,366 @@ +metadata: + captured_at: '2026-05-11T08:09:44Z' + label: berserk-limit2 + backend: kitsu + path_slug: manga_search +request: + method: GET + url: https://kitsu.io/api/edge/manga?filter[text]=Berserk&page[limit]=2&page[offset]=0 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Date: Mon, 11 May 2026 08:09:44 GMT + Content-Type: application/vnd.api+json + Transfer-Encoding: chunked + Connection: keep-alive + alt-svc: h3=":443"; ma=86400 + Cache-Control: max-age=0, private, must-revalidate + etag: W/"0f441d8b210482828a3f8a041f00bcd5" + referrer-policy: strict-origin-when-cross-origin + Server: cloudflare + strict-transport-security: max-age=31536000; preload + vary: Accept, Origin + x-content-type-options: nosniff + x-download-options: noopen + x-frame-options: SAMEORIGIN + x-permitted-cross-domain-policies: none + x-request-id: 0e0d2f87-aabf-49b0-b200-36f0d2e0fd82 + x-runtime: '0.082306' + x-xss-protection: 1; mode=block + Nel: + cf-cache-status: DYNAMIC + Report-To: + Content-Encoding: gzip + CF-RAY: + body_json: + data: + - id: '8' + type: manga + links: + self: https://kitsu.io/api/edge/manga/8 + attributes: + createdAt: '2013-12-18T13:48:25.461Z' + updatedAt: '2026-05-11T06:00:24.252Z' + slug: berserk + synopsis: |- + His name is Guts, the Black Swordsman, a feared warrior spoken of only in whispers. Bearer of a gigantic sword, an iron hand, and the scars of countless battles and tortures, his flesh is also indelibly marked with The Brand, an unholy symbol that draws the forces of darkness to him and dooms him as their sacrifice. But Guts won't take his fate lying down; he'll cut a crimson swath of carnage through the ranks of the damned—and anyone else foolish enough to oppose him! Accompanied by Puck the Elf, more an annoyance than a companion, Guts relentlessly follows a dark, bloodstained path that leads only to death...or vengeance. + + (Source: Dark Horse) + + Notes: + - Volumes 1-5 contain the 16 prequel chapters 0A - 0P. + - Chapter 83 was omitted from Volume 13 due to the author’s request. + - Volume 14 includes “Berserk: The Prototype”. + - Due to the author's passing, starting from Chapter 365, the manga is illustrated by Studio Gaga (Miura's assistants) and supervised by Kouji Mori (a close friend of Miura's). + description: |- + His name is Guts, the Black Swordsman, a feared warrior spoken of only in whispers. Bearer of a gigantic sword, an iron hand, and the scars of countless battles and tortures, his flesh is also indelibly marked with The Brand, an unholy symbol that draws the forces of darkness to him and dooms him as their sacrifice. But Guts won't take his fate lying down; he'll cut a crimson swath of carnage through the ranks of the damned—and anyone else foolish enough to oppose him! Accompanied by Puck the Elf, more an annoyance than a companion, Guts relentlessly follows a dark, bloodstained path that leads only to death...or vengeance. + + (Source: Dark Horse) + + Notes: + - Volumes 1-5 contain the 16 prequel chapters 0A - 0P. + - Chapter 83 was omitted from Volume 13 due to the author’s request. + - Volume 14 includes “Berserk: The Prototype”. + - Due to the author's passing, starting from Chapter 365, the manga is illustrated by Studio Gaga (Miura's assistants) and supervised by Kouji Mori (a close friend of Miura's). + coverImageTopOffset: 200 + titles: + en: Berserk + en_jp: Berserk + en_us: Berserk + ja_jp: ベルセルク + canonicalTitle: Berserk + abbreviatedTitles: + - 'Berserk: The Prototype' + averageRating: '84.88' + ratingFrequencies: + '2': '1721' + '3': '26' + '4': '54' + '5': '25' + '6': '47' + '7': '12' + '8': '1163' + '9': '13' + '10': '110' + '11': '29' + '12': '204' + '13': '40' + '14': '2095' + '15': '85' + '16': '1295' + '17': '277' + '18': '2532' + '19': '456' + '20': '15196' + userCount: 57904 + favoritesCount: 3989 + startDate: '1989-08-25' + endDate: null + nextRelease: null + popularityRank: 17 + ratingRank: 6 + ageRating: R + ageRatingGuide: Horror + subtype: manga + status: current + tba: null + posterImage: + tiny: https://media.kitsu.app/manga/8/poster_image/tiny-ad1df8a063d11baf9fda08160deffc00.jpeg + large: https://media.kitsu.app/manga/8/poster_image/large-f598ed525107bcb69ebda5bf36c6910d.jpeg + small: https://media.kitsu.app/manga/8/poster_image/small-bdf7be96b4337627856b36e0be0241fb.jpeg + medium: https://media.kitsu.app/manga/8/poster_image/medium-8edd6ddb0c6ec34a54521487ee81fb02.jpeg + original: https://media.kitsu.app/manga/8/poster_image/67d602c20d1bf0eeb43e1a363c59ed5b.jpg + meta: + dimensions: + tiny: + width: 110 + height: 156 + large: + width: 550 + height: 780 + small: + width: 284 + height: 402 + medium: + width: 390 + height: 554 + coverImage: + tiny: https://media.kitsu.app/manga/8/cover_image/tiny-a61e4ae3c11698a65c0ecdd6cd3e86bd.gif + large: https://media.kitsu.app/manga/8/cover_image/large-d976a1baf3051d321608d4ebb7da4220.gif + small: https://media.kitsu.app/manga/8/cover_image/small-dd96d5ac1412ccabb1bcca3fe89747f5.gif + tiny_webp: https://media.kitsu.app/manga/8/cover_image/tiny_webp-90fec06d293be542b08f362b457bce04.webp + large_webp: https://media.kitsu.app/manga/8/cover_image/large_webp-e735c50a70351a02998742aa8f1424a6.webp + small_webp: https://media.kitsu.app/manga/8/cover_image/small_webp-645e5266280fa6c4032f54823eb6413a.webp + original: https://media.kitsu.app/manga/cover_images/8/original.jpg + meta: + dimensions: + tiny: + width: 840 + height: 200 + large: + width: 3360 + height: 800 + small: + width: 1680 + height: 400 + tiny_webp: + width: 840 + height: 200 + large_webp: + width: 3360 + height: 800 + small_webp: + width: 1680 + height: 400 + chapterCount: null + volumeCount: 0 + serialization: Young Animal + mangaType: manga + relationships: + genres: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/genres + related: https://kitsu.io/api/edge/manga/8/genres + categories: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/categories + related: https://kitsu.io/api/edge/manga/8/categories + castings: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/castings + related: https://kitsu.io/api/edge/manga/8/castings + installments: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/installments + related: https://kitsu.io/api/edge/manga/8/installments + mappings: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/mappings + related: https://kitsu.io/api/edge/manga/8/mappings + reviews: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/reviews + related: https://kitsu.io/api/edge/manga/8/reviews + mediaRelationships: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/media-relationships + related: https://kitsu.io/api/edge/manga/8/media-relationships + characters: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/characters + related: https://kitsu.io/api/edge/manga/8/characters + staff: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/staff + related: https://kitsu.io/api/edge/manga/8/staff + productions: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/productions + related: https://kitsu.io/api/edge/manga/8/productions + quotes: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/quotes + related: https://kitsu.io/api/edge/manga/8/quotes + chapters: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/chapters + related: https://kitsu.io/api/edge/manga/8/chapters + mangaCharacters: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/manga-characters + related: https://kitsu.io/api/edge/manga/8/manga-characters + mangaStaff: + links: + self: https://kitsu.io/api/edge/manga/8/relationships/manga-staff + related: https://kitsu.io/api/edge/manga/8/manga-staff + - id: '40812' + type: manga + links: + self: https://kitsu.io/api/edge/manga/40812 + attributes: + createdAt: '2018-03-31T16:21:40.096Z' + updatedAt: '2026-05-11T06:00:24.252Z' + slug: berserk-of-gluttony + synopsis: |- + Fate Barbatos has never tasted real power. Born with the magical skill Gluttony, he constantly hungers in a way that can’t be satiated, and has been shunned and looked down upon his entire life. One day, while working as a gatekeeper for a noble family and fighting a trespassing thief, he discovers Gluttony’s true power: when he kills someone, he devours their skills and feeds his gnawing hunger at last. In that grisly realization, Fate is awakened to his true potential. How many lives will he feed on to satisfy this hunger, and is the world ready for the frightening warrior he’ll become? + + (Source: Seven Seas Entertainment) + description: |- + Fate Barbatos has never tasted real power. Born with the magical skill Gluttony, he constantly hungers in a way that can’t be satiated, and has been shunned and looked down upon his entire life. One day, while working as a gatekeeper for a noble family and fighting a trespassing thief, he discovers Gluttony’s true power: when he kills someone, he devours their skills and feeds his gnawing hunger at last. In that grisly realization, Fate is awakened to his true potential. How many lives will he feed on to satisfy this hunger, and is the world ready for the frightening warrior he’ll become? + + (Source: Seven Seas Entertainment) + coverImageTopOffset: 0 + titles: + en: Berserk of Gluttony + en_jp: Boushoku no Berserk + ja_jp: 暴食のベルセルク + th_th: จอมตะกละดาบคลั่ง + canonicalTitle: Boushoku no Berserk + abbreviatedTitles: [] + averageRating: '70.01' + ratingFrequencies: + '2': '14' + '3': '1' + '4': '4' + '6': '20' + '7': '3' + '8': '76' + '9': '5' + '10': '58' + '11': '12' + '12': '109' + '13': '25' + '14': '221' + '15': '38' + '16': '120' + '17': '23' + '18': '56' + '19': '6' + '20': '105' + userCount: 3803 + favoritesCount: 15 + startDate: '2018-03-01' + endDate: null + nextRelease: null + popularityRank: 440 + ratingRank: 9148 + ageRating: PG + ageRatingGuide: Teens 13 or older + subtype: manga + status: current + tba: null + posterImage: + tiny: https://media.kitsu.app/manga/poster_images/40812/tiny.jpg + large: https://media.kitsu.app/manga/poster_images/40812/large.jpg + small: https://media.kitsu.app/manga/poster_images/40812/small.jpg + medium: https://media.kitsu.app/manga/poster_images/40812/medium.jpg + original: https://media.kitsu.app/manga/poster_images/40812/original.jpg + meta: + dimensions: + tiny: + width: 110 + height: 156 + large: + width: 550 + height: 780 + small: + width: 284 + height: 402 + medium: + width: 390 + height: 554 + coverImage: null + chapterCount: null + volumeCount: null + serialization: Comic Ride + mangaType: manga + relationships: + genres: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/genres + related: https://kitsu.io/api/edge/manga/40812/genres + categories: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/categories + related: https://kitsu.io/api/edge/manga/40812/categories + castings: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/castings + related: https://kitsu.io/api/edge/manga/40812/castings + installments: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/installments + related: https://kitsu.io/api/edge/manga/40812/installments + mappings: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/mappings + related: https://kitsu.io/api/edge/manga/40812/mappings + reviews: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/reviews + related: https://kitsu.io/api/edge/manga/40812/reviews + mediaRelationships: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/media-relationships + related: https://kitsu.io/api/edge/manga/40812/media-relationships + characters: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/characters + related: https://kitsu.io/api/edge/manga/40812/characters + staff: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/staff + related: https://kitsu.io/api/edge/manga/40812/staff + productions: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/productions + related: https://kitsu.io/api/edge/manga/40812/productions + quotes: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/quotes + related: https://kitsu.io/api/edge/manga/40812/quotes + chapters: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/chapters + related: https://kitsu.io/api/edge/manga/40812/chapters + mangaCharacters: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/manga-characters + related: https://kitsu.io/api/edge/manga/40812/manga-characters + mangaStaff: + links: + self: https://kitsu.io/api/edge/manga/40812/relationships/manga-staff + related: https://kitsu.io/api/edge/manga/40812/manga-staff + meta: + count: 40 + links: + first: https://kitsu.io/api/edge/manga?filter%5Btext%5D=Berserk&page%5Blimit%5D=2&page%5Boffset%5D=0 + next: https://kitsu.io/api/edge/manga?filter%5Btext%5D=Berserk&page%5Blimit%5D=2&page%5Boffset%5D=2 + last: https://kitsu.io/api/edge/manga?filter%5Btext%5D=Berserk&page%5Blimit%5D=2&page%5Boffset%5D=38 + body_text: null + body_b64: null diff --git a/test/fixtures/kitsu/people/02-miyazaki-limit2.yaml b/test/fixtures/kitsu/people/02-miyazaki-limit2.yaml new file mode 100644 index 0000000..259ba96 --- /dev/null +++ b/test/fixtures/kitsu/people/02-miyazaki-limit2.yaml @@ -0,0 +1,45 @@ +metadata: + captured_at: '2026-05-11T08:09:45Z' + label: miyazaki-limit2 + backend: kitsu + path_slug: people +request: + method: GET + url: https://kitsu.io/api/edge/people?filter[name]=Miyazaki&page[limit]=2&page[offset]=0 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 400 + headers: + Date: Mon, 11 May 2026 08:09:45 GMT + Content-Type: application/vnd.api+json + Transfer-Encoding: chunked + Connection: keep-alive + alt-svc: h3=":443"; ma=86400 + Cache-Control: no-cache + referrer-policy: strict-origin-when-cross-origin + Server: cloudflare + strict-transport-security: max-age=31536000; preload + vary: Accept, Origin + x-content-type-options: nosniff + x-download-options: noopen + x-frame-options: SAMEORIGIN + x-permitted-cross-domain-policies: none + x-request-id: 81d2bee3-87cc-4675-b2d0-2ee11a4c7059 + x-runtime: '0.011774' + x-xss-protection: 1; mode=block + Nel: + cf-cache-status: DYNAMIC + Report-To: + CF-RAY: + body_json: + errors: + - title: Filter not allowed + detail: name is not allowed. + code: '102' + status: '400' + body_text: null + body_b64: null diff --git a/test/fixtures/kitsu/producers/02-ghibli-limit2.yaml b/test/fixtures/kitsu/producers/02-ghibli-limit2.yaml new file mode 100644 index 0000000..a70869a --- /dev/null +++ b/test/fixtures/kitsu/producers/02-ghibli-limit2.yaml @@ -0,0 +1,66 @@ +metadata: + captured_at: '2026-05-11T08:09:45Z' + label: ghibli-limit2 + backend: kitsu + path_slug: producers +request: + method: GET + url: https://kitsu.io/api/edge/producers?filter[slug]=studio-ghibli&page[limit]=2 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Date: Mon, 11 May 2026 08:09:45 GMT + Content-Type: application/vnd.api+json + Transfer-Encoding: chunked + Connection: keep-alive + alt-svc: h3=":443"; ma=86400 + Cache-Control: max-age=0, private, must-revalidate + etag: W/"bec62d391e7c3309aaa3e8b676e425a9" + referrer-policy: strict-origin-when-cross-origin + Server: cloudflare + strict-transport-security: max-age=31536000; preload + vary: Accept, Origin + x-content-type-options: nosniff + x-download-options: noopen + x-frame-options: SAMEORIGIN + x-permitted-cross-domain-policies: none + x-request-id: 3e66f9a5-0e2b-4ea6-a3e9-f9a32df418b6 + x-runtime: '0.051729' + x-xss-protection: 1; mode=block + Nel: + cf-cache-status: DYNAMIC + Report-To: + Content-Encoding: gzip + CF-RAY: + body_json: + data: + - id: '137' + type: producers + links: + self: https://kitsu.io/api/edge/producers/137 + attributes: + createdAt: '2013-02-20T16:02:30.578Z' + updatedAt: '2013-02-20T16:02:30.578Z' + slug: studio-ghibli + name: Studio Ghibli + relationships: + animeProductions: + links: + self: https://kitsu.io/api/edge/producers/137/relationships/anime-productions + related: https://kitsu.io/api/edge/producers/137/anime-productions + productions: + links: + self: https://kitsu.io/api/edge/producers/137/relationships/productions + related: https://kitsu.io/api/edge/producers/137/productions + meta: + count: 1 + links: + first: https://kitsu.io/api/edge/producers?filter%5Bslug%5D=studio-ghibli&page%5Blimit%5D=2&page%5Boffset%5D=0 + last: https://kitsu.io/api/edge/producers?filter%5Bslug%5D=studio-ghibli&page%5Blimit%5D=2&page%5Boffset%5D=0 + body_text: null + body_b64: null diff --git a/test/fixtures/shikimori/animes_search/17-frieren-limit2.yaml b/test/fixtures/shikimori/animes_search/17-frieren-limit2.yaml new file mode 100644 index 0000000..44a40df --- /dev/null +++ b/test/fixtures/shikimori/animes_search/17-frieren-limit2.yaml @@ -0,0 +1,70 @@ +metadata: + captured_at: '2026-05-11T08:09:46Z' + label: frieren-limit2 + backend: shikimori + path_slug: animes_search +request: + method: GET + url: https://shikimori.io/api/animes?search=Frieren&limit=2 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: ddos-guard + Connection: keep-alive + Keep-Alive: timeout=60 + Set-Cookie: + Content-Security-Policy: upgrade-insecure-requests; + Date: Mon, 11 May 2026 08:09:46 GMT + Content-Type: application/json; charset=utf-8 + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: '0' + X-Content-Type-Options: nosniff + X-Permitted-Cross-Domain-Policies: none + Referrer-Policy: strict-origin-when-cross-origin + ETag: W/"7ffca2b389e49abd8a2ecf15fb7ea823" + Cache-Control: max-age=0, private, must-revalidate + X-Request-Id: 927efb0e-5822-4127-9b37-59905cd331a5 + X-Runtime: '0.014637' + vary: Accept, Origin + Content-Encoding: gzip + Transfer-Encoding: chunked + body_json: + - id: 52991 + name: Sousou no Frieren + russian: Провожающая в последний путь Фрирен + image: + original: /system/animes/original/52991.jpg?1710731127 + preview: /system/animes/preview/52991.jpg?1710731127 + x96: /system/animes/x96/52991.jpg?1710731127 + x48: /system/animes/x48/52991.jpg?1710731127 + url: /animes/52991-sousou-no-frieren + kind: tv + score: '9.27' + status: released + episodes: 28 + episodes_aired: 27 + aired_on: '2023-09-29' + released_on: '2024-03-22' + - id: 56885 + name: 'Sousou no Frieren: ●● no Mahou' + russian: 'Провожающая в последний путь Фрирен: Магия ●●' + image: + original: /system/animes/original/56885.jpg?1718913269 + preview: /system/animes/preview/56885.jpg?1718913269 + x96: /system/animes/x96/56885.jpg?1718913269 + x48: /system/animes/x48/56885.jpg?1718913269 + url: /animes/56885-sousou-no-frieren-no-mahou + kind: ona + score: '7.37' + status: released + episodes: 23 + episodes_aired: 23 + aired_on: '2023-10-11' + released_on: '2026-03-16' + body_text: null + body_b64: null diff --git a/test/fixtures/shikimori/characters_by_id/01-frieren-184947.yaml b/test/fixtures/shikimori/characters_by_id/01-frieren-184947.yaml new file mode 100644 index 0000000..e7a05b5 --- /dev/null +++ b/test/fixtures/shikimori/characters_by_id/01-frieren-184947.yaml @@ -0,0 +1,277 @@ +metadata: + captured_at: '2026-05-11T07:55:22Z' + label: frieren-184947 + backend: shikimori + path_slug: characters_by_id +request: + method: GET + url: https://shikimori.io/api/characters/184947 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: ddos-guard + Connection: keep-alive + Keep-Alive: timeout=60 + Set-Cookie: + Content-Security-Policy: upgrade-insecure-requests; + Date: Mon, 11 May 2026 07:55:22 GMT + Content-Type: application/json; charset=utf-8 + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: '0' + X-Content-Type-Options: nosniff + X-Permitted-Cross-Domain-Policies: none + Referrer-Policy: strict-origin-when-cross-origin + ETag: W/"b5616b3a589992f5eae0f6426d6edb09" + Cache-Control: max-age=0, private, must-revalidate + X-Request-Id: 480e74b1-3076-4874-9d76-98aa7cd43036 + X-Runtime: '0.041978' + vary: Accept, Origin + Content-Encoding: gzip + Transfer-Encoding: chunked + body_json: + id: 184947 + name: Frieren + russian: Фрирен + image: + original: /system/characters/original/184947.jpg?1711056265 + preview: /system/characters/preview/184947.jpg?1711056265 + x96: /system/characters/x96/184947.jpg?1711056265 + x48: /system/characters/x48/184947.jpg?1711056265 + url: /characters/184947-frieren + altname: Frieren the Slayer + japanese: フリーレン + description: Представительница расы эльфов. Всегда спокойная, Фрирен кажется окружающим холодной и отчуждённой, однако + она обладает чувством юмора. Желает лучше понимать людей, несмотря на скоротечность их жизни. Фрирен ленива и неуклюжа + в простых бытовых делах, поэтому во многом полагается на товарищей. + description_html:
Представительница расы эльфов. Всегда спокойная, Фрирен кажется + окружающим холодной и отчуждённой, однако она обладает чувством юмора. Желает лучше понимать людей, несмотря на скоротечность + их жизни. Фрирен ленива и неуклюжа в простых бытовых делах, поэтому во многом полагается на товарищей.
+ description_source: null + favoured: false + thread_id: 342253 + topic_id: 342253 + updated_at: '2026-05-10T23:56:03.881+03:00' + seyu: + - id: 17215 + name: Atsumi Tanezaki + russian: Ацуми Танэдзаки + image: + original: /system/people/original/17215.jpg?1716842558 + preview: /system/people/preview/17215.jpg?1716842558 + x96: /system/people/x96/17215.jpg?1716842558 + x48: /system/people/x48/17215.jpg?1716842558 + url: /people/17215-atsumi-tanezaki + - id: 94102 + name: Chanfei Li + russian: Чаньфэй Ли + image: + original: /assets/globals/missing_original.jpg + preview: /assets/globals/missing_preview.jpg + x96: /assets/globals/missing_x96.jpg + x48: /assets/globals/missing_x48.jpg + url: /people/94102-chanfei-li + - id: 35117 + name: Mallorie Rodak + russian: Маллори Родак + image: + original: /system/people/original/35117.jpg?1718052615 + preview: /system/people/preview/35117.jpg?1718052615 + x96: /system/people/x96/35117.jpg?1718052615 + x48: /system/people/x48/35117.jpg?1718052615 + url: /people/35117-mallorie-rodak + - id: 85141 + name: Sandra Villa García + russian: '' + image: + original: /assets/globals/missing_original.jpg + preview: /assets/globals/missing_preview.jpg + x96: /assets/globals/missing_x96.jpg + x48: /assets/globals/missing_x48.jpg + url: /people/85141-sandra-villa-garc-a + - id: 53037 + name: Jacque Souza + russian: Жак Соуза + image: + original: /system/people/original/53037.jpg?1718398286 + preview: /system/people/preview/53037.jpg?1718398286 + x96: /system/people/x96/53037.jpg?1718398286 + x48: /system/people/x48/53037.jpg?1718398286 + url: /people/53037-jacque-souza + - id: 21893 + name: Marie Nonnenmacher + russian: Мари Нонненмахер + image: + original: /system/people/original/21893.jpg?1712007567 + preview: /system/people/preview/21893.jpg?1712007567 + x96: /system/people/x96/21893.jpg?1712007567 + x48: /system/people/x48/21893.jpg?1712007567 + url: /people/21893-marie-nonnenmacher + - id: 35767 + name: Martina Felli + russian: Мартина Фелли + image: + original: /system/people/original/35767.jpg?1718052698 + preview: /system/people/preview/35767.jpg?1718052698 + x96: /system/people/x96/35767.jpg?1718052698 + x48: /system/people/x48/35767.jpg?1718052698 + url: /people/35767-martina-felli + - id: 56690 + name: Erika Ugalde + russian: Эрика Угальде + image: + original: /system/people/original/56690.jpg?1718398772 + preview: /system/people/preview/56690.jpg?1718398772 + x96: /system/people/x96/56690.jpg?1718398772 + x48: /system/people/x48/56690.jpg?1718398772 + url: /people/56690-erika-ugalde + - id: 40043 + name: Julia Casper + russian: Юлия Каспер + image: + original: /system/people/original/40043.jpg?1718053240 + preview: /system/people/preview/40043.jpg?1718053240 + x96: /system/people/x96/40043.jpg?1718053240 + x48: /system/people/x48/40043.jpg?1718053240 + url: /people/40043-julia-casper + animes: + - id: 52991 + name: Sousou no Frieren + russian: Провожающая в последний путь Фрирен + image: + original: /system/animes/original/52991.jpg?1710731127 + preview: /system/animes/preview/52991.jpg?1710731127 + x96: /system/animes/x96/52991.jpg?1710731127 + x48: /system/animes/x48/52991.jpg?1710731127 + url: /animes/52991-sousou-no-frieren + kind: tv + score: '9.27' + status: released + episodes: 28 + episodes_aired: 27 + aired_on: '2023-09-29' + released_on: '2024-03-22' + roles: + - Main + role: Main + - id: 56805 + name: Yuusha + russian: Герой + image: + original: /system/animes/original/56805.jpg?1712951814 + preview: /system/animes/preview/56805.jpg?1712951814 + x96: /system/animes/x96/56805.jpg?1712951814 + x48: /system/animes/x48/56805.jpg?1712951814 + url: /animes/56805-yuusha + kind: music + score: '7.89' + status: released + episodes: 1 + episodes_aired: 0 + aired_on: '2023-09-29' + released_on: null + roles: + - Main + role: Main + - id: 56885 + name: 'Sousou no Frieren: ●● no Mahou' + russian: 'Провожающая в последний путь Фрирен: Магия ●●' + image: + original: /system/animes/original/56885.jpg?1718913269 + preview: /system/animes/preview/56885.jpg?1718913269 + x96: /system/animes/x96/56885.jpg?1718913269 + x48: /system/animes/x48/56885.jpg?1718913269 + url: /animes/56885-sousou-no-frieren-no-mahou + kind: ona + score: '7.37' + status: released + episodes: 23 + episodes_aired: 23 + aired_on: '2023-10-11' + released_on: '2026-03-16' + roles: + - Main + role: Main + - id: 59978 + name: Sousou no Frieren 2nd Season + russian: Провожающая в последний путь Фрирен 2 + image: + original: /assets/globals/missing_original.jpg + preview: /assets/globals/missing_preview.jpg + x96: /assets/globals/missing_x96.jpg + x48: /assets/globals/missing_x48.jpg + url: /animes/59978-sousou-no-frieren-2nd-season + kind: tv + score: '8.9' + status: released + episodes: 10 + episodes_aired: 10 + aired_on: '2026-01-16' + released_on: '2026-03-27' + roles: + - Main + role: Main + mangas: + - id: 126287 + name: Sousou no Frieren + russian: Провожающая в последний путь Фрирен + image: + original: /system/mangas/original/126287.jpg?1712852798 + preview: /system/mangas/preview/126287.jpg?1712852798 + x96: /system/mangas/x96/126287.jpg?1712852798 + x48: /system/mangas/x48/126287.jpg?1712852798 + url: /mangas/126287-sousou-no-frieren + kind: manga + score: '8.88' + status: ongoing + volumes: 0 + chapters: 0 + aired_on: '2020-04-28' + released_on: null + roles: + - Main + role: Main + - id: 164432 + name: 'Sousou no Frieren Anthology: Kotonaru Tabi wo Tanoshimu Mahou' + russian: 'Провожающая в последний путь Фрирен: Антология' + image: + original: /system/mangas/original/164432.jpg?1710117584 + preview: /system/mangas/preview/164432.jpg?1710117584 + x96: /system/mangas/x96/164432.jpg?1710117584 + x48: /system/mangas/x48/164432.jpg?1710117584 + url: /mangas/164432-sousou-no-frieren-anthology-kotonaru-tabi-wo-tanoshimu-mahou + kind: manga + score: '7.14' + status: released + volumes: 1 + chapters: 5 + aired_on: '2023-05-22' + released_on: '2023-05-26' + roles: + - Main + role: Main + - id: 169340 + name: 'Shousetsu Sousou no Frieren: Zensou' + russian: 'Провожающая в последний путь Фрирен: Прелюдия' + image: + original: /system/mangas/original/169340.jpg?1713984419 + preview: /system/mangas/preview/169340.jpg?1713984419 + x96: /system/mangas/x96/169340.jpg?1713984419 + x48: /system/mangas/x48/169340.jpg?1713984419 + url: /mangas/169340-shousetsu-sousou-no-frieren-zensou + kind: light_novel + score: '7.45' + status: ongoing + volumes: 0 + chapters: 0 + aired_on: '2024-04-17' + released_on: null + roles: + - Main + role: Main + body_text: null + body_b64: null diff --git a/test/fixtures/shikimori/characters_search/01-frieren.yaml b/test/fixtures/shikimori/characters_search/01-frieren.yaml new file mode 100644 index 0000000..2f2c7da --- /dev/null +++ b/test/fixtures/shikimori/characters_search/01-frieren.yaml @@ -0,0 +1,47 @@ +metadata: + captured_at: '2026-05-11T07:55:18Z' + label: frieren + backend: shikimori + path_slug: characters_search +request: + method: GET + url: https://shikimori.io/api/characters/search?search=Frieren&limit=2 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: ddos-guard + Connection: keep-alive + Keep-Alive: timeout=60 + Set-Cookie: + Content-Security-Policy: upgrade-insecure-requests; + Date: Mon, 11 May 2026 07:55:18 GMT + Content-Type: application/json; charset=utf-8 + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: '0' + X-Content-Type-Options: nosniff + X-Permitted-Cross-Domain-Policies: none + Referrer-Policy: strict-origin-when-cross-origin + ETag: W/"ad47d9cb853350482cd25a048008dfde" + Cache-Control: max-age=0, private, must-revalidate + X-Request-Id: d5738b4c-92fe-4421-8c90-eae19b4450a4 + X-Runtime: '0.017799' + vary: Accept, Origin + Content-Encoding: gzip + Transfer-Encoding: chunked + body_json: + - id: 184947 + name: Frieren + russian: Фрирен + image: + original: /system/characters/original/184947.jpg?1711056265 + preview: /system/characters/preview/184947.jpg?1711056265 + x96: /system/characters/x96/184947.jpg?1711056265 + x48: /system/characters/x48/184947.jpg?1711056265 + url: /characters/184947-frieren + body_text: null + body_b64: null diff --git a/test/fixtures/shikimori/characters_search/02-frieren-limit2.yaml b/test/fixtures/shikimori/characters_search/02-frieren-limit2.yaml new file mode 100644 index 0000000..6492362 --- /dev/null +++ b/test/fixtures/shikimori/characters_search/02-frieren-limit2.yaml @@ -0,0 +1,47 @@ +metadata: + captured_at: '2026-05-11T08:09:48Z' + label: frieren-limit2 + backend: shikimori + path_slug: characters_search +request: + method: GET + url: https://shikimori.io/api/characters/search?search=Frieren&limit=2 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: ddos-guard + Connection: keep-alive + Keep-Alive: timeout=60 + Set-Cookie: + Content-Security-Policy: upgrade-insecure-requests; + Date: Mon, 11 May 2026 08:09:48 GMT + Content-Type: application/json; charset=utf-8 + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: '0' + X-Content-Type-Options: nosniff + X-Permitted-Cross-Domain-Policies: none + Referrer-Policy: strict-origin-when-cross-origin + ETag: W/"ad47d9cb853350482cd25a048008dfde" + Cache-Control: max-age=0, private, must-revalidate + X-Request-Id: f53e18b1-1940-4fc3-bbc5-42be882f6c1f + X-Runtime: '0.020143' + vary: Accept, Origin + Content-Encoding: gzip + Transfer-Encoding: chunked + body_json: + - id: 184947 + name: Frieren + russian: Фрирен + image: + original: /system/characters/original/184947.jpg?1711056265 + preview: /system/characters/preview/184947.jpg?1711056265 + x96: /system/characters/x96/184947.jpg?1711056265 + x48: /system/characters/x48/184947.jpg?1711056265 + url: /characters/184947-frieren + body_text: null + body_b64: null diff --git a/test/fixtures/shikimori/mangas_search/02-berserk-limit2.yaml b/test/fixtures/shikimori/mangas_search/02-berserk-limit2.yaml new file mode 100644 index 0000000..7318a7a --- /dev/null +++ b/test/fixtures/shikimori/mangas_search/02-berserk-limit2.yaml @@ -0,0 +1,70 @@ +metadata: + captured_at: '2026-05-11T08:09:47Z' + label: berserk-limit2 + backend: shikimori + path_slug: mangas_search +request: + method: GET + url: https://shikimori.io/api/mangas?search=Berserk&limit=2 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: ddos-guard + Connection: keep-alive + Keep-Alive: timeout=60 + Set-Cookie: + Content-Security-Policy: upgrade-insecure-requests; + Date: Mon, 11 May 2026 08:09:47 GMT + Content-Type: application/json; charset=utf-8 + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: '0' + X-Content-Type-Options: nosniff + X-Permitted-Cross-Domain-Policies: none + Referrer-Policy: strict-origin-when-cross-origin + ETag: W/"960e53d30f0307cdca54ac4d0f01c9b4" + Cache-Control: max-age=0, private, must-revalidate + X-Request-Id: 6036c9bb-336c-465d-a687-01d2a232eba9 + X-Runtime: '0.028547' + vary: Accept, Origin + Content-Encoding: gzip + Transfer-Encoding: chunked + body_json: + - id: 2 + name: Berserk + russian: Берсерк + image: + original: /system/mangas/original/2.jpg?1712722988 + preview: /system/mangas/preview/2.jpg?1712722988 + x96: /system/mangas/x96/2.jpg?1712722988 + x48: /system/mangas/x48/2.jpg?1712722988 + url: /mangas/2-berserk + kind: manga + score: '9.46' + status: ongoing + volumes: 0 + chapters: 0 + aired_on: '1989-08-25' + released_on: null + - id: 92299 + name: 'Berserk: Shinen no Kami 2' + russian: 'Берсерк: Бог хаоса II' + image: + original: /system/mangas/original/92299.jpg?1712722967 + preview: /system/mangas/preview/92299.jpg?1712722967 + x96: /system/mangas/x96/92299.jpg?1712722967 + x48: /system/mangas/x48/92299.jpg?1712722967 + url: /mangas/92299-berserk-shinen-no-kami-2 + kind: one_shot + score: '8.48' + status: released + volumes: 0 + chapters: 1 + aired_on: '1996-07-12' + released_on: null + body_text: null + body_b64: null diff --git a/test/fixtures/shikimori/people_search/02-miyazaki-limit2.yaml b/test/fixtures/shikimori/people_search/02-miyazaki-limit2.yaml new file mode 100644 index 0000000..87a60ea --- /dev/null +++ b/test/fixtures/shikimori/people_search/02-miyazaki-limit2.yaml @@ -0,0 +1,182 @@ +metadata: + captured_at: '2026-05-11T08:09:49Z' + label: miyazaki-limit2 + backend: shikimori + path_slug: people_search +request: + method: GET + url: https://shikimori.io/api/people/search?search=Hayao%20Miyazaki&limit=2 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: ddos-guard + Connection: keep-alive + Keep-Alive: timeout=60 + Set-Cookie: + Content-Security-Policy: upgrade-insecure-requests; + Date: Mon, 11 May 2026 08:09:49 GMT + Content-Type: application/json; charset=utf-8 + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: '0' + X-Content-Type-Options: nosniff + X-Permitted-Cross-Domain-Policies: none + Referrer-Policy: strict-origin-when-cross-origin + ETag: W/"4cc5424f94f4a98096bdb255036cd2cd" + Cache-Control: max-age=0, private, must-revalidate + X-Request-Id: f96c594c-7576-4825-bf0f-5b93b6c9568a + X-Runtime: '0.029979' + vary: Accept, Origin + Content-Encoding: gzip + Transfer-Encoding: chunked + body_json: + - id: 1870 + name: Hayao Miyazaki + russian: Хаяо Миядзаки + image: + original: /system/people/original/1870.jpg?1712004020 + preview: /system/people/preview/1870.jpg?1712004020 + x96: /system/people/x96/1870.jpg?1712004020 + x48: /system/people/x48/1870.jpg?1712004020 + url: /people/1870-hayao-miyazaki + - id: 1515 + name: Issei Miyazaki + russian: Иссэй Миядзаки + image: + original: /system/people/original/1515.jpg?1717533598 + preview: /system/people/preview/1515.jpg?1717533598 + x96: /system/people/x96/1515.jpg?1717533598 + x48: /system/people/x48/1515.jpg?1717533598 + url: /people/1515-issei-miyazaki + - id: 1055 + name: Aoi Miyazaki + russian: Аой Миядзаки + image: + original: /system/people/original/1055.jpg?1717533363 + preview: /system/people/preview/1055.jpg?1717533363 + x96: /system/people/x96/1055.jpg?1717533363 + x48: /system/people/x48/1055.jpg?1717533363 + url: /people/1055-aoi-miyazaki + - id: 2156 + name: Chieko Miyazaki + russian: Тиэко Миядзаки + image: + original: /system/people/original/2156.jpg?1717619764 + preview: /system/people/preview/2156.jpg?1717619764 + x96: /system/people/x96/2156.jpg?1717619764 + x48: /system/people/x48/2156.jpg?1717619764 + url: /people/2156-chieko-miyazaki + - id: 9025 + name: Kohei Miyazaki + russian: Кохэй Миядзаки + image: + original: /assets/globals/missing_original.jpg + preview: /assets/globals/missing_preview.jpg + x96: /assets/globals/missing_x96.jpg + x48: /assets/globals/missing_x48.jpg + url: /people/9025-kohei-miyazaki + - id: 6002 + name: Gorou Miyazaki + russian: Горо Миядзаки + image: + original: /system/people/original/6002.jpg?1712005172 + preview: /system/people/preview/6002.jpg?1712005172 + x96: /system/people/x96/6002.jpg?1712005172 + x48: /system/people/x48/6002.jpg?1712005172 + url: /people/6002-gorou-miyazaki + - id: 6427 + name: Shuu Miyazaki + russian: Сю Миядзаки + image: + original: /assets/globals/missing_original.jpg + preview: /assets/globals/missing_preview.jpg + x96: /assets/globals/missing_x96.jpg + x48: /assets/globals/missing_x48.jpg + url: /people/6427-shuu-miyazaki + - id: 11994 + name: Shinji Miyazaki + russian: Синдзи Миядзаки + image: + original: /system/people/original/11994.jpg?1716842384 + preview: /system/people/preview/11994.jpg?1716842384 + x96: /system/people/x96/11994.jpg?1716842384 + x48: /system/people/x48/11994.jpg?1716842384 + url: /people/11994-shinji-miyazaki + - id: 7922 + name: Hiromu Miyazaki + russian: Хирому Миядзаки + image: + original: /system/people/original/7922.jpg?1712005680 + preview: /system/people/preview/7922.jpg?1712005680 + x96: /system/people/x96/7922.jpg?1712005680 + x48: /system/people/x48/7922.jpg?1712005680 + url: /people/7922-hiromu-miyazaki + - id: 10864 + name: Maya Miyazaki + russian: Мая Миядзаки + image: + original: /system/people/original/10864.jpg?1712006308 + preview: /system/people/preview/10864.jpg?1712006308 + x96: /system/people/x96/10864.jpg?1712006308 + x48: /system/people/x48/10864.jpg?1712006308 + url: /people/10864-maya-miyazaki + - id: 10859 + name: Ayumi Miyazaki + russian: Аюми Миядзаки + image: + original: /system/people/original/10859.jpg?1712006354 + preview: /system/people/preview/10859.jpg?1712006354 + x96: /system/people/x96/10859.jpg?1712006354 + x48: /system/people/x48/10859.jpg?1712006354 + url: /people/10859-ayumi-miyazaki + - id: 10524 + name: Akira Miyazaki + russian: Акира Миядзаки + image: + original: /system/people/original/10524.jpg?1712006263 + preview: /system/people/preview/10524.jpg?1712006263 + x96: /system/people/x96/10524.jpg?1712006263 + x48: /system/people/x48/10524.jpg?1712006263 + url: /people/10524-akira-miyazaki + - id: 3027 + name: Masaru Miyazaki + russian: Масару Миядзаки + image: + original: /system/people/original/3027.jpg?1712004482 + preview: /system/people/preview/3027.jpg?1712004482 + x96: /system/people/x96/3027.jpg?1712004482 + x48: /system/people/x48/3027.jpg?1712004482 + url: /people/3027-masaru-miyazaki + - id: 309 + name: Ui Miyazaki + russian: Уи Миядзаки + image: + original: /system/people/original/309.jpg?1712003609 + preview: /system/people/preview/309.jpg?1712003609 + x96: /system/people/x96/309.jpg?1712003609 + x48: /system/people/x48/309.jpg?1712003609 + url: /people/309-ui-miyazaki + - id: 14497 + name: Makoto Miyazaki + russian: Макото Миядзаки + image: + original: /system/people/original/14497.jpg?1716237788 + preview: /system/people/preview/14497.jpg?1716237788 + x96: /system/people/x96/14497.jpg?1716237788 + x48: /system/people/x48/14497.jpg?1716237788 + url: /people/14497-makoto-miyazaki + - id: 14159 + name: Mayu Miyazaki + russian: Маю Миядзаки + image: + original: /system/people/original/14159.jpg?1717792821 + preview: /system/people/preview/14159.jpg?1717792821 + x96: /system/people/x96/14159.jpg?1717792821 + x48: /system/people/x48/14159.jpg?1717792821 + url: /people/14159-mayu-miyazaki + body_text: null + body_b64: null diff --git a/test/fixtures/shikimori/publishers/02-all-limit-1000.yaml b/test/fixtures/shikimori/publishers/02-all-limit-1000.yaml new file mode 100644 index 0000000..88afa04 --- /dev/null +++ b/test/fixtures/shikimori/publishers/02-all-limit-1000.yaml @@ -0,0 +1,3104 @@ +metadata: + captured_at: '2026-05-11T07:55:28Z' + label: all-limit-1000 + backend: shikimori + path_slug: publishers +request: + method: GET + url: https://shikimori.io/api/publishers?limit=1000 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: ddos-guard + Connection: keep-alive + Keep-Alive: timeout=60 + Set-Cookie: + Content-Security-Policy: upgrade-insecure-requests; + Date: Mon, 11 May 2026 07:55:27 GMT + Content-Type: application/json; charset=utf-8 + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: '0' + X-Content-Type-Options: nosniff + X-Permitted-Cross-Domain-Policies: none + Referrer-Policy: strict-origin-when-cross-origin + ETag: W/"aeb4750682ccef742191d2b40c253cfd" + Cache-Control: max-age=0, private, must-revalidate + X-Request-Id: 84a939ca-fe55-48bf-9062-6964a4759932 + X-Runtime: '0.118343' + vary: Accept, Origin + Content-Encoding: gzip + Transfer-Encoding: chunked + body_json: + - id: 1510 + name: Web Action + - id: 1491 + name: equal + - id: 1511 + name: Natsuyoshi + - id: 1494 + name: Manga DX + - id: 1512 + name: Paru + - id: 1515 + name: Comica + - id: 1513 + name: '&Flower' + - id: 1518 + name: Group + - id: 298 + name: BonBon + - id: 1 + name: Big Comic Original + - id: 2 + name: Young Animal + - id: 4 + name: Afternoon + - id: 6 + name: Young Magazine (Monthly) + - id: 8 + name: Shounen Magazine (Weekly) + - id: 9 + name: Ribon Magazine + - id: 10 + name: Young Magazine (Weekly) + - id: 11 + name: LaLa + - id: 12 + name: Weekly Shounen Sunday + - id: 13 + name: Shounen Gangan + - id: 1698 + name: Web BULL + - id: 15 + name: Cookie + - id: 16 + name: Zipper + - id: 17 + name: Margaret + - id: 19 + name: From Gamers + - id: 20 + name: Nakayoshi + - id: 21 + name: Hana to Yume + - id: 24 + name: Young Gangan + - id: 25 + name: Ultra Jump + - id: 26 + name: Eyes + - id: 28 + name: Comic Blade + - id: 30 + name: Comic Blade Masamune + - id: 31 + name: Newtype + - id: 33 + name: Comic Gum + - id: 1579 + name: Comic ELMO + - id: 36 + name: Asuka Comics DX + - id: 38 + name: Comptiq + - id: 39 + name: Amie Magazine + - id: 41 + name: Gekkan Dragon Magazine + - id: 42 + name: Stencil + - id: 45 + name: Wings + - id: 48 + name: Shounen Magazine (Monthly) + - id: 49 + name: Animerica Extra + - id: 53 + name: Bessatsu Margaret + - id: 54 + name: Betsucomi + - id: 55 + name: Big Comic + - id: 57 + name: Business Jump + - id: 58 + name: Chorus + - id: 59 + name: Ciao + - id: 62 + name: Comic Dengeki Moeoh + - id: 63 + name: Comic Dengeki Teioh + - id: 64 + name: Dragon Junior + - id: 66 + name: GanGan Comics + - id: 67 + name: GanGan Wing + - id: 68 + name: Gundam Ace + - id: 70 + name: Magazine-Z + - id: 71 + name: Melody + - id: 72 + name: Morning + - id: 73 + name: Petit Comic + - id: 74 + name: Princess + - id: 75 + name: Pulp + - id: 79 + name: Shojo Beat + - id: 81 + name: Weekly Shounen Champion + - id: 83 + name: Shounen Jump (Weekly) + - id: 85 + name: Super Jump + - id: 86 + name: Super Manga Blast + - id: 87 + name: Young Jump + - id: 89 + name: Young Sunday (Weekly) + - id: 90 + name: Young You + - id: 91 + name: Comic Birz + - id: 92 + name: Comic Bunch + - id: 94 + name: JuniorChamp + - id: 95 + name: Dessert + - id: 97 + name: Asuka Fantasy DX + - id: 98 + name: Dragon Age + - id: 99 + name: Dear+ + - id: 100 + name: Shounen Sirius + - id: 103 + name: Feel Young + - id: 104 + name: Comique Hug + - id: 105 + name: Ace Next + - id: 106 + name: Horror Comics Special + - id: 107 + name: Genzo + - id: 110 + name: Comic ZERO-SUM + - id: 40 + name: Sunday Gene-X + - id: 3 + name: Big Comic Spirits + - id: 18 + name: Dengeki Comic Gao! + - id: 93 + name: Comic REX + - id: 22 + name: Sho-Comi + - id: 88 + name: Young King OURs + - id: 27 + name: Shounen Ace + - id: 96 + name: Fig + - id: 23 + name: Dengeki Daioh + - id: 111 + name: Bessatsu Friend + - id: 112 + name: Comp Ace + - id: 282 + name: Shounen Champion (Monthly) + - id: 76 + name: Go Go Bunch + - id: 109 + name: Comic Bonbon + - id: 102 + name: Comic Crimson + - id: 113 + name: Kiss + - id: 114 + name: Comic Beam + - id: 115 + name: Famitsu + - id: 116 + name: Magazine E-no + - id: 118 + name: Young Animal Arashi + - id: 119 + name: Comic Blade Zebel + - id: 120 + name: Young Magazine Uppers + - id: 121 + name: Flowers (Monthly) + - id: 122 + name: Comic High! + - id: 123 + name: Kimi to Boku + - id: 124 + name: Cheese! + - id: 125 + name: Aqua Comics + - id: 126 + name: Magazine Be x Boy + - id: 127 + name: Beans Ace + - id: 128 + name: Magazine Special + - id: 129 + name: Shounen Jump (Monthly) + - id: 130 + name: June Comics + - id: 133 + name: Chara + - id: 134 + name: Wink + - id: 135 + name: LaLa DX + - id: 136 + name: Ikki + - id: 137 + name: Comic Alive + - id: 138 + name: Hanaoto + - id: 139 + name: Flower Comics Special + - id: 141 + name: Shousetsu June + - id: 143 + name: Shogakukan Books + - id: 145 + name: June Comics Piace Series + - id: 146 + name: Be x Boy Novels + - id: 147 + name: Super Beboy Comics + - id: 149 + name: Asuka Ciel + - id: 1580 + name: echoz + - id: 151 + name: Asuka Mystery DX + - id: 153 + name: Piace + - id: 156 + name: drap + - id: 157 + name: Shy + - id: 158 + name: Shounen Captain + - id: 163 + name: Dengeki Maoh + - id: 165 + name: Ribon Original + - id: 166 + name: Princess Gold + - id: 167 + name: Mystery Bonita + - id: 168 + name: V-Jump + - id: 169 + name: Manga Time Lovely + - id: 170 + name: ChuChu + - id: 171 + name: Evening + - id: 173 + name: Weekly Playboy + - id: 174 + name: Comic Flapper + - id: 175 + name: Comic Rush + - id: 176 + name: Bessatsu Hana to Yume + - id: 177 + name: Zero-Sum WARD + - id: 179 + name: Biblos + - id: 180 + name: Daiwon + - id: 182 + name: Manga Time Kirara + - id: 184 + name: Reijin + - id: 186 + name: Champion RED + - id: 187 + name: Nemuki + - id: 188 + name: Craft + - id: 189 + name: Aqua Deep + - id: 190 + name: Friend + - id: 191 + name: Boys L + - id: 192 + name: Daria + - id: 193 + name: Comic Cue + - id: 195 + name: Bamboo Comics + - id: 196 + name: Comic Burger + - id: 203 + name: Daito Comics Boys Love + - id: 209 + name: Prism Bunko + - id: 212 + name: Judy + - id: 215 + name: Comi Digi + - id: 216 + name: Young Champion Retsu + - id: 217 + name: Alice + - id: 218 + name: Marukatsu Famicom + - id: 221 + name: Shy Novels + - id: 222 + name: Chara Bunko + - id: 223 + name: B-Boy Slash Novels + - id: 225 + name: Silky + - id: 213 + name: CoroCoro Comic + - id: 219 + name: HertZ + - id: 162 + name: Comic B's-LOG + - id: 178 + name: Gust + - id: 159 + name: RuTile + - id: 132 + name: Shousetsu Chocolat + - id: 152 + name: CIEL TrèsTrès + - id: 198 + name: Dengeki G's magazine + - id: 199 + name: Ribon Bikkuri + - id: 148 + name: Rakuen Web Zoukan + - id: 117 + name: Monthly Action + - id: 227 + name: Love Mission + - id: 230 + name: Junk! Boy + - id: 211 + name: Sho-Comi Zoukan + - id: 210 + name: '@vitamin' + - id: 202 + name: Denshi Birz + - id: 140 + name: Dengeki Bunko Magazine + - id: 201 + name: Kero-kero Ace + - id: 154 + name: Candy Time + - id: 214 + name: E★Everystar + - id: 205 + name: Star☆Girls + - id: 131 + name: GUSH + - id: 197 + name: Cotton Comic + - id: 172 + name: Samurai Ace + - id: 231 + name: Bonita + - id: 232 + name: Deluxe Betsucomi + - id: 233 + name: Kibou no Tomo + - id: 234 + name: Comic Valkyrie + - id: 237 + name: Gothic & Lolita Bible + - id: 240 + name: Bessatsu Young Magazine + - id: 244 + name: Shounen Rival + - id: 246 + name: Novel Japan + - id: 247 + name: Yuri Shimai + - id: 248 + name: Harlequin + - id: 249 + name: Akamaru Jump + - id: 250 + name: Garo + - id: 252 + name: Comic Chara + - id: 254 + name: Ribon Mascot + - id: 255 + name: Deluxe Margaret + - id: 256 + name: SF Adventure + - id: 258 + name: Comic Hotmilk + - id: 260 + name: Dragon Age Pure + - id: 263 + name: Mandala + - id: 264 + name: Big Comic Superior + - id: 266 + name: Cheese! Zoukan + - id: 267 + name: Comic Dragon + - id: 268 + name: Comic Seed! + - id: 269 + name: Comic Avarus + - id: 270 + name: Comic Sai + - id: 272 + name: Ergo + - id: 277 + name: Wonderland + - id: 280 + name: Ace Tokunou + - id: 283 + name: AX + - id: 285 + name: Ohzora Shuppan + - id: 286 + name: Ichiraci + - id: 287 + name: Special Edition Girls' Comic + - id: 288 + name: Seventeen (Monthly) + - id: 289 + name: Petit Flower + - id: 291 + name: SF Magazine + - id: 292 + name: Manga Time Natural + - id: 294 + name: Big Comic for Ladies + - id: 295 + name: Karen + - id: 297 + name: Mist Magazine + - id: 299 + name: Big Gold + - id: 1548 + name: GUSH pit + - id: 301 + name: Manga Shounen + - id: 302 + name: Bouquet + - id: 304 + name: Cutie Comic + - id: 308 + name: Me + - id: 309 + name: Shoujo Friend + - id: 310 + name: Meng Meng Guan + - id: 311 + name: Tales of Magazine + - id: 312 + name: Dragon Magazine + - id: 313 + name: The Margaret + - id: 314 + name: Cookie BOX + - id: 315 + name: Comic Aqua + - id: 316 + name: good! Afternoon + - id: 318 + name: Dengeki Kuro Maoh + - id: 319 + name: Shoujo Teikoku + - id: 320 + name: Pre-Comic Bunbun + - id: 321 + name: Mellow Mellow + - id: 322 + name: Issue + - id: 324 + name: Fellows! + - id: 325 + name: Quick Japan + - id: 326 + name: Kindai Mahjong Original + - id: 327 + name: Infernal Boys + - id: 328 + name: Comic Tenma + - id: 329 + name: The Sneaker + - id: 330 + name: Cobalt + - id: 332 + name: Racish + - id: 333 + name: Chara Selection + - id: 336 + name: Fairbell Comics + - id: 337 + name: Cita Cita + - id: 339 + name: Men's Young + - id: 341 + name: Serie Mystery + - id: 343 + name: Televi Magazine + - id: 344 + name: Televi Magazine Zoukan Tele Manga Heros + - id: 1581 + name: Comic Berry's + - id: 346 + name: KG + - id: 348 + name: Comic LO + - id: 307 + name: YOU + - id: 290 + name: Tonari no Young Jump + - id: 229 + name: Shounen Sunday + - id: 279 + name: Gekkan! Spirits + - id: 350 + name: Comic Marble + - id: 351 + name: Doki~! + - id: 1654 + name: Comic Vamp + - id: 355 + name: Manga Time + - id: 271 + name: Comic@loid + - id: 305 + name: Web Comic Action + - id: 276 + name: FlexComix Blood + - id: 281 + name: Comic Gamest + - id: 335 + name: Yuri☆Koi + - id: 331 + name: Phryné + - id: 265 + name: Young King OURs+ + - id: 257 + name: IQ Jump + - id: 261 + name: Ichiban Suki + - id: 245 + name: Gangan Powered + - id: 342 + name: Dengeki D-manga Online + - id: 273 + name: Dengeki Daioh Web Comic + - id: 274 + name: b-Boy Zips + - id: 239 + name: Mugenkan + - id: 356 + name: Manga Time Original + - id: 358 + name: Manga Time Family + - id: 359 + name: Manga Time Jumbo + - id: 360 + name: Manga Time Special + - id: 361 + name: Manga Time Kirara Carat + - id: 284 + name: Shougaku Sannensei + - id: 365 + name: Manga Time Kirara Forward + - id: 366 + name: Suspiria + - id: 367 + name: Kindai Mahjong + - id: 369 + name: Vitaman + - id: 370 + name: Renai Paradise + - id: 371 + name: Manga Allman + - id: 375 + name: Manga Club + - id: 376 + name: Manga Club Original + - id: 377 + name: Manga Home + - id: 378 + name: Pachinko 777 + - id: 379 + name: Manga Life + - id: 380 + name: Manga Life Original + - id: 381 + name: Neko Para + - id: 384 + name: Namaiki! + - id: 385 + name: Melon Comic + - id: 388 + name: Charade + - id: 389 + name: Egoist + - id: 390 + name: Office YOU + - id: 391 + name: Kindai Mahjong Gold + - id: 392 + name: Chara Mel + - id: 394 + name: Opera + - id: 395 + name: The Hana to Yume + - id: 396 + name: Comic Magazine LYNX + - id: 1583 + name: Shousetsu Wings + - id: 401 + name: Web Comic High! + - id: 402 + name: Dengeki PlayStation + - id: 403 + name: Young Ace + - id: 404 + name: Comic Megastore + - id: 408 + name: Manga Erotics F + - id: 409 + name: Rinka + - id: 410 + name: Comic Ryu + - id: 411 + name: Shounen Sunday Super + - id: 412 + name: Gangan Joker + - id: 413 + name: Petit Princess + - id: 414 + name: Bushiroad TCG Magazine + - id: 415 + name: Morning KC + - id: 416 + name: Party + - id: 417 + name: Comic Yuri Hime S + - id: 420 + name: Sugar + - id: 421 + name: Sylph + - id: 423 + name: Comic Yuri Hime + - id: 424 + name: Ichibansuki + - id: 1795 + name: MeltyBullet + - id: 426 + name: Chance + - id: 428 + name: Comic Momohime + - id: 429 + name: Mr. Magazine + - id: 430 + name: Fujimi Fantasia Bunko + - id: 431 + name: Studio Voice + - id: 432 + name: Un Poco + - id: 433 + name: Mobile Flower + - id: 434 + name: Champion RED Ichigo + - id: 435 + name: Generous Kiss + - id: 436 + name: Hanamaru + - id: 437 + name: Mon Mon + - id: 439 + name: NyanType + - id: 440 + name: FlexComix Next + - id: 442 + name: Flex Comix + - id: 443 + name: Comic Fans + - id: 445 + name: Magi-Cu + - id: 447 + name: Kurofune Zero + - id: 448 + name: Shounen Takarajima (Weekly) + - id: 449 + name: Anise Magazine + - id: 450 + name: Bessatsu Shounen Magazine + - id: 451 + name: Young Comic + - id: 452 + name: Comic Masyo + - id: 453 + name: Dengeki Teioh + - id: 454 + name: KERA + - id: 455 + name: Young Manga + - id: 456 + name: Uppers (Kodansha) + - id: 457 + name: Enjuru + - id: 458 + name: Nikutaiha + - id: 459 + name: Yomban + - id: 460 + name: Cab + - id: 461 + name: Super Dash Bunko + - id: 462 + name: Kinniku Otoko + - id: 463 + name: Shounen Big Comic + - id: 464 + name: Comic Penguin Club + - id: 465 + name: Dragon Youth + - id: 466 + name: Citron + - id: 467 + name: BGM + - id: 468 + name: Bokura + - id: 469 + name: Pureri + - id: 419 + name: Gangan Online + - id: 363 + name: Manga Time Kirara MAX + - id: 470 + name: Tsubomi + - id: 471 + name: Ichijinsha Mobile + - id: 472 + name: Catalogue Series + - id: 473 + name: MARBLE + - id: 475 + name: Comic BunBun + - id: 399 + name: Comic Spica + - id: 446 + name: Comic Flamingo R + - id: 398 + name: Comic Mahou no iLand + - id: 406 + name: Comic Master + - id: 438 + name: Ribon Deluxe + - id: 476 + name: Dengeki Nintendo DS + - id: 477 + name: Vanilla + - id: 478 + name: Swan Magazine + - id: 479 + name: TYPE-MOON Ace + - id: 480 + name: Hanaoto DX + - id: 482 + name: CIEL + - id: 483 + name: Shounen King + - id: 484 + name: Jump SQ.19 + - id: 485 + name: Oh Super Jump + - id: 487 + name: Comic Potpourri Club + - id: 488 + name: Jidaigeki Manga JIN + - id: 489 + name: Web Magazine Wings + - id: 490 + name: ZERO + - id: 491 + name: AniSen + - id: 492 + name: Comic Gaia + - id: 493 + name: Kirara 16 + - id: 494 + name: Dengeki Daioh Genesis + - id: 495 + name: Comic Shingeki + - id: 498 + name: Mephisto + - id: 499 + name: ARIA + - id: 502 + name: Comic Comp + - id: 503 + name: Ace Assault + - id: 504 + name: Booking + - id: 505 + name: Nemesis + - id: 506 + name: Ultra Jump Egg + - id: 507 + name: Hitomi + - id: 508 + name: Comic NORA + - id: 509 + name: Comic Candoll + - id: 510 + name: Muteki Renai S*girl + - id: 512 + name: super Robot Magazine + - id: 513 + name: E★2 + - id: 514 + name: Action Pizazz + - id: 515 + name: Shounen Jets (Monthly) + - id: 517 + name: Comic Charge + - id: 518 + name: Comic YA! + - id: 519 + name: Ace Momogumi + - id: 520 + name: Comic Tom (Monthly) + - id: 521 + name: Comic Tom Plus + - id: 523 + name: Comic Kwai + - id: 525 + name: Comic Sangokushi + - id: 526 + name: Shonen Shojo Bokeno + - id: 527 + name: Shounen Club + - id: 530 + name: Mobile Man + - id: 531 + name: MiChao + - id: 532 + name: Famitsu Comic Clear + - id: 533 + name: Comic Kairaku-ten + - id: 534 + name: Horror M + - id: 535 + name: Young Jump (Monthly) + - id: 536 + name: Megami Magazine + - id: 537 + name: Action Pizazz DX + - id: 538 + name: WAaI! + - id: 539 + name: Yomiuri Shimbun + - id: 541 + name: Aqua PiPi + - id: 542 + name: Super Strong Jump + - id: 543 + name: Comic Sumomo + - id: 545 + name: Rakuen Le Paradis + - id: 546 + name: Play Comic + - id: 547 + name: Nakayoshi Lovely + - id: 548 + name: Shounen Jump NEXT! + - id: 550 + name: Canna + - id: 551 + name: Apple Collection + - id: 552 + name: Comic Manga Ou + - id: 553 + name: BLink + - id: 555 + name: Comic Mujin + - id: 1585 + name: Kindan Lovers + - id: 557 + name: pocopoco + - id: 558 + name: Comic Hanaman + - id: 559 + name: Comic B's-LOG Air Raid + - id: 560 + name: Young Animal Island + - id: 562 + name: Comic Champ + - id: 564 + name: ITAN + - id: 565 + name: Web Comic Beat's + - id: 567 + name: Jump X + - id: 569 + name: Comic Unreal + - id: 571 + name: Comic Aun + - id: 573 + name: Comic Gene + - id: 575 + name: Young King + - id: 577 + name: Buster Comic + - id: 579 + name: Comic RiN + - id: 474 + name: RuTiLe Sweet + - id: 529 + name: b-Boy Honey + - id: 500 + name: Manga Sunday + - id: 581 + name: Comic Kairaku-ten Beast + - id: 582 + name: Comic Megastore H + - id: 584 + name: Comic Yell! + - id: 585 + name: Comic MegaMilk + - id: 589 + name: Comic Shitsuraku-ten + - id: 561 + name: Bessatsu Young Champion + - id: 486 + name: Ane-kei Petit Comic + - id: 522 + name: Dengeki Hobby Magazine + - id: 540 + name: Kiss PLUS + - id: 549 + name: Niconico Yuri Hime + - id: 524 + name: JC.COM + - id: 496 + name: Febri + - id: 501 + name: Asahi Shougakusei Shinbun + - id: 554 + name: Comic Bee + - id: 544 + name: Oto☆Nyan + - id: 528 + name: Comic B's-LOG Kyun! + - id: 591 + name: Gessan + - id: 593 + name: Club Sunday + - id: 595 + name: Comic Penguin Club Sanzokuban + - id: 597 + name: New Youth + - id: 601 + name: Comic Purumelo + - id: 605 + name: Comic@Bunch + - id: 607 + name: Manga Goraku + - id: 609 + name: Comic XO + - id: 611 + name: Ciao DX + - id: 615 + name: Web Comic Gekkin + - id: 617 + name: Comic MILF + - id: 621 + name: For Mrs. + - id: 623 + name: Comic Plum + - id: 625 + name: Koi June + - id: 1655 + name: Manga Life Joshi-bu + - id: 629 + name: BOY'S Pierce + - id: 631 + name: Comic June + - id: 633 + name: Comic P Flirt + - id: 635 + name: Nekopanchi + - id: 637 + name: Web Spica + - id: 639 + name: Comic MegaCube + - id: 641 + name: Angel Club + - id: 643 + name: Comic Himedorobow + - id: 645 + name: Jun-ai Kajitsu + - id: 647 + name: Comic Bazooka + - id: 649 + name: Comic Pot + - id: 651 + name: Karyou Gakuen Shotoubu + - id: 653 + name: Newtype Ace + - id: 655 + name: Manga Bangaichi + - id: 659 + name: Comic Sigma + - id: 661 + name: Comic Papipo + - id: 663 + name: Shoujo Club + - id: 665 + name: Boys Capi! + - id: 667 + name: Kuro LaLa + - id: 669 + name: Shiro LaLa + - id: 671 + name: Comic Karyou Gakuen + - id: 679 + name: Action Pizazz Special + - id: 681 + name: Comic Hime-Sakura + - id: 683 + name: Bishoujo Kakumei KIWAME + - id: 685 + name: Comic Dolphin + - id: 687 + name: Canopri Comic + - id: 689 + name: Manga Goraku dokuhon + - id: 691 + name: Miracle Jump + - id: 693 + name: Super Dash & Go! + - id: 695 + name: JUNE + - id: 697 + name: Saikyou Jump + - id: 1584 + name: Berry's Fantasy + - id: 701 + name: Zero-Sum Online + - id: 703 + name: Ribon Special + - id: 705 + name: Big Gangan + - id: 711 + name: Sakura Hearts + - id: 713 + name: Gagaga Bunko + - id: 715 + name: FlexComix Flare + - id: 717 + name: Comic Penguin Celeb + - id: 719 + name: Comic Zenon + - id: 721 + name: Boys Jam! + - id: 723 + name: Next Comic First + - id: 725 + name: Edith + - id: 727 + name: Tech Gian + - id: 731 + name: Comic Are! + - id: 733 + name: Tokage + - id: 735 + name: Mink + - id: 737 + name: Dengeki Moeoh + - id: 739 + name: Age Premium + - id: 741 + name: Altima Ace + - id: 743 + name: Comic Fantasy + - id: 745 + name: Pianissimo + - id: 747 + name: Ubu Mode + - id: 749 + name: Elegance Eve + - id: 751 + name: Comic Noizy + - id: 755 + name: moca + - id: 757 + name: Cheri + - id: 759 + name: Comic Situation Play + - id: 761 + name: Comic Comomo + - id: 763 + name: Men's Gold + - id: 765 + name: Comic MESSI + - id: 767 + name: Comic Mate + - id: 769 + name: Comic GEKI-YABA + - id: 771 + name: Comic ino. + - id: 773 + name: 2D Dream Magazine + - id: 775 + name: Comic Prism + - id: 777 + name: Video Boy + - id: 779 + name: Giga 69 + - id: 707 + name: Comic Earth☆Star + - id: 673 + name: Naver Webtoon + - id: 619 + name: Comic Megaplus + - id: 603 + name: Comic 0EX + - id: 781 + name: Koushoku Shounen + - id: 783 + name: Otome High! + - id: 785 + name: Comic Zero-Shiki + - id: 787 + name: World Soccer King + - id: 789 + name: Romance Tiara + - id: 791 + name: Girls forM + - id: 599 + name: Jour Suteki na Shufu-tachi + - id: 677 + name: Comic Be + - id: 729 + name: Hana to Yume Online + - id: 657 + name: Bishoujo-teki Kaikatsuryoku + - id: 793 + name: Bessatsu Friend Zoukan BetsuFure + - id: 795 + name: Dengeki Hime + - id: 675 + name: Jump SQ.LaB + - id: 797 + name: Comic Historia + - id: 799 + name: Dengeki Comic Japan + - id: 801 + name: Comic Dangan + - id: 1587 + name: Manga Gaugau + - id: 805 + name: Ao Lala + - id: 813 + name: Bessatsu Shounen Champion + - id: 815 + name: Betsuma Sister + - id: 817 + name: Cocohana + - id: 821 + name: onBLUE + - id: 823 + name: Manga Life Win + - id: 1057 + name: Kissui + - id: 827 + name: Comic Meteor + - id: 829 + name: Renai Love MAX + - id: 833 + name: Gelatin + - id: 835 + name: Renai Cherry Pink + - id: 837 + name: Young Jump (Weekly) + - id: 839 + name: Famitsu Bros + - id: 841 + name: Famitsu PS2 + - id: 843 + name: Famitsu PS + - id: 847 + name: Manga Action + - id: 849 + name: Dengeki Nintendo for KIDS + - id: 851 + name: Comic Break + - id: 853 + name: Comic Ran + - id: 855 + name: Shougaku Yonensei + - id: 857 + name: Blade Online + - id: 859 + name: Shounen Magazine+ (Monthly) + - id: 863 + name: Aka Lala + - id: 865 + name: Baby + - id: 867 + name: Comic BugBug + - id: 869 + name: Comic Milk Purin + - id: 871 + name: Comic Mega Gold + - id: 873 + name: Comic Jumbo + - id: 875 + name: Comic Kairaku-ten XTC + - id: 879 + name: WAaI! Mahalo + - id: 885 + name: MF Bunko J + - id: 889 + name: Grand Jump Premium + - id: 891 + name: MAG Garden Comic Online + - id: 893 + name: Manga Town + - id: 897 + name: Tonari no Young Jump + - id: 899 + name: Oyajism + - id: 901 + name: Hontou ni Atta Kowai Hanashi + - id: 903 + name: Comic Cyutt + - id: 905 + name: B'S Anima + - id: 907 + name: Cita-NIUM + - id: 910 + name: Bessatsu Manga Goraku + - id: 912 + name: Manga Palette Lite + - id: 914 + name: Leed Comic + - id: 916 + name: Blade Online + - id: 918 + name: Shougaku Ninensei + - id: 920 + name: Manga Goccha + - id: 922 + name: The Dessert + - id: 924 + name: GUSH pêche + - id: 926 + name: Young Champ + - id: 928 + name: Hobby Japan + - id: 932 + name: GA Bunko Magazine + - id: 933 + name: u17 + - id: 935 + name: Manga Time Kirara Miracle! + - id: 937 + name: Shounen + - id: 939 + name: Gangan Wing + - id: 941 + name: Comic Heaven + - id: 943 + name: Comic Polaris + - id: 945 + name: Weekly ASCII + - id: 947 + name: Grand Jump + - id: 949 + name: Persona Magazine + - id: 951 + name: Reijin Bravo! + - id: 953 + name: Harta + - id: 955 + name: Comic X-Eros + - id: 957 + name: Comic Milk Purin + - id: 959 + name: Comic Prism + - id: 961 + name: Comic Situation Play + - id: 963 + name: Comic ino. + - id: 965 + name: Comic Orecano! + - id: 967 + name: Jump VS + - id: 969 + name: Comic Comomo + - id: 971 + name: Men's GOLD + - id: 973 + name: Comic Mate + - id: 975 + name: Renai Revolution + - id: 977 + name: Comic Moe Max + - id: 979 + name: Bishoujo Kakumei KIWAME Road + - id: 981 + name: Comic Maihime Musou + - id: 983 + name: Comic Anthurium + - id: 985 + name: Shousetsu B-Boy + - id: 987 + name: Comic Rats + - id: 989 + name: Magazine WOoooo! + - id: 991 + name: Colorful Drops + - id: 993 + name: Comic Magnum + - id: 995 + name: Comic Jumbo + - id: 845 + name: Daum Webtoon + - id: 811 + name: Hirari, + - id: 1586 + name: Manga Bang + - id: 999 + name: Saizensen + - id: 1001 + name: Cheri+ + - id: 1003 + name: Comic Shoujo Shiki + - id: 1005 + name: Ura Sunday + - id: 1007 + name: Kadokawa Niconico Ace + - id: 1009 + name: bianca + - id: 1011 + name: Comic Himekuri + - id: 1013 + name: Jump LIVE + - id: 1015 + name: Champion Tap! + - id: 1017 + name: Comic Revolution + - id: 1019 + name: Action Pizazz HB + - id: 1021 + name: Comic Megastore Alpha + - id: 1023 + name: haruca + - id: 1025 + name: B's-LOVEY recottia + - id: 1027 + name: Comic Shoujo Tengoku + - id: 1029 + name: Comic Moog + - id: 1033 + name: Manga 4-koma Palette + - id: 1035 + name: Men's Young Special Ikazuchi + - id: 1037 + name: Action Young + - id: 1039 + name: ihr hertZ + - id: 1041 + name: Hinakan Hi! + - id: 1045 + name: Futabasha Web Magazine + - id: 1047 + name: Manga Aiki + - id: 1049 + name: Cabaret-Club Comic + - id: 1051 + name: Comic Muga + - id: 1053 + name: Comic Mugen Tensei + - id: 1055 + name: Comic Lemon Club + - id: 1059 + name: LaLa Melody Online + - id: 1061 + name: Manga Box + - id: 1063 + name: Kurage Bunch + - id: 1065 + name: BOX-AiR + - id: 1067 + name: Young Hip + - id: 1069 + name: Magazine WOoooo! B-gumi + - id: 1071 + name: Hana to Yume Plus + - id: 1073 + name: ChobeComi! + - id: 1075 + name: Hontou ni Kowai Douwa + - id: 1077 + name: Nate Manhwa + - id: 1079 + name: Web Ikipara Comic + - id: 1081 + name: Comic Minimon + - id: 1083 + name: Comic KOH + - id: 1085 + name: Comic Gekiman + - id: 1087 + name: KiSSCA + - id: 1089 + name: Manga Time Kirara☆Magica + - id: 1091 + name: Prince (Quarterly) + - id: 1093 + name: Model Graphix + - id: 1095 + name: Harmony Romance Zoukangou + - id: 1097 + name: Yawaraka Spirits + - id: 1099 + name: Comic Gamma + - id: 1101 + name: Manga Hot Milk + - id: 1103 + name: Web Comic Gamma + - id: 1105 + name: Gensou Fantasy + - id: 1107 + name: Magazine Cyberia + - id: 1109 + name: B's-LOVEY Katsubou + - id: 1111 + name: Comic Dolphin Jr. + - id: 1113 + name: Comic Grape + - id: 1115 + name: Doki~! Special + - id: 1117 + name: Comic Pururun Max + - id: 1119 + name: G'sister + - id: 1121 + name: Young Animal Densi + - id: 1123 + name: Comic Ran Twins + - id: 1125 + name: motto! + - id: 1127 + name: Mei + - id: 1129 + name: Fresh Jump + - id: 1131 + name: Manga Bon + - id: 1133 + name: Manga Ai! Hime + - id: 1135 + name: Suiyoubi no Sirius + - id: 1137 + name: Comic Break + - id: 1139 + name: Web Comic Zenyon + - id: 1141 + name: Hatsu Kiss + - id: 1143 + name: AYLA + - id: 1145 + name: Run Run + - id: 1147 + name: Comic Holic + - id: 1149 + name: Comic Tokumori + - id: 1151 + name: Graman Geki! + - id: 1153 + name: Ane LaLa + - id: 1155 + name: Big Comic Zoukan + - id: 1157 + name: Dengeki G's Comic + - id: 1165 + name: Tokusatsu Ace + - id: 1167 + name: Dengeki Girl's Style + - id: 1171 + name: Comic Europa + - id: 1177 + name: Comic Ero-tama + - id: 1175 + name: Aoharu + - id: 1179 + name: Manga Zettai Manzoku + - id: 1181 + name: Ponimaga + - id: 1183 + name: Magalabo + - id: 1185 + name: Cyberia ManiaEX + - id: 1189 + name: Handy Comic + - id: 1656 + name: bamB! + - id: 1195 + name: Young Magazine the 3rd + - id: 1199 + name: drap Milk + - id: 1207 + name: Manga Grimm Douwa + - id: 1197 + name: Aqua BL Kingdom + - id: 1191 + name: Hana to Yume Planet + - id: 1213 + name: Comic Dengeki Daioh "g" + - id: 1043 + name: Comic ChoiS! + - id: 1211 + name: Comic Man-Ten + - id: 1205 + name: Animage + - id: 1163 + name: Asahi Shinbun + - id: 1203 + name: Comic Ran-Oh! + - id: 1173 + name: Shounen Fang + - id: 1169 + name: Big Comic Original Zoukan + - id: 1588 + name: Charles Mag Omegaverse + - id: 1209 + name: Shounen Jump+ + - id: 1215 + name: Megastore + - id: 1217 + name: Comic Garden + - id: 1219 + name: Manga Life MOMO + - id: 1223 + name: GUSH Pochi. + - id: 1225 + name: Juicy + - id: 1221 + name: Kurofune Momo + - id: 1229 + name: Mebae + - id: 1231 + name: Manga Kisoutengai + - id: 1233 + name: Comic Gang + - id: 1235 + name: Manga Life STORIA + - id: 1237 + name: Josei Seven + - id: 1239 + name: Nakayoshi Deluxe + - id: 1241 + name: Zettai Renai Sweet + - id: 1243 + name: Monthly QooPA! + - id: 1245 + name: DVD Majiyaba + - id: 1249 + name: Comic Magnum X + - id: 1247 + name: Hanamaru Manga + - id: 1253 + name: Mink + - id: 1251 + name: Animal House + - id: 1227 + name: Bessatsu Kindai Mahjong + - id: 1257 + name: Cyber Comics + - id: 1263 + name: Bstreet + - id: 1267 + name: Bushiroad (Monthly) + - id: 1261 + name: iHertZ + - id: 1265 + name: Manga Erotopia + - id: 1270 + name: Monthly Shounen Magazine+ + - id: 1271 + name: Comic Genra + - id: 1273 + name: Lezhin Comics Webtoon + - id: 1274 + name: Comic Toutetsu + - id: 1276 + name: Apple Mystery + - id: 1275 + name: Bokkinia + - id: 1272 + name: Magazine Fresh! + - id: 1277 + name: Comic fleur + - id: 1278 + name: comico + - id: 1280 + name: Comicomi + - id: 1281 + name: Zoukan flowers + - id: 1589 + name: Digital Punipedo! + - id: 1283 + name: Comic Orca + - id: 1284 + name: Shincho 45 + - id: 1285 + name: Kono Manga ga Sugoi! Web + - id: 1286 + name: Manga Goraku Nexter + - id: 1288 + name: Comic Bavel + - id: 1287 + name: SPA! + - id: 1279 + name: Comic it + - id: 1161 + name: Zoukan Young Gangan + - id: 1293 + name: Manga Animec + - id: 1296 + name: Bouquet DX + - id: 1590 + name: Hero's + - id: 1298 + name: Champion Cross + - id: 1299 + name: Shuunin ga Yuku! Special + - id: 1300 + name: Comic Ran + - id: 1301 + name: Gene pixiv + - id: 1289 + name: Shuukan Bunshun + - id: 1303 + name: Capbon! + - id: 1306 + name: Bessatsu Harmony Romance + - id: 1305 + name: Chance+ + - id: 1308 + name: Shounen Magazine R + - id: 1307 + name: Qpa + - id: 1302 + name: Manga Goraku Special + - id: 1304 + name: Dengeki hp + - id: 1310 + name: Karyou Sakuragumi Etsu + - id: 1297 + name: Comic Ruelle + - id: 1312 + name: Shounen Magazine Edge + - id: 1313 + name: Gougai onBLUE + - id: 1314 + name: Harmony Romance + - id: 1315 + name: Emerald + - id: 1317 + name: BOY'S Pierce Kindan + - id: 1316 + name: Jump SQ.Crown + - id: 1318 + name: Comic Mate Legend + - id: 1319 + name: Comic Mega GOLD + - id: 1320 + name: Comic Saija + - id: 1321 + name: Comic Mana + - id: 1323 + name: Hana LaLa online + - id: 1325 + name: Dengeki Bazooka!! + - id: 1324 + name: Garaku no Mori + - id: 1292 + name: Shousetsu Chara + - id: 1322 + name: Comic GENKi + - id: 1291 + name: Action Deluxe + - id: 1311 + name: Morning Party Zoukan + - id: 1294 + name: Lemon People + - id: 1290 + name: MC☆Axis + - id: 1326 + name: Keetai ShuuPlay + - id: 1327 + name: Shousetsu Dear+ + - id: 1329 + name: Goraku Egg + - id: 1328 + name: Renai Hakusho Pastel + - id: 1332 + name: WEBLink + - id: 1333 + name: Qpano + - id: 1331 + name: Comic JSCK + - id: 1309 + name: Comic Cune + - id: 29 + name: twi4 + - id: 5 + name: Web Comic Gum + - id: 1334 + name: Shuukan Gendai + - id: 1335 + name: Magazine pocket + - id: 1336 + name: Shokuman + - id: 1337 + name: Comic HJ Bunko + - id: 1339 + name: Ganma! + - id: 1340 + name: Young Ace UP + - id: 1338 + name: Nintendo Dream + - id: 1330 + name: Comic Zeroshiki + - id: 1341 + name: Falcom Magazine + - id: 1345 + name: Petit Comic Zoukan + - id: 1349 + name: MAGCOMI + - id: 1346 + name: The Sneaker Web + - id: 1352 + name: mimi + - id: 1344 + name: Omegaverse Project + - id: 1342 + name: MIKU-Pack + - id: 1591 + name: Comic Bridge + - id: 1350 + name: Comic Jidai Katsugeki + - id: 1351 + name: Jump Original + - id: 1347 + name: Shounen Gaho + - id: 1348 + name: Morning Horizon in the Centre of Somewhere + - id: 1353 + name: Magazine Bang + - id: 1354 + name: Zoukan Taishuu + - id: 1357 + name: Comic KURiBERON + - id: 1360 + name: Comic GT + - id: 1362 + name: eBigComic4 + - id: 1366 + name: Jump GIGA + - id: 1361 + name: MangaONE + - id: 1370 + name: South + - id: 1359 + name: Badi + - id: 1372 + name: CoroCoro Aniki + - id: 1374 + name: Comic ExE + - id: 1373 + name: Comic Ride + - id: 1371 + name: Comic Newtype + - id: 1376 + name: Comic BEAT + - id: 1379 + name: Comic saseco + - id: 1355 + name: Comic Rise + - id: 1377 + name: Char@ + - id: 1378 + name: Comic Fire + - id: 1358 + name: Comic Bingo + - id: 1375 + name: Pasocom Magazine + - id: 1363 + name: Love Jossie + - id: 1367 + name: Shounen Edgestar + - id: 1368 + name: aQtto! + - id: 1369 + name: Web Magazine f3 + - id: 1895 + name: Touch+ + - id: 1364 + name: Comic Flamingo + - id: 1380 + name: Shuukan Taishuu + - id: 1815 + name: Fairy Tail Magazine (Monthly) + - id: 1388 + name: Shousetsu Shinchou + - id: 1386 + name: pixiv Comic + - id: 1390 + name: Dra-Dra-Dragon Age + - id: 1389 + name: Comicloud + - id: 1391 + name: Comic Ryu Web + - id: 1393 + name: Jump Cross + - id: 1392 + name: Matogrosso + - id: 1396 + name: ShuuPlay News + - id: 1397 + name: Web Bazooka + - id: 1398 + name: Galette + - id: 1401 + name: Doku Ringo Comic + - id: 1403 + name: Alterna pixiv + - id: 1404 + name: Big Gangan Okawari + - id: 1410 + name: Sunday Webry + - id: 1411 + name: Da Vinci + - id: 1402 + name: Reijin Uno! + - id: 1412 + name: One More Kiss + - id: 1413 + name: Manga Life STORIA Dash + - id: 1415 + name: Boys Fan + - id: 1416 + name: b-boy Omegaverse + - id: 1417 + name: Cycomics + - id: 1399 + name: Manga UP! + - id: 1405 + name: Boukenou + - id: 1385 + name: uvu + - id: 1394 + name: Comic Orange Club + - id: 1400 + name: Abumix + - id: 1395 + name: Spinel + - id: 1414 + name: Honey Milk + - id: 1381 + name: WEBgateau + - id: 1406 + name: enigma + - id: 1383 + name: Comic POOL + - id: 1387 + name: OK!COMIC + - id: 1384 + name: Chuuou Kouron + - id: 1409 + name: Cigarillo + - id: 1418 + name: Barazoku + - id: 1419 + name: Gangan pixiv + - id: 1423 + name: Hug pixiv + - id: 1420 + name: Ktoon + - id: 1421 + name: Kindai Manga + - id: 1424 + name: Monster Comics + - id: 1425 + name: pixiv Sylph + - id: 1426 + name: Dragon Age Extra + - id: 1429 + name: Manga Kocchi + - id: 1430 + name: Gachicomi + - id: 1431 + name: LiQulle + - id: 1427 + name: Young Magazine Zoukan Aka Buta + - id: 1433 + name: B's-LOG Cheek + - id: 1440 + name: Love Coffre + - id: 1432 + name: cakes + - id: 1439 + name: KakaoPage + - id: 1438 + name: Pianissimo + - id: 1435 + name: Pucchigumi + - id: 1436 + name: Genbun Magazine + - id: 1442 + name: pixiv Essay + - id: 1444 + name: Suiyoubi wa Mattari Dash X Comic + - id: 1445 + name: Comicawa + - id: 1441 + name: Love Silky + - id: 1443 + name: Kuaikan Manhua + - id: 1447 + name: Sports Today Webtoon + - id: 1428 + name: pixiv Hero's + - id: 1448 + name: Yuruyon + - id: 1446 + name: Comic Gotta + - id: 1449 + name: Comic Alpha + - id: 1450 + name: Princess (Gong Zhu Zhi) + - id: 1451 + name: Manga Park + - id: 1453 + name: Comic PASH! + - id: 1454 + name: Yuri Hime@pixiv + - id: 1456 + name: Manga Cross + - id: 1458 + name: Ohta Web Comic + - id: 1457 + name: b-boy Cube + - id: 1459 + name: Comic Days + - id: 1460 + name: Comic Boost + - id: 1461 + name: D Morning + - id: 1462 + name: Comic MeDu + - id: 1464 + name: Ane Friend + - id: 1465 + name: Palcy + - id: 1466 + name: Minna no Comic + - id: 1467 + name: Comic Corona + - id: 1468 + name: Dra-Dra Sharp# + - id: 1470 + name: Comic Chocolat + - id: 1469 + name: Splush + - id: 1472 + name: Kachicomi + - id: 1473 + name: B's-LOG Comic + - id: 1474 + name: Comic Trail + - id: 1475 + name: Comic Beam 100 + - id: 1476 + name: Young Animal Zero + - id: 1477 + name: Jump SQ.Rise + - id: 1471 + name: .Bloom + - id: 1478 + name: Yoru Sunday + - id: 1487 + name: Charles Mag + - id: 1486 + name: Funwari Jump + - id: 1483 + name: Cia♥ + - id: 1484 + name: Comic Taiga + - id: 1485 + name: Comic Marginal + - id: 1490 + name: Lupin Sansei Official Magazine + - id: 1489 + name: Young King Bessatsu Kingdom + - id: 340 + name: Comic Gardo + - id: 1492 + name: TYPE-MOON Comic Ace + - id: 1488 + name: Comic Tatan + - id: 1493 + name: Torch + - id: 1495 + name: MAGKAN + - id: 1496 + name: kyapi! + - id: 1497 + name: Comic Border + - id: 1498 + name: G-Lish + - id: 1501 + name: Nikkan Gecchan + - id: 1502 + name: Comic Essay Room + - id: 1503 + name: Zoukan Harlequin + - id: 1504 + name: Harlequin Original + - id: 1505 + name: Bessatsu Harlequin + - id: 1500 + name: B.Pilz + - id: 1506 + name: Harlequin darling! + - id: 1507 + name: Dokodemo Young Champion + - id: 1499 + name: Mellow Kiss + - id: 1508 + name: ArkLight Comic + - id: 306 + name: Be-Love + - id: 46 + name: Young King OURs GH + - id: 1159 + name: ComicWalker + - id: 613 + name: G-men + - id: 161 + name: Jump SQ. + - id: 831 + name: Bessatsu CoroCoro Comic + - id: 1268 + name: e Young Magazine + - id: 1422 + name: B-BOY P! + - id: 516 + name: gateau + - id: 400 + name: b-Boy Phoenix + - id: 1343 + name: Men's Action + - id: 1521 + name: Comic KURiBERON Duma + - id: 881 + name: Monthly Hero's + - id: 35 + name: GFantasy + - id: 345 + name: Morning Two + - id: 1452 + name: Web Comic Gamma Plus + - id: 1517 + name: Moae + - id: 1434 + name: Tencent Animation + - id: 587 + name: Web Comic EDEN + - id: 803 + name: Niconico Seiga + - id: 699 + name: Viva☆Tales of Magazine + - id: 1514 + name: Sword Art Online Magazine + - id: 397 + name: Shougaku Gonensei + - id: 1295 + name: HiBaNa + - id: 1509 + name: Manga Bøys + - id: 556 + name: 4-koma Nano Ace + - id: 300 + name: Dengeki G's Festival! Comic + - id: 1520 + name: Bessatsu Shuuman Special + - id: 362 + name: Hontou ni Atta Yukai na Hanashi + - id: 1896 + name: Digital Margaret + - id: 1522 + name: marié + - id: 1523 + name: Manga Jam + - id: 1201 + name: Margaret BOOK Store! + - id: 1524 + name: BOY'S Pierce Kaihatsushitsu + - id: 1525 + name: Young King BULL + - id: 1527 + name: Web DenPlay Comic + - id: 1528 + name: Comic Hu + - id: 1530 + name: Young Jump GOLD + - id: 1526 + name: Nemuki+ + - id: 1529 + name: PriaL + - id: 1531 + name: Comic Qurie + - id: 1533 + name: ASCII Comic (Monthly) + - id: 1532 + name: Sonorama+ + - id: 1535 + name: Kirara Base + - id: 1538 + name: Gaugau Monster + - id: 1539 + name: Comic BE! + - id: 1540 + name: LINE Manga + - id: 1541 + name: Lynx + - id: 1536 + name: Harem + - id: 1543 + name: Manga Doa + - id: 1545 + name: Comic tint + - id: 1544 + name: Flat Hero's + - id: 1534 + name: Towako + - id: 1546 + name: Flos Comic + - id: 1547 + name: Comic Jardin + - id: 1552 + name: G's Comic Anothers + - id: 1551 + name: Gene LINE + - id: 1542 + name: Pinkcherie + - id: 1554 + name: Hana Yume Ai + - id: 1553 + name: B Bunch + - id: 1555 + name: Shounen Jump Zoukan + - id: 1556 + name: PFantapy + - id: 1561 + name: Hontou ni Atta Waraeru Hanashi Pinky + - id: 1557 + name: Comic Polca + - id: 1559 + name: Kimikoi + - id: 1558 + name: MAGxiv + - id: 1563 + name: Comic Fuz + - id: 1560 + name: Ananga Ranga + - id: 1564 + name: One Piece Magazine + - id: 1565 + name: Wild Hero's + - id: 1566 + name: Web .Bloom + - id: 1549 + name: GUSH maniaEX + - id: 1568 + name: Tulle + - id: 1567 + name: Web Baby + - id: 1570 + name: Tokyo Omegaverse + - id: 1573 + name: Kurofune x LINE Manga + - id: 1572 + name: Kurofune pixiv + - id: 1574 + name: Manga Mee + - id: 1575 + name: Young Dragon Age + - id: 1576 + name: Premium Cheese! + - id: 1569 + name: mimosa + - id: 1571 + name: Kurofune + - id: 1592 + name: Young Magazine Web + - id: 1593 + name: Manga Yomonga + - id: 1594 + name: Comic Hotmilk Koime♥ + - id: 1537 + name: Shounen Ace Plus + - id: 1577 + name: Grand Jump Mecha + - id: 1578 + name: Koisuru Soiree + - id: 108 + name: FBonline + - id: 37 + name: .hack//G.U. The World + - id: 251 + name: Millefeui + - id: 226 + name: b-Boy Luv + - id: 393 + name: LaLa Special + - id: 753 + name: Mugen Anthology Series + - id: 1187 + name: Young King OURs Lite + - id: 1516 + name: Morning Shin Magnum Zoukan + - id: 1562 + name: Big Comic Spirits Casual + - id: 1519 + name: COM + - id: 1595 + name: Comic Gucho + - id: 930 + name: Comic Zip + - id: 1550 + name: Afternoon Season Zoukan + - id: 511 + name: Famitsu Playstation+ + - id: 418 + name: b-Rash + - id: 1596 + name: Comic AOHA + - id: 1597 + name: Comic Moog Online + - id: 1598 + name: Weekly Kairaku-ten + - id: 1599 + name: Comic Reboot + - id: 1600 + name: Comic Aun Kai + - id: 1601 + name: Tasogare Shokudou + - id: 1602 + name: Bunshun Online + - id: 1604 + name: Comic Ride Advance + - id: 1605 + name: Yurutto Cafe + - id: 1608 + name: Byou de Wakaru BL + - id: 1606 + name: Love xxx Boys pixiv + - id: 1610 + name: Towako Oboro Emaki + - id: 1611 + name: Comic Miu + - id: 1612 + name: Comic Megastore Deep + - id: 1609 + name: Comic Bull + - id: 1582 + name: Dra-Dra Flat♭ + - id: 1613 + name: Comic Orga + - id: 1614 + name: Haiboku Otome Ecstasy + - id: 1616 + name: Web Opera + - id: 1615 + name: Comic Marginal&h + - id: 1618 + name: Charles Mag Kemono + - id: 1619 + name: Web Manga Bangaichi + - id: 1617 + name: Grand Jump Mucha + - id: 1620 + name: Web Haishin Gekkan + - id: 1622 + name: Pur Comics + - id: 1623 + name: Aokishi + - id: 1628 + name: Love Chula + - id: 1621 + name: miere + - id: 1624 + name: fRag + - id: 1626 + name: Shounen Action (Weekly) + - id: 1627 + name: Leed Cafe + - id: 1607 + name: Muteki Renai S*girl Anette + - id: 1625 + name: Colorful! + - id: 1603 + name: Love Passion + - id: 1630 + name: Web Canna + - id: 1631 + name: Comic Nettai + - id: 206 + name: Shounen Champion (Weekly) + - id: 354 + name: Manga Times (Weekly) + - id: 1633 + name: Strada+ + - id: 1632 + name: Comic RiSky + - id: 1634 + name: from RED + - id: 1636 + name: Dengeki Comic Regulus + - id: 1635 + name: Web Comic Apanta + - id: 1437 + name: One Pack Comic + - id: 627 + name: Boy's LOVE + - id: 1637 + name: Manga Leaf + - id: 1638 + name: Comic Bushiroad Web + - id: 1639 + name: Hontou ni Atta Yukai na Hanashi Geinou Zukyun + - id: 1641 + name: Love Kiss! More + - id: 1640 + name: Nanairo Comics + - id: 1642 + name: Comic Brise + - id: 1646 + name: Young Jump Battle + - id: 1653 + name: Canna Comics + - id: 1643 + name: Comic Marche + - id: 1644 + name: Betsufura + - id: 1648 + name: Comic Picn + - id: 1647 + name: Harta Alternative + - id: 1645 + name: Young Jump Sports + - id: 1193 + name: Comic Ran Twins Sengoku Bushou Retsuden + - id: 1650 + name: BiBit! + - id: 1652 + name: Spicy Whip + - id: 1657 + name: Super Action (Monthly) + - id: 1658 + name: '&.Emo' + - id: 1660 + name: Touhou Gairai Ihen (Web) + - id: 1662 + name: Young Jump Heroine + - id: 1664 + name: Otokonoko Heaven + - id: 1665 + name: Kindan Lovers Mania + - id: 1661 + name: NUUDE + - id: 1663 + name: Baby α + - id: 1659 + name: Touhou Gairai Ihen + - id: 1666 + name: Chouchou + - id: 1667 + name: Comic Grast + - id: 1668 + name: Harmony Prince + - id: 1669 + name: Zanki + - id: 1670 + name: Cyberia Maniacs + - id: 1672 + name: Sho-Comi X + - id: 1673 + name: Corona EX + - id: 1674 + name: CoroCoro Ichiban! + - id: 1675 + name: Mitsukoi Tiara + - id: 1676 + name: Nekoneko Yokochou + - id: 1677 + name: Love Coffre Magic + - id: 1678 + name: Comic Lake + - id: 1679 + name: Zhiyin Manke + - id: 1680 + name: Hero Cross Line + - id: 1681 + name: Bomtoon + - id: 14 + name: Asuka + - id: 1683 + name: B's-LOG Comic (Web Label) + - id: 1684 + name: Halloween + - id: 1686 + name: Toomics + - id: 1689 + name: Alive+ + - id: 1688 + name: Jour Sister + - id: 1690 + name: Ura Sunday Joshi-bu + - id: 1692 + name: Shounen Hana to Yume + - id: 1693 + name: Ri Geng Comics + - id: 1694 + name: Ryona King + - id: 1695 + name: Leed Comic Baku + - id: 1696 + name: Comic Nicola + - id: 1697 + name: noicomi + - id: 1699 + name: Shounen Book + - id: 1700 + name: Shousetsu Hanamaru + - id: 1701 + name: Rekishi Gunzou + - id: 1702 + name: Chocolove + - id: 1703 + name: Purizm + - id: 1704 + name: Hao Manhua + - id: 1707 + name: Mitsukoi Tiara Mania + - id: 1706 + name: Isekai Yanjan + - id: 1708 + name: What (Monthly) + - id: 1671 + name: Young Magazine Kaizokuban + - id: 1031 + name: Otokonoko Jidai + - id: 1710 + name: Comic Bonbon Zoukan + - id: 1709 + name: Toptoon + - id: 1711 + name: Trifle by Hana to Yume + - id: 1712 + name: Manga Gang + - id: 1713 + name: Ima, Grand Jump tte!! + - id: 1714 + name: Comic Nova + - id: 1716 + name: Strada + - id: 1715 + name: Shenman + - id: 1717 + name: Shougaku Rokunensei + - id: 1718 + name: Young Love Comic aya + - id: 1719 + name: Tezucomi + - id: 1720 + name: Peanutoon + - id: 1685 + name: Girigiri Edge + - id: 1651 + name: ARIA@pixiv + - id: 1722 + name: Comic Piatto + - id: 1723 + name: Dengeki Hime + - id: 1724 + name: Comic Alunna + - id: 1726 + name: Young Rosé + - id: 1728 + name: Omajinai Comic + - id: 1687 + name: Yoo + - id: 1727 + name: Web Karen + - id: 1725 + name: Comikuri! + - id: 1730 + name: Ayla Deluxe + - id: 1705 + name: Ane Cheese! + - id: 1682 + name: Rakuen Le Paradis Zoukan + - id: 1691 + name: Grand Jump Web + - id: 1721 + name: Renai Hakusho Sherry Kiss + - id: 1729 + name: '&Sofa' + - id: 1732 + name: Young King Lambda + - id: 1733 + name: mini Berry + - id: 1736 + name: Comic Howl + - id: 1735 + name: gateau near + - id: 1731 + name: CoroCoro Comic (Weekly) + - id: 1741 + name: Baby (Digital) + - id: 1742 + name: Comic Ragchew + - id: 1743 + name: Mystery Magazine + - id: 1744 + name: Omoshiro Book + - id: 1747 + name: Comic Trigger + - id: 1746 + name: Ruvill + - id: 1734 + name: petit Rose + - id: 1738 + name: Love Live! Days + - id: 1737 + name: Love Parfait + - id: 1739 + name: Daioh "g" pixiv + - id: 1740 + name: Manga Top + - id: 1745 + name: Yanchan Web + - id: 1749 + name: Comic Rakuu + - id: 1750 + name: Shougaku Ichinensei + - id: 1751 + name: Ecomix + - id: 1753 + name: Young Jump Daiichiwa + - id: 1748 + name: HanaYume EPO + - id: 1754 + name: Ichijin Plus + - id: 1755 + name: Comic Essay Gekijou + - id: 1752 + name: Souffle + - id: 1756 + name: Comic tant + - id: 425 + name: LC Mystery + - id: 1757 + name: Manga Gaudi + - id: 1759 + name: Bekkan Getsumaga + - id: 1760 + name: Renai Chocolat + - id: 1762 + name: Pie Comics + - id: 1763 + name: Dengeki Moeoh (Web) + - id: 1761 + name: Dragon HG + - id: 1765 + name: Cococomi + - id: 1766 + name: JusToon + - id: 1629 + name: Comic Shigekiteki Squirt!! + - id: 1767 + name: Comic Flapper (Web) + - id: 1768 + name: BL Renai Senka + - id: 1770 + name: Z + - id: 1771 + name: Le Noël + - id: 1772 + name: Comic Flavors + - id: 1773 + name: Comic Kisshug + - id: 1774 + name: Chillche + - id: 1775 + name: G's Channel + - id: 1778 + name: Young King (Monthly) + - id: 1777 + name: Mangapolo Zero + - id: 1779 + name: Mitaina! + - id: 1776 + name: Ane Petit Digital + - id: 1780 + name: Comic & Comic + - id: 1764 + name: Comic Bound + - id: 1781 + name: KITORA + - id: 1817 + name: Malika + - id: 1783 + name: Tokyo 2020 Paralympic Jump + - id: 1784 + name: Opa x Comi + - id: 1785 + name: Zipper Comic + - id: 1786 + name: e-manga + - id: 1787 + name: Adam + - id: 1790 + name: Manga Taishuu + - id: 1791 + name: Young Magazine GT + - id: 1792 + name: DRE Comics + - id: 1789 + name: Asuka (Web) + - id: 1788 + name: Kuro Mitsu + - id: 1794 + name: Getsumaga Kichi + - id: 1793 + name: Shoujo Friend Zoukan + - id: 1769 + name: Comic Baku + - id: 1796 + name: Manga Town Original + - id: 1797 + name: Chuugaku Ichinen Course + - id: 1798 + name: Comic Ogyaaa!! + - id: 1799 + name: Ciao Comi + - id: 1801 + name: Be x Boy Rookies VS + - id: 1802 + name: Empas Manhwa + - id: 1803 + name: Paran Manhwa + - id: 1804 + name: Manga Tengoku + - id: 1805 + name: Bebe + - id: 1807 + name: Verse by LiQulle + - id: 1808 + name: Friday Digital + - id: 1382 + name: Comic Kairaku-ten Hoshi-gumi + - id: 1800 + name: Isekai Raku-ten + - id: 1812 + name: Ciao Plus + - id: 1813 + name: JoJo Magazine + - id: 1811 + name: Televi-kun Super Hero Comics + - id: 1810 + name: Comptiq (Web) + - id: 1814 + name: Creative Comic Collection + - id: 1818 + name: Tokusen Mahjong + - id: 1816 + name: DigiKiss + - id: 1819 + name: Vanilove + - id: 1821 + name: Comic Yamitsuki + - id: 1822 + name: Michikusa + - id: 1823 + name: Galette meets + - id: 1820 + name: Deluxe Bonita + - id: 1824 + name: Biccomi + - id: 1825 + name: Hontou ni Atta Waraeru Hanashi + - id: 1827 + name: pixlib + - id: 1826 + name: AmarE + - id: 1828 + name: Champion Buzz + - id: 1830 + name: Comic Shiny + - id: 1831 + name: Comic Gaira + - id: 1829 + name: The Forward + - id: 1832 + name: Dengeki Maoh (Web) + - id: 1833 + name: All Kaidan + - id: 1834 + name: Yonimo Kimyou na Nekopanchi + - id: 1835 + name: Comic Growl + - id: 1836 + name: Gohan Biyori + - id: 1649 + name: Da Vinci Web + - id: 1837 + name: Niμ + - id: 1838 + name: HykeComic + - id: 47 + name: Young Champion + - id: 1840 + name: Love Kiss! + - id: 1839 + name: Primo + - id: 150 + name: AlphaPolis + - id: 1845 + name: Noche + - id: 1842 + name: Eternity + - id: 1843 + name: Regina + - id: 997 + name: Ciao DX Horror + - id: 1841 + name: '&arche' + - id: 1846 + name: Comic NOAN + - id: 1844 + name: α norn + - id: 1847 + name: Kyoufu no Yakata DX + - id: 1848 + name: Magazine Great + - id: 1849 + name: Televi-kun + - id: 1850 + name: Magazine WOoooo! Wolf + - id: 1851 + name: Chuuichi Jidai + - id: 1852 + name: Comp Ace Comic Connect + - id: 1853 + name: Young Magazine Kakehiki + - id: 1854 + name: Jack Pot + - id: 1856 + name: Comic Dengeki Daioh "g" (Web) + - id: 1855 + name: Comic Killa + - id: 1857 + name: Isekai Tensei LaLa + - id: 1858 + name: Comic G-Es + - id: 1859 + name: VComi + - id: 1860 + name: Yanjan Pixiv + - id: 1861 + name: Shounen Gag Oh + - id: 1864 + name: Comic GAGA + - id: 1862 + name: Story na Onna-tachi + - id: 1865 + name: Cybele Comic + - id: 1866 + name: Shounen Jump Season Special + - id: 1868 + name: Comic Isekai Harem + - id: 1867 + name: Season Jam + - id: 1869 + name: Xingqi Manhua + - id: 1870 + name: Our Feel + - id: 1863 + name: Mitsukoi Tiara Kemono + - id: 1871 + name: Bessatsu Manga Action + - id: 1873 + name: Sa Man Le Hua + - id: 1874 + name: Jumptoon + - id: 1875 + name: Hana to Yume Web + - id: 1876 + name: Captain Tsubasa Magazine + - id: 1878 + name: Lyrica + - id: 1879 + name: Comic Bunch Kai + - id: 1880 + name: Sunday Manga + - id: 1877 + name: Twi Sirius + - id: 1883 + name: Manga-gai + - id: 1881 + name: Comic Ride ivy + - id: 1882 + name: Comic Porta + - id: 1872 + name: Samanhua + - id: 1782 + name: Web Comic Toutetsu + - id: 1885 + name: Custom Comic + - id: 1884 + name: Hayacomi + - id: 1886 + name: Heibon Punch + - id: 1356 + name: Mikosurihan Gekijou Kyonyuu-chan + - id: 1282 + name: Mikosurihan Gekijou Bekkan + - id: 1887 + name: mimi DX + - id: 1888 + name: Papillon + - id: 1889 + name: Bilibili Manhua + - id: 1890 + name: 2D Comic Magazine + - id: 1891 + name: Story na Onna-tachi Black + - id: 1893 + name: Comic Cune (Web) + - id: 1894 + name: Comic Alunna (Web) + - id: 1892 + name: Comic Beam (Web) + - id: 1901 + name: Comic Kaien + - id: 1899 + name: Shiori + - id: 1900 + name: Bessatsu Katei Suspense + - id: 1898 + name: CandleA + - id: 1897 + name: Comic Unicorn + - id: 1902 + name: Goro + - id: 1904 + name: Novecomi+ + - id: 1905 + name: H&F Club + - id: 1903 + name: Web Comic Heaven + - id: 1906 + name: Shuro + - id: 1907 + name: Koi wa Omakase Special + - id: 1909 + name: Loli Babaa Senmon + - id: 1910 + name: Shinkan + - id: 1809 + name: Comic LOE + - id: 1912 + name: Young Unreal Jingai + - id: 1911 + name: ITAN Web Comic + - id: 1913 + name: Yuruyuru Nekopanchi + - id: 1914 + name: Seasons + - id: 1915 + name: Momopan + - id: 1916 + name: Digicomi Shinchou Com² + - id: 1917 + name: LiQulle pathos + - id: 1919 + name: Gaea Original + - id: 1920 + name: B's-LOVEY Comics + - id: 1918 + name: Chara Collection + - id: 1921 + name: Duo + - id: 1922 + name: Shoujo Friend Suspense & Horror Zoukan + - id: 1923 + name: Macross Ace + - id: 1908 + name: Tian Man + - id: 1924 + name: Hobby Japan Web + - id: 1925 + name: Dascomi + - id: 1926 + name: Omoide Shokudou Bekkan + - id: 1927 + name: Young Animal Web + - id: 1928 + name: Dungeon Kouryaku wa Sex de!! + - id: 1929 + name: iHZ + - id: 1957 + name: Lolita Comic Sakura + - id: 1930 + name: Comic Goranshin + - id: 1931 + name: Comic Momohime Deepest + - id: 1932 + name: Kyoufu Taiken + - id: 1933 + name: Nekotomo + - id: 1934 + name: Darkness na Onna-tachi + - id: 1935 + name: Jukujo Monogatari + - id: 1936 + name: Comic GEE + - id: 1937 + name: Biblio Sirius + - id: 1939 + name: Palcy NEXT + - id: 1938 + name: Web Otoko no Ko-llection! S (Monthly) + - id: 1940 + name: bibi + - id: 1942 + name: Hitori Gohan + - id: 1941 + name: Coi-halu + - id: 1943 + name: Comic Nyan2 Club GOLD + - id: 1944 + name: Ridi Webtoon + - id: 1945 + name: Naver Series + - id: 1946 + name: Kakao Webtoon + - id: 1947 + name: Little Girl Strike + - id: 1948 + name: Comic Happining + - id: 1949 + name: Fantasia Battle Royal + - id: 1951 + name: Famitsu DS+Wii + - id: 1950 + name: Marukatsu Super Famicom + - id: 1952 + name: Goraku Web! + - id: 1953 + name: Comic Oz + - id: 1954 + name: Comic Ambre + - id: 1956 + name: Estro + - id: 1955 + name: Manga Hot + - id: 1958 + name: Men's Dolphin + - id: 1959 + name: TakeComi! + - id: 1960 + name: Petit Apple Pie + - id: 1962 + name: Ultra Jump Niconico-ban + - id: 1963 + name: Comic Zerise + - id: 1981 + name: Carmilla + - id: 1982 + name: Oreryuu! Zeppin Meshi + - id: 1965 + name: Comic G.G. + - id: 1966 + name: G-Edge + - id: 1961 + name: Tsuma Petit + - id: 1968 + name: CoroCiao + - id: 1969 + name: GA Comic + - id: 51 + name: Be-Boy Gold + - id: 1970 + name: Manman Manhua + - id: 1967 + name: Mystery Sara + - id: 1971 + name: Comic Y-OURS + - id: 1972 + name: Comic Aily + - id: 1973 + name: Omoide Shokudou + - id: 1974 + name: Tokumori Comic Hitozuma Jukujozakari + - id: 1976 + name: ARTEMIS by sirius + - id: 1975 + name: Jitsuwa Bunka Taboo + - id: 1977 + name: Kirapichi + - id: 1978 + name: The Gazelle + - id: 1979 + name: Canelé + - id: 1980 + name: peep + - id: 1984 + name: Action Hero + body_text: null + body_b64: null diff --git a/test/fixtures/shikimori/publishers/03-kodansha-limit1000.yaml b/test/fixtures/shikimori/publishers/03-kodansha-limit1000.yaml new file mode 100644 index 0000000..21169c2 --- /dev/null +++ b/test/fixtures/shikimori/publishers/03-kodansha-limit1000.yaml @@ -0,0 +1,3104 @@ +metadata: + captured_at: '2026-05-11T08:09:52Z' + label: kodansha-limit1000 + backend: shikimori + path_slug: publishers +request: + method: GET + url: https://shikimori.io/api/publishers?limit=1000 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: ddos-guard + Connection: keep-alive + Keep-Alive: timeout=60 + Set-Cookie: + Content-Security-Policy: upgrade-insecure-requests; + Date: Mon, 11 May 2026 08:09:51 GMT + Content-Type: application/json; charset=utf-8 + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: '0' + X-Content-Type-Options: nosniff + X-Permitted-Cross-Domain-Policies: none + Referrer-Policy: strict-origin-when-cross-origin + ETag: W/"aeb4750682ccef742191d2b40c253cfd" + Cache-Control: max-age=0, private, must-revalidate + X-Request-Id: c4c44874-8876-41d6-aef8-39e3480982b2 + X-Runtime: '0.147785' + vary: Accept, Origin + Content-Encoding: gzip + Transfer-Encoding: chunked + body_json: + - id: 1510 + name: Web Action + - id: 1491 + name: equal + - id: 1511 + name: Natsuyoshi + - id: 1494 + name: Manga DX + - id: 1512 + name: Paru + - id: 1515 + name: Comica + - id: 1513 + name: '&Flower' + - id: 1518 + name: Group + - id: 298 + name: BonBon + - id: 1 + name: Big Comic Original + - id: 2 + name: Young Animal + - id: 4 + name: Afternoon + - id: 6 + name: Young Magazine (Monthly) + - id: 8 + name: Shounen Magazine (Weekly) + - id: 9 + name: Ribon Magazine + - id: 10 + name: Young Magazine (Weekly) + - id: 11 + name: LaLa + - id: 12 + name: Weekly Shounen Sunday + - id: 13 + name: Shounen Gangan + - id: 1698 + name: Web BULL + - id: 15 + name: Cookie + - id: 16 + name: Zipper + - id: 17 + name: Margaret + - id: 19 + name: From Gamers + - id: 20 + name: Nakayoshi + - id: 21 + name: Hana to Yume + - id: 24 + name: Young Gangan + - id: 25 + name: Ultra Jump + - id: 26 + name: Eyes + - id: 28 + name: Comic Blade + - id: 30 + name: Comic Blade Masamune + - id: 31 + name: Newtype + - id: 33 + name: Comic Gum + - id: 1579 + name: Comic ELMO + - id: 36 + name: Asuka Comics DX + - id: 38 + name: Comptiq + - id: 39 + name: Amie Magazine + - id: 41 + name: Gekkan Dragon Magazine + - id: 42 + name: Stencil + - id: 45 + name: Wings + - id: 48 + name: Shounen Magazine (Monthly) + - id: 49 + name: Animerica Extra + - id: 53 + name: Bessatsu Margaret + - id: 54 + name: Betsucomi + - id: 55 + name: Big Comic + - id: 57 + name: Business Jump + - id: 58 + name: Chorus + - id: 59 + name: Ciao + - id: 62 + name: Comic Dengeki Moeoh + - id: 63 + name: Comic Dengeki Teioh + - id: 64 + name: Dragon Junior + - id: 66 + name: GanGan Comics + - id: 67 + name: GanGan Wing + - id: 68 + name: Gundam Ace + - id: 70 + name: Magazine-Z + - id: 71 + name: Melody + - id: 72 + name: Morning + - id: 73 + name: Petit Comic + - id: 74 + name: Princess + - id: 75 + name: Pulp + - id: 79 + name: Shojo Beat + - id: 81 + name: Weekly Shounen Champion + - id: 83 + name: Shounen Jump (Weekly) + - id: 85 + name: Super Jump + - id: 86 + name: Super Manga Blast + - id: 87 + name: Young Jump + - id: 89 + name: Young Sunday (Weekly) + - id: 90 + name: Young You + - id: 91 + name: Comic Birz + - id: 92 + name: Comic Bunch + - id: 94 + name: JuniorChamp + - id: 95 + name: Dessert + - id: 97 + name: Asuka Fantasy DX + - id: 98 + name: Dragon Age + - id: 99 + name: Dear+ + - id: 100 + name: Shounen Sirius + - id: 103 + name: Feel Young + - id: 104 + name: Comique Hug + - id: 105 + name: Ace Next + - id: 106 + name: Horror Comics Special + - id: 107 + name: Genzo + - id: 110 + name: Comic ZERO-SUM + - id: 40 + name: Sunday Gene-X + - id: 3 + name: Big Comic Spirits + - id: 18 + name: Dengeki Comic Gao! + - id: 93 + name: Comic REX + - id: 22 + name: Sho-Comi + - id: 88 + name: Young King OURs + - id: 27 + name: Shounen Ace + - id: 96 + name: Fig + - id: 23 + name: Dengeki Daioh + - id: 111 + name: Bessatsu Friend + - id: 112 + name: Comp Ace + - id: 282 + name: Shounen Champion (Monthly) + - id: 76 + name: Go Go Bunch + - id: 109 + name: Comic Bonbon + - id: 102 + name: Comic Crimson + - id: 113 + name: Kiss + - id: 114 + name: Comic Beam + - id: 115 + name: Famitsu + - id: 116 + name: Magazine E-no + - id: 118 + name: Young Animal Arashi + - id: 119 + name: Comic Blade Zebel + - id: 120 + name: Young Magazine Uppers + - id: 121 + name: Flowers (Monthly) + - id: 122 + name: Comic High! + - id: 123 + name: Kimi to Boku + - id: 124 + name: Cheese! + - id: 125 + name: Aqua Comics + - id: 126 + name: Magazine Be x Boy + - id: 127 + name: Beans Ace + - id: 128 + name: Magazine Special + - id: 129 + name: Shounen Jump (Monthly) + - id: 130 + name: June Comics + - id: 133 + name: Chara + - id: 134 + name: Wink + - id: 135 + name: LaLa DX + - id: 136 + name: Ikki + - id: 137 + name: Comic Alive + - id: 138 + name: Hanaoto + - id: 139 + name: Flower Comics Special + - id: 141 + name: Shousetsu June + - id: 143 + name: Shogakukan Books + - id: 145 + name: June Comics Piace Series + - id: 146 + name: Be x Boy Novels + - id: 147 + name: Super Beboy Comics + - id: 149 + name: Asuka Ciel + - id: 1580 + name: echoz + - id: 151 + name: Asuka Mystery DX + - id: 153 + name: Piace + - id: 156 + name: drap + - id: 157 + name: Shy + - id: 158 + name: Shounen Captain + - id: 163 + name: Dengeki Maoh + - id: 165 + name: Ribon Original + - id: 166 + name: Princess Gold + - id: 167 + name: Mystery Bonita + - id: 168 + name: V-Jump + - id: 169 + name: Manga Time Lovely + - id: 170 + name: ChuChu + - id: 171 + name: Evening + - id: 173 + name: Weekly Playboy + - id: 174 + name: Comic Flapper + - id: 175 + name: Comic Rush + - id: 176 + name: Bessatsu Hana to Yume + - id: 177 + name: Zero-Sum WARD + - id: 179 + name: Biblos + - id: 180 + name: Daiwon + - id: 182 + name: Manga Time Kirara + - id: 184 + name: Reijin + - id: 186 + name: Champion RED + - id: 187 + name: Nemuki + - id: 188 + name: Craft + - id: 189 + name: Aqua Deep + - id: 190 + name: Friend + - id: 191 + name: Boys L + - id: 192 + name: Daria + - id: 193 + name: Comic Cue + - id: 195 + name: Bamboo Comics + - id: 196 + name: Comic Burger + - id: 203 + name: Daito Comics Boys Love + - id: 209 + name: Prism Bunko + - id: 212 + name: Judy + - id: 215 + name: Comi Digi + - id: 216 + name: Young Champion Retsu + - id: 217 + name: Alice + - id: 218 + name: Marukatsu Famicom + - id: 221 + name: Shy Novels + - id: 222 + name: Chara Bunko + - id: 223 + name: B-Boy Slash Novels + - id: 225 + name: Silky + - id: 213 + name: CoroCoro Comic + - id: 219 + name: HertZ + - id: 162 + name: Comic B's-LOG + - id: 178 + name: Gust + - id: 159 + name: RuTile + - id: 132 + name: Shousetsu Chocolat + - id: 152 + name: CIEL TrèsTrès + - id: 198 + name: Dengeki G's magazine + - id: 199 + name: Ribon Bikkuri + - id: 148 + name: Rakuen Web Zoukan + - id: 117 + name: Monthly Action + - id: 227 + name: Love Mission + - id: 230 + name: Junk! Boy + - id: 211 + name: Sho-Comi Zoukan + - id: 210 + name: '@vitamin' + - id: 202 + name: Denshi Birz + - id: 140 + name: Dengeki Bunko Magazine + - id: 201 + name: Kero-kero Ace + - id: 154 + name: Candy Time + - id: 214 + name: E★Everystar + - id: 205 + name: Star☆Girls + - id: 131 + name: GUSH + - id: 197 + name: Cotton Comic + - id: 172 + name: Samurai Ace + - id: 231 + name: Bonita + - id: 232 + name: Deluxe Betsucomi + - id: 233 + name: Kibou no Tomo + - id: 234 + name: Comic Valkyrie + - id: 237 + name: Gothic & Lolita Bible + - id: 240 + name: Bessatsu Young Magazine + - id: 244 + name: Shounen Rival + - id: 246 + name: Novel Japan + - id: 247 + name: Yuri Shimai + - id: 248 + name: Harlequin + - id: 249 + name: Akamaru Jump + - id: 250 + name: Garo + - id: 252 + name: Comic Chara + - id: 254 + name: Ribon Mascot + - id: 255 + name: Deluxe Margaret + - id: 256 + name: SF Adventure + - id: 258 + name: Comic Hotmilk + - id: 260 + name: Dragon Age Pure + - id: 263 + name: Mandala + - id: 264 + name: Big Comic Superior + - id: 266 + name: Cheese! Zoukan + - id: 267 + name: Comic Dragon + - id: 268 + name: Comic Seed! + - id: 269 + name: Comic Avarus + - id: 270 + name: Comic Sai + - id: 272 + name: Ergo + - id: 277 + name: Wonderland + - id: 280 + name: Ace Tokunou + - id: 283 + name: AX + - id: 285 + name: Ohzora Shuppan + - id: 286 + name: Ichiraci + - id: 287 + name: Special Edition Girls' Comic + - id: 288 + name: Seventeen (Monthly) + - id: 289 + name: Petit Flower + - id: 291 + name: SF Magazine + - id: 292 + name: Manga Time Natural + - id: 294 + name: Big Comic for Ladies + - id: 295 + name: Karen + - id: 297 + name: Mist Magazine + - id: 299 + name: Big Gold + - id: 1548 + name: GUSH pit + - id: 301 + name: Manga Shounen + - id: 302 + name: Bouquet + - id: 304 + name: Cutie Comic + - id: 308 + name: Me + - id: 309 + name: Shoujo Friend + - id: 310 + name: Meng Meng Guan + - id: 311 + name: Tales of Magazine + - id: 312 + name: Dragon Magazine + - id: 313 + name: The Margaret + - id: 314 + name: Cookie BOX + - id: 315 + name: Comic Aqua + - id: 316 + name: good! Afternoon + - id: 318 + name: Dengeki Kuro Maoh + - id: 319 + name: Shoujo Teikoku + - id: 320 + name: Pre-Comic Bunbun + - id: 321 + name: Mellow Mellow + - id: 322 + name: Issue + - id: 324 + name: Fellows! + - id: 325 + name: Quick Japan + - id: 326 + name: Kindai Mahjong Original + - id: 327 + name: Infernal Boys + - id: 328 + name: Comic Tenma + - id: 329 + name: The Sneaker + - id: 330 + name: Cobalt + - id: 332 + name: Racish + - id: 333 + name: Chara Selection + - id: 336 + name: Fairbell Comics + - id: 337 + name: Cita Cita + - id: 339 + name: Men's Young + - id: 341 + name: Serie Mystery + - id: 343 + name: Televi Magazine + - id: 344 + name: Televi Magazine Zoukan Tele Manga Heros + - id: 1581 + name: Comic Berry's + - id: 346 + name: KG + - id: 348 + name: Comic LO + - id: 307 + name: YOU + - id: 290 + name: Tonari no Young Jump + - id: 229 + name: Shounen Sunday + - id: 279 + name: Gekkan! Spirits + - id: 350 + name: Comic Marble + - id: 351 + name: Doki~! + - id: 1654 + name: Comic Vamp + - id: 355 + name: Manga Time + - id: 271 + name: Comic@loid + - id: 305 + name: Web Comic Action + - id: 276 + name: FlexComix Blood + - id: 281 + name: Comic Gamest + - id: 335 + name: Yuri☆Koi + - id: 331 + name: Phryné + - id: 265 + name: Young King OURs+ + - id: 257 + name: IQ Jump + - id: 261 + name: Ichiban Suki + - id: 245 + name: Gangan Powered + - id: 342 + name: Dengeki D-manga Online + - id: 273 + name: Dengeki Daioh Web Comic + - id: 274 + name: b-Boy Zips + - id: 239 + name: Mugenkan + - id: 356 + name: Manga Time Original + - id: 358 + name: Manga Time Family + - id: 359 + name: Manga Time Jumbo + - id: 360 + name: Manga Time Special + - id: 361 + name: Manga Time Kirara Carat + - id: 284 + name: Shougaku Sannensei + - id: 365 + name: Manga Time Kirara Forward + - id: 366 + name: Suspiria + - id: 367 + name: Kindai Mahjong + - id: 369 + name: Vitaman + - id: 370 + name: Renai Paradise + - id: 371 + name: Manga Allman + - id: 375 + name: Manga Club + - id: 376 + name: Manga Club Original + - id: 377 + name: Manga Home + - id: 378 + name: Pachinko 777 + - id: 379 + name: Manga Life + - id: 380 + name: Manga Life Original + - id: 381 + name: Neko Para + - id: 384 + name: Namaiki! + - id: 385 + name: Melon Comic + - id: 388 + name: Charade + - id: 389 + name: Egoist + - id: 390 + name: Office YOU + - id: 391 + name: Kindai Mahjong Gold + - id: 392 + name: Chara Mel + - id: 394 + name: Opera + - id: 395 + name: The Hana to Yume + - id: 396 + name: Comic Magazine LYNX + - id: 1583 + name: Shousetsu Wings + - id: 401 + name: Web Comic High! + - id: 402 + name: Dengeki PlayStation + - id: 403 + name: Young Ace + - id: 404 + name: Comic Megastore + - id: 408 + name: Manga Erotics F + - id: 409 + name: Rinka + - id: 410 + name: Comic Ryu + - id: 411 + name: Shounen Sunday Super + - id: 412 + name: Gangan Joker + - id: 413 + name: Petit Princess + - id: 414 + name: Bushiroad TCG Magazine + - id: 415 + name: Morning KC + - id: 416 + name: Party + - id: 417 + name: Comic Yuri Hime S + - id: 420 + name: Sugar + - id: 421 + name: Sylph + - id: 423 + name: Comic Yuri Hime + - id: 424 + name: Ichibansuki + - id: 1795 + name: MeltyBullet + - id: 426 + name: Chance + - id: 428 + name: Comic Momohime + - id: 429 + name: Mr. Magazine + - id: 430 + name: Fujimi Fantasia Bunko + - id: 431 + name: Studio Voice + - id: 432 + name: Un Poco + - id: 433 + name: Mobile Flower + - id: 434 + name: Champion RED Ichigo + - id: 435 + name: Generous Kiss + - id: 436 + name: Hanamaru + - id: 437 + name: Mon Mon + - id: 439 + name: NyanType + - id: 440 + name: FlexComix Next + - id: 442 + name: Flex Comix + - id: 443 + name: Comic Fans + - id: 445 + name: Magi-Cu + - id: 447 + name: Kurofune Zero + - id: 448 + name: Shounen Takarajima (Weekly) + - id: 449 + name: Anise Magazine + - id: 450 + name: Bessatsu Shounen Magazine + - id: 451 + name: Young Comic + - id: 452 + name: Comic Masyo + - id: 453 + name: Dengeki Teioh + - id: 454 + name: KERA + - id: 455 + name: Young Manga + - id: 456 + name: Uppers (Kodansha) + - id: 457 + name: Enjuru + - id: 458 + name: Nikutaiha + - id: 459 + name: Yomban + - id: 460 + name: Cab + - id: 461 + name: Super Dash Bunko + - id: 462 + name: Kinniku Otoko + - id: 463 + name: Shounen Big Comic + - id: 464 + name: Comic Penguin Club + - id: 465 + name: Dragon Youth + - id: 466 + name: Citron + - id: 467 + name: BGM + - id: 468 + name: Bokura + - id: 469 + name: Pureri + - id: 419 + name: Gangan Online + - id: 363 + name: Manga Time Kirara MAX + - id: 470 + name: Tsubomi + - id: 471 + name: Ichijinsha Mobile + - id: 472 + name: Catalogue Series + - id: 473 + name: MARBLE + - id: 475 + name: Comic BunBun + - id: 399 + name: Comic Spica + - id: 446 + name: Comic Flamingo R + - id: 398 + name: Comic Mahou no iLand + - id: 406 + name: Comic Master + - id: 438 + name: Ribon Deluxe + - id: 476 + name: Dengeki Nintendo DS + - id: 477 + name: Vanilla + - id: 478 + name: Swan Magazine + - id: 479 + name: TYPE-MOON Ace + - id: 480 + name: Hanaoto DX + - id: 482 + name: CIEL + - id: 483 + name: Shounen King + - id: 484 + name: Jump SQ.19 + - id: 485 + name: Oh Super Jump + - id: 487 + name: Comic Potpourri Club + - id: 488 + name: Jidaigeki Manga JIN + - id: 489 + name: Web Magazine Wings + - id: 490 + name: ZERO + - id: 491 + name: AniSen + - id: 492 + name: Comic Gaia + - id: 493 + name: Kirara 16 + - id: 494 + name: Dengeki Daioh Genesis + - id: 495 + name: Comic Shingeki + - id: 498 + name: Mephisto + - id: 499 + name: ARIA + - id: 502 + name: Comic Comp + - id: 503 + name: Ace Assault + - id: 504 + name: Booking + - id: 505 + name: Nemesis + - id: 506 + name: Ultra Jump Egg + - id: 507 + name: Hitomi + - id: 508 + name: Comic NORA + - id: 509 + name: Comic Candoll + - id: 510 + name: Muteki Renai S*girl + - id: 512 + name: super Robot Magazine + - id: 513 + name: E★2 + - id: 514 + name: Action Pizazz + - id: 515 + name: Shounen Jets (Monthly) + - id: 517 + name: Comic Charge + - id: 518 + name: Comic YA! + - id: 519 + name: Ace Momogumi + - id: 520 + name: Comic Tom (Monthly) + - id: 521 + name: Comic Tom Plus + - id: 523 + name: Comic Kwai + - id: 525 + name: Comic Sangokushi + - id: 526 + name: Shonen Shojo Bokeno + - id: 527 + name: Shounen Club + - id: 530 + name: Mobile Man + - id: 531 + name: MiChao + - id: 532 + name: Famitsu Comic Clear + - id: 533 + name: Comic Kairaku-ten + - id: 534 + name: Horror M + - id: 535 + name: Young Jump (Monthly) + - id: 536 + name: Megami Magazine + - id: 537 + name: Action Pizazz DX + - id: 538 + name: WAaI! + - id: 539 + name: Yomiuri Shimbun + - id: 541 + name: Aqua PiPi + - id: 542 + name: Super Strong Jump + - id: 543 + name: Comic Sumomo + - id: 545 + name: Rakuen Le Paradis + - id: 546 + name: Play Comic + - id: 547 + name: Nakayoshi Lovely + - id: 548 + name: Shounen Jump NEXT! + - id: 550 + name: Canna + - id: 551 + name: Apple Collection + - id: 552 + name: Comic Manga Ou + - id: 553 + name: BLink + - id: 555 + name: Comic Mujin + - id: 1585 + name: Kindan Lovers + - id: 557 + name: pocopoco + - id: 558 + name: Comic Hanaman + - id: 559 + name: Comic B's-LOG Air Raid + - id: 560 + name: Young Animal Island + - id: 562 + name: Comic Champ + - id: 564 + name: ITAN + - id: 565 + name: Web Comic Beat's + - id: 567 + name: Jump X + - id: 569 + name: Comic Unreal + - id: 571 + name: Comic Aun + - id: 573 + name: Comic Gene + - id: 575 + name: Young King + - id: 577 + name: Buster Comic + - id: 579 + name: Comic RiN + - id: 474 + name: RuTiLe Sweet + - id: 529 + name: b-Boy Honey + - id: 500 + name: Manga Sunday + - id: 581 + name: Comic Kairaku-ten Beast + - id: 582 + name: Comic Megastore H + - id: 584 + name: Comic Yell! + - id: 585 + name: Comic MegaMilk + - id: 589 + name: Comic Shitsuraku-ten + - id: 561 + name: Bessatsu Young Champion + - id: 486 + name: Ane-kei Petit Comic + - id: 522 + name: Dengeki Hobby Magazine + - id: 540 + name: Kiss PLUS + - id: 549 + name: Niconico Yuri Hime + - id: 524 + name: JC.COM + - id: 496 + name: Febri + - id: 501 + name: Asahi Shougakusei Shinbun + - id: 554 + name: Comic Bee + - id: 544 + name: Oto☆Nyan + - id: 528 + name: Comic B's-LOG Kyun! + - id: 591 + name: Gessan + - id: 593 + name: Club Sunday + - id: 595 + name: Comic Penguin Club Sanzokuban + - id: 597 + name: New Youth + - id: 601 + name: Comic Purumelo + - id: 605 + name: Comic@Bunch + - id: 607 + name: Manga Goraku + - id: 609 + name: Comic XO + - id: 611 + name: Ciao DX + - id: 615 + name: Web Comic Gekkin + - id: 617 + name: Comic MILF + - id: 621 + name: For Mrs. + - id: 623 + name: Comic Plum + - id: 625 + name: Koi June + - id: 1655 + name: Manga Life Joshi-bu + - id: 629 + name: BOY'S Pierce + - id: 631 + name: Comic June + - id: 633 + name: Comic P Flirt + - id: 635 + name: Nekopanchi + - id: 637 + name: Web Spica + - id: 639 + name: Comic MegaCube + - id: 641 + name: Angel Club + - id: 643 + name: Comic Himedorobow + - id: 645 + name: Jun-ai Kajitsu + - id: 647 + name: Comic Bazooka + - id: 649 + name: Comic Pot + - id: 651 + name: Karyou Gakuen Shotoubu + - id: 653 + name: Newtype Ace + - id: 655 + name: Manga Bangaichi + - id: 659 + name: Comic Sigma + - id: 661 + name: Comic Papipo + - id: 663 + name: Shoujo Club + - id: 665 + name: Boys Capi! + - id: 667 + name: Kuro LaLa + - id: 669 + name: Shiro LaLa + - id: 671 + name: Comic Karyou Gakuen + - id: 679 + name: Action Pizazz Special + - id: 681 + name: Comic Hime-Sakura + - id: 683 + name: Bishoujo Kakumei KIWAME + - id: 685 + name: Comic Dolphin + - id: 687 + name: Canopri Comic + - id: 689 + name: Manga Goraku dokuhon + - id: 691 + name: Miracle Jump + - id: 693 + name: Super Dash & Go! + - id: 695 + name: JUNE + - id: 697 + name: Saikyou Jump + - id: 1584 + name: Berry's Fantasy + - id: 701 + name: Zero-Sum Online + - id: 703 + name: Ribon Special + - id: 705 + name: Big Gangan + - id: 711 + name: Sakura Hearts + - id: 713 + name: Gagaga Bunko + - id: 715 + name: FlexComix Flare + - id: 717 + name: Comic Penguin Celeb + - id: 719 + name: Comic Zenon + - id: 721 + name: Boys Jam! + - id: 723 + name: Next Comic First + - id: 725 + name: Edith + - id: 727 + name: Tech Gian + - id: 731 + name: Comic Are! + - id: 733 + name: Tokage + - id: 735 + name: Mink + - id: 737 + name: Dengeki Moeoh + - id: 739 + name: Age Premium + - id: 741 + name: Altima Ace + - id: 743 + name: Comic Fantasy + - id: 745 + name: Pianissimo + - id: 747 + name: Ubu Mode + - id: 749 + name: Elegance Eve + - id: 751 + name: Comic Noizy + - id: 755 + name: moca + - id: 757 + name: Cheri + - id: 759 + name: Comic Situation Play + - id: 761 + name: Comic Comomo + - id: 763 + name: Men's Gold + - id: 765 + name: Comic MESSI + - id: 767 + name: Comic Mate + - id: 769 + name: Comic GEKI-YABA + - id: 771 + name: Comic ino. + - id: 773 + name: 2D Dream Magazine + - id: 775 + name: Comic Prism + - id: 777 + name: Video Boy + - id: 779 + name: Giga 69 + - id: 707 + name: Comic Earth☆Star + - id: 673 + name: Naver Webtoon + - id: 619 + name: Comic Megaplus + - id: 603 + name: Comic 0EX + - id: 781 + name: Koushoku Shounen + - id: 783 + name: Otome High! + - id: 785 + name: Comic Zero-Shiki + - id: 787 + name: World Soccer King + - id: 789 + name: Romance Tiara + - id: 791 + name: Girls forM + - id: 599 + name: Jour Suteki na Shufu-tachi + - id: 677 + name: Comic Be + - id: 729 + name: Hana to Yume Online + - id: 657 + name: Bishoujo-teki Kaikatsuryoku + - id: 793 + name: Bessatsu Friend Zoukan BetsuFure + - id: 795 + name: Dengeki Hime + - id: 675 + name: Jump SQ.LaB + - id: 797 + name: Comic Historia + - id: 799 + name: Dengeki Comic Japan + - id: 801 + name: Comic Dangan + - id: 1587 + name: Manga Gaugau + - id: 805 + name: Ao Lala + - id: 813 + name: Bessatsu Shounen Champion + - id: 815 + name: Betsuma Sister + - id: 817 + name: Cocohana + - id: 821 + name: onBLUE + - id: 823 + name: Manga Life Win + - id: 1057 + name: Kissui + - id: 827 + name: Comic Meteor + - id: 829 + name: Renai Love MAX + - id: 833 + name: Gelatin + - id: 835 + name: Renai Cherry Pink + - id: 837 + name: Young Jump (Weekly) + - id: 839 + name: Famitsu Bros + - id: 841 + name: Famitsu PS2 + - id: 843 + name: Famitsu PS + - id: 847 + name: Manga Action + - id: 849 + name: Dengeki Nintendo for KIDS + - id: 851 + name: Comic Break + - id: 853 + name: Comic Ran + - id: 855 + name: Shougaku Yonensei + - id: 857 + name: Blade Online + - id: 859 + name: Shounen Magazine+ (Monthly) + - id: 863 + name: Aka Lala + - id: 865 + name: Baby + - id: 867 + name: Comic BugBug + - id: 869 + name: Comic Milk Purin + - id: 871 + name: Comic Mega Gold + - id: 873 + name: Comic Jumbo + - id: 875 + name: Comic Kairaku-ten XTC + - id: 879 + name: WAaI! Mahalo + - id: 885 + name: MF Bunko J + - id: 889 + name: Grand Jump Premium + - id: 891 + name: MAG Garden Comic Online + - id: 893 + name: Manga Town + - id: 897 + name: Tonari no Young Jump + - id: 899 + name: Oyajism + - id: 901 + name: Hontou ni Atta Kowai Hanashi + - id: 903 + name: Comic Cyutt + - id: 905 + name: B'S Anima + - id: 907 + name: Cita-NIUM + - id: 910 + name: Bessatsu Manga Goraku + - id: 912 + name: Manga Palette Lite + - id: 914 + name: Leed Comic + - id: 916 + name: Blade Online + - id: 918 + name: Shougaku Ninensei + - id: 920 + name: Manga Goccha + - id: 922 + name: The Dessert + - id: 924 + name: GUSH pêche + - id: 926 + name: Young Champ + - id: 928 + name: Hobby Japan + - id: 932 + name: GA Bunko Magazine + - id: 933 + name: u17 + - id: 935 + name: Manga Time Kirara Miracle! + - id: 937 + name: Shounen + - id: 939 + name: Gangan Wing + - id: 941 + name: Comic Heaven + - id: 943 + name: Comic Polaris + - id: 945 + name: Weekly ASCII + - id: 947 + name: Grand Jump + - id: 949 + name: Persona Magazine + - id: 951 + name: Reijin Bravo! + - id: 953 + name: Harta + - id: 955 + name: Comic X-Eros + - id: 957 + name: Comic Milk Purin + - id: 959 + name: Comic Prism + - id: 961 + name: Comic Situation Play + - id: 963 + name: Comic ino. + - id: 965 + name: Comic Orecano! + - id: 967 + name: Jump VS + - id: 969 + name: Comic Comomo + - id: 971 + name: Men's GOLD + - id: 973 + name: Comic Mate + - id: 975 + name: Renai Revolution + - id: 977 + name: Comic Moe Max + - id: 979 + name: Bishoujo Kakumei KIWAME Road + - id: 981 + name: Comic Maihime Musou + - id: 983 + name: Comic Anthurium + - id: 985 + name: Shousetsu B-Boy + - id: 987 + name: Comic Rats + - id: 989 + name: Magazine WOoooo! + - id: 991 + name: Colorful Drops + - id: 993 + name: Comic Magnum + - id: 995 + name: Comic Jumbo + - id: 845 + name: Daum Webtoon + - id: 811 + name: Hirari, + - id: 1586 + name: Manga Bang + - id: 999 + name: Saizensen + - id: 1001 + name: Cheri+ + - id: 1003 + name: Comic Shoujo Shiki + - id: 1005 + name: Ura Sunday + - id: 1007 + name: Kadokawa Niconico Ace + - id: 1009 + name: bianca + - id: 1011 + name: Comic Himekuri + - id: 1013 + name: Jump LIVE + - id: 1015 + name: Champion Tap! + - id: 1017 + name: Comic Revolution + - id: 1019 + name: Action Pizazz HB + - id: 1021 + name: Comic Megastore Alpha + - id: 1023 + name: haruca + - id: 1025 + name: B's-LOVEY recottia + - id: 1027 + name: Comic Shoujo Tengoku + - id: 1029 + name: Comic Moog + - id: 1033 + name: Manga 4-koma Palette + - id: 1035 + name: Men's Young Special Ikazuchi + - id: 1037 + name: Action Young + - id: 1039 + name: ihr hertZ + - id: 1041 + name: Hinakan Hi! + - id: 1045 + name: Futabasha Web Magazine + - id: 1047 + name: Manga Aiki + - id: 1049 + name: Cabaret-Club Comic + - id: 1051 + name: Comic Muga + - id: 1053 + name: Comic Mugen Tensei + - id: 1055 + name: Comic Lemon Club + - id: 1059 + name: LaLa Melody Online + - id: 1061 + name: Manga Box + - id: 1063 + name: Kurage Bunch + - id: 1065 + name: BOX-AiR + - id: 1067 + name: Young Hip + - id: 1069 + name: Magazine WOoooo! B-gumi + - id: 1071 + name: Hana to Yume Plus + - id: 1073 + name: ChobeComi! + - id: 1075 + name: Hontou ni Kowai Douwa + - id: 1077 + name: Nate Manhwa + - id: 1079 + name: Web Ikipara Comic + - id: 1081 + name: Comic Minimon + - id: 1083 + name: Comic KOH + - id: 1085 + name: Comic Gekiman + - id: 1087 + name: KiSSCA + - id: 1089 + name: Manga Time Kirara☆Magica + - id: 1091 + name: Prince (Quarterly) + - id: 1093 + name: Model Graphix + - id: 1095 + name: Harmony Romance Zoukangou + - id: 1097 + name: Yawaraka Spirits + - id: 1099 + name: Comic Gamma + - id: 1101 + name: Manga Hot Milk + - id: 1103 + name: Web Comic Gamma + - id: 1105 + name: Gensou Fantasy + - id: 1107 + name: Magazine Cyberia + - id: 1109 + name: B's-LOVEY Katsubou + - id: 1111 + name: Comic Dolphin Jr. + - id: 1113 + name: Comic Grape + - id: 1115 + name: Doki~! Special + - id: 1117 + name: Comic Pururun Max + - id: 1119 + name: G'sister + - id: 1121 + name: Young Animal Densi + - id: 1123 + name: Comic Ran Twins + - id: 1125 + name: motto! + - id: 1127 + name: Mei + - id: 1129 + name: Fresh Jump + - id: 1131 + name: Manga Bon + - id: 1133 + name: Manga Ai! Hime + - id: 1135 + name: Suiyoubi no Sirius + - id: 1137 + name: Comic Break + - id: 1139 + name: Web Comic Zenyon + - id: 1141 + name: Hatsu Kiss + - id: 1143 + name: AYLA + - id: 1145 + name: Run Run + - id: 1147 + name: Comic Holic + - id: 1149 + name: Comic Tokumori + - id: 1151 + name: Graman Geki! + - id: 1153 + name: Ane LaLa + - id: 1155 + name: Big Comic Zoukan + - id: 1157 + name: Dengeki G's Comic + - id: 1165 + name: Tokusatsu Ace + - id: 1167 + name: Dengeki Girl's Style + - id: 1171 + name: Comic Europa + - id: 1177 + name: Comic Ero-tama + - id: 1175 + name: Aoharu + - id: 1179 + name: Manga Zettai Manzoku + - id: 1181 + name: Ponimaga + - id: 1183 + name: Magalabo + - id: 1185 + name: Cyberia ManiaEX + - id: 1189 + name: Handy Comic + - id: 1656 + name: bamB! + - id: 1195 + name: Young Magazine the 3rd + - id: 1199 + name: drap Milk + - id: 1207 + name: Manga Grimm Douwa + - id: 1197 + name: Aqua BL Kingdom + - id: 1191 + name: Hana to Yume Planet + - id: 1213 + name: Comic Dengeki Daioh "g" + - id: 1043 + name: Comic ChoiS! + - id: 1211 + name: Comic Man-Ten + - id: 1205 + name: Animage + - id: 1163 + name: Asahi Shinbun + - id: 1203 + name: Comic Ran-Oh! + - id: 1173 + name: Shounen Fang + - id: 1169 + name: Big Comic Original Zoukan + - id: 1588 + name: Charles Mag Omegaverse + - id: 1209 + name: Shounen Jump+ + - id: 1215 + name: Megastore + - id: 1217 + name: Comic Garden + - id: 1219 + name: Manga Life MOMO + - id: 1223 + name: GUSH Pochi. + - id: 1225 + name: Juicy + - id: 1221 + name: Kurofune Momo + - id: 1229 + name: Mebae + - id: 1231 + name: Manga Kisoutengai + - id: 1233 + name: Comic Gang + - id: 1235 + name: Manga Life STORIA + - id: 1237 + name: Josei Seven + - id: 1239 + name: Nakayoshi Deluxe + - id: 1241 + name: Zettai Renai Sweet + - id: 1243 + name: Monthly QooPA! + - id: 1245 + name: DVD Majiyaba + - id: 1249 + name: Comic Magnum X + - id: 1247 + name: Hanamaru Manga + - id: 1253 + name: Mink + - id: 1251 + name: Animal House + - id: 1227 + name: Bessatsu Kindai Mahjong + - id: 1257 + name: Cyber Comics + - id: 1263 + name: Bstreet + - id: 1267 + name: Bushiroad (Monthly) + - id: 1261 + name: iHertZ + - id: 1265 + name: Manga Erotopia + - id: 1270 + name: Monthly Shounen Magazine+ + - id: 1271 + name: Comic Genra + - id: 1273 + name: Lezhin Comics Webtoon + - id: 1274 + name: Comic Toutetsu + - id: 1276 + name: Apple Mystery + - id: 1275 + name: Bokkinia + - id: 1272 + name: Magazine Fresh! + - id: 1277 + name: Comic fleur + - id: 1278 + name: comico + - id: 1280 + name: Comicomi + - id: 1281 + name: Zoukan flowers + - id: 1589 + name: Digital Punipedo! + - id: 1283 + name: Comic Orca + - id: 1284 + name: Shincho 45 + - id: 1285 + name: Kono Manga ga Sugoi! Web + - id: 1286 + name: Manga Goraku Nexter + - id: 1288 + name: Comic Bavel + - id: 1287 + name: SPA! + - id: 1279 + name: Comic it + - id: 1161 + name: Zoukan Young Gangan + - id: 1293 + name: Manga Animec + - id: 1296 + name: Bouquet DX + - id: 1590 + name: Hero's + - id: 1298 + name: Champion Cross + - id: 1299 + name: Shuunin ga Yuku! Special + - id: 1300 + name: Comic Ran + - id: 1301 + name: Gene pixiv + - id: 1289 + name: Shuukan Bunshun + - id: 1303 + name: Capbon! + - id: 1306 + name: Bessatsu Harmony Romance + - id: 1305 + name: Chance+ + - id: 1308 + name: Shounen Magazine R + - id: 1307 + name: Qpa + - id: 1302 + name: Manga Goraku Special + - id: 1304 + name: Dengeki hp + - id: 1310 + name: Karyou Sakuragumi Etsu + - id: 1297 + name: Comic Ruelle + - id: 1312 + name: Shounen Magazine Edge + - id: 1313 + name: Gougai onBLUE + - id: 1314 + name: Harmony Romance + - id: 1315 + name: Emerald + - id: 1317 + name: BOY'S Pierce Kindan + - id: 1316 + name: Jump SQ.Crown + - id: 1318 + name: Comic Mate Legend + - id: 1319 + name: Comic Mega GOLD + - id: 1320 + name: Comic Saija + - id: 1321 + name: Comic Mana + - id: 1323 + name: Hana LaLa online + - id: 1325 + name: Dengeki Bazooka!! + - id: 1324 + name: Garaku no Mori + - id: 1292 + name: Shousetsu Chara + - id: 1322 + name: Comic GENKi + - id: 1291 + name: Action Deluxe + - id: 1311 + name: Morning Party Zoukan + - id: 1294 + name: Lemon People + - id: 1290 + name: MC☆Axis + - id: 1326 + name: Keetai ShuuPlay + - id: 1327 + name: Shousetsu Dear+ + - id: 1329 + name: Goraku Egg + - id: 1328 + name: Renai Hakusho Pastel + - id: 1332 + name: WEBLink + - id: 1333 + name: Qpano + - id: 1331 + name: Comic JSCK + - id: 1309 + name: Comic Cune + - id: 29 + name: twi4 + - id: 5 + name: Web Comic Gum + - id: 1334 + name: Shuukan Gendai + - id: 1335 + name: Magazine pocket + - id: 1336 + name: Shokuman + - id: 1337 + name: Comic HJ Bunko + - id: 1339 + name: Ganma! + - id: 1340 + name: Young Ace UP + - id: 1338 + name: Nintendo Dream + - id: 1330 + name: Comic Zeroshiki + - id: 1341 + name: Falcom Magazine + - id: 1345 + name: Petit Comic Zoukan + - id: 1349 + name: MAGCOMI + - id: 1346 + name: The Sneaker Web + - id: 1352 + name: mimi + - id: 1344 + name: Omegaverse Project + - id: 1342 + name: MIKU-Pack + - id: 1591 + name: Comic Bridge + - id: 1350 + name: Comic Jidai Katsugeki + - id: 1351 + name: Jump Original + - id: 1347 + name: Shounen Gaho + - id: 1348 + name: Morning Horizon in the Centre of Somewhere + - id: 1353 + name: Magazine Bang + - id: 1354 + name: Zoukan Taishuu + - id: 1357 + name: Comic KURiBERON + - id: 1360 + name: Comic GT + - id: 1362 + name: eBigComic4 + - id: 1366 + name: Jump GIGA + - id: 1361 + name: MangaONE + - id: 1370 + name: South + - id: 1359 + name: Badi + - id: 1372 + name: CoroCoro Aniki + - id: 1374 + name: Comic ExE + - id: 1373 + name: Comic Ride + - id: 1371 + name: Comic Newtype + - id: 1376 + name: Comic BEAT + - id: 1379 + name: Comic saseco + - id: 1355 + name: Comic Rise + - id: 1377 + name: Char@ + - id: 1378 + name: Comic Fire + - id: 1358 + name: Comic Bingo + - id: 1375 + name: Pasocom Magazine + - id: 1363 + name: Love Jossie + - id: 1367 + name: Shounen Edgestar + - id: 1368 + name: aQtto! + - id: 1369 + name: Web Magazine f3 + - id: 1895 + name: Touch+ + - id: 1364 + name: Comic Flamingo + - id: 1380 + name: Shuukan Taishuu + - id: 1815 + name: Fairy Tail Magazine (Monthly) + - id: 1388 + name: Shousetsu Shinchou + - id: 1386 + name: pixiv Comic + - id: 1390 + name: Dra-Dra-Dragon Age + - id: 1389 + name: Comicloud + - id: 1391 + name: Comic Ryu Web + - id: 1393 + name: Jump Cross + - id: 1392 + name: Matogrosso + - id: 1396 + name: ShuuPlay News + - id: 1397 + name: Web Bazooka + - id: 1398 + name: Galette + - id: 1401 + name: Doku Ringo Comic + - id: 1403 + name: Alterna pixiv + - id: 1404 + name: Big Gangan Okawari + - id: 1410 + name: Sunday Webry + - id: 1411 + name: Da Vinci + - id: 1402 + name: Reijin Uno! + - id: 1412 + name: One More Kiss + - id: 1413 + name: Manga Life STORIA Dash + - id: 1415 + name: Boys Fan + - id: 1416 + name: b-boy Omegaverse + - id: 1417 + name: Cycomics + - id: 1399 + name: Manga UP! + - id: 1405 + name: Boukenou + - id: 1385 + name: uvu + - id: 1394 + name: Comic Orange Club + - id: 1400 + name: Abumix + - id: 1395 + name: Spinel + - id: 1414 + name: Honey Milk + - id: 1381 + name: WEBgateau + - id: 1406 + name: enigma + - id: 1383 + name: Comic POOL + - id: 1387 + name: OK!COMIC + - id: 1384 + name: Chuuou Kouron + - id: 1409 + name: Cigarillo + - id: 1418 + name: Barazoku + - id: 1419 + name: Gangan pixiv + - id: 1423 + name: Hug pixiv + - id: 1420 + name: Ktoon + - id: 1421 + name: Kindai Manga + - id: 1424 + name: Monster Comics + - id: 1425 + name: pixiv Sylph + - id: 1426 + name: Dragon Age Extra + - id: 1429 + name: Manga Kocchi + - id: 1430 + name: Gachicomi + - id: 1431 + name: LiQulle + - id: 1427 + name: Young Magazine Zoukan Aka Buta + - id: 1433 + name: B's-LOG Cheek + - id: 1440 + name: Love Coffre + - id: 1432 + name: cakes + - id: 1439 + name: KakaoPage + - id: 1438 + name: Pianissimo + - id: 1435 + name: Pucchigumi + - id: 1436 + name: Genbun Magazine + - id: 1442 + name: pixiv Essay + - id: 1444 + name: Suiyoubi wa Mattari Dash X Comic + - id: 1445 + name: Comicawa + - id: 1441 + name: Love Silky + - id: 1443 + name: Kuaikan Manhua + - id: 1447 + name: Sports Today Webtoon + - id: 1428 + name: pixiv Hero's + - id: 1448 + name: Yuruyon + - id: 1446 + name: Comic Gotta + - id: 1449 + name: Comic Alpha + - id: 1450 + name: Princess (Gong Zhu Zhi) + - id: 1451 + name: Manga Park + - id: 1453 + name: Comic PASH! + - id: 1454 + name: Yuri Hime@pixiv + - id: 1456 + name: Manga Cross + - id: 1458 + name: Ohta Web Comic + - id: 1457 + name: b-boy Cube + - id: 1459 + name: Comic Days + - id: 1460 + name: Comic Boost + - id: 1461 + name: D Morning + - id: 1462 + name: Comic MeDu + - id: 1464 + name: Ane Friend + - id: 1465 + name: Palcy + - id: 1466 + name: Minna no Comic + - id: 1467 + name: Comic Corona + - id: 1468 + name: Dra-Dra Sharp# + - id: 1470 + name: Comic Chocolat + - id: 1469 + name: Splush + - id: 1472 + name: Kachicomi + - id: 1473 + name: B's-LOG Comic + - id: 1474 + name: Comic Trail + - id: 1475 + name: Comic Beam 100 + - id: 1476 + name: Young Animal Zero + - id: 1477 + name: Jump SQ.Rise + - id: 1471 + name: .Bloom + - id: 1478 + name: Yoru Sunday + - id: 1487 + name: Charles Mag + - id: 1486 + name: Funwari Jump + - id: 1483 + name: Cia♥ + - id: 1484 + name: Comic Taiga + - id: 1485 + name: Comic Marginal + - id: 1490 + name: Lupin Sansei Official Magazine + - id: 1489 + name: Young King Bessatsu Kingdom + - id: 340 + name: Comic Gardo + - id: 1492 + name: TYPE-MOON Comic Ace + - id: 1488 + name: Comic Tatan + - id: 1493 + name: Torch + - id: 1495 + name: MAGKAN + - id: 1496 + name: kyapi! + - id: 1497 + name: Comic Border + - id: 1498 + name: G-Lish + - id: 1501 + name: Nikkan Gecchan + - id: 1502 + name: Comic Essay Room + - id: 1503 + name: Zoukan Harlequin + - id: 1504 + name: Harlequin Original + - id: 1505 + name: Bessatsu Harlequin + - id: 1500 + name: B.Pilz + - id: 1506 + name: Harlequin darling! + - id: 1507 + name: Dokodemo Young Champion + - id: 1499 + name: Mellow Kiss + - id: 1508 + name: ArkLight Comic + - id: 306 + name: Be-Love + - id: 46 + name: Young King OURs GH + - id: 1159 + name: ComicWalker + - id: 613 + name: G-men + - id: 161 + name: Jump SQ. + - id: 831 + name: Bessatsu CoroCoro Comic + - id: 1268 + name: e Young Magazine + - id: 1422 + name: B-BOY P! + - id: 516 + name: gateau + - id: 400 + name: b-Boy Phoenix + - id: 1343 + name: Men's Action + - id: 1521 + name: Comic KURiBERON Duma + - id: 881 + name: Monthly Hero's + - id: 35 + name: GFantasy + - id: 345 + name: Morning Two + - id: 1452 + name: Web Comic Gamma Plus + - id: 1517 + name: Moae + - id: 1434 + name: Tencent Animation + - id: 587 + name: Web Comic EDEN + - id: 803 + name: Niconico Seiga + - id: 699 + name: Viva☆Tales of Magazine + - id: 1514 + name: Sword Art Online Magazine + - id: 397 + name: Shougaku Gonensei + - id: 1295 + name: HiBaNa + - id: 1509 + name: Manga Bøys + - id: 556 + name: 4-koma Nano Ace + - id: 300 + name: Dengeki G's Festival! Comic + - id: 1520 + name: Bessatsu Shuuman Special + - id: 362 + name: Hontou ni Atta Yukai na Hanashi + - id: 1896 + name: Digital Margaret + - id: 1522 + name: marié + - id: 1523 + name: Manga Jam + - id: 1201 + name: Margaret BOOK Store! + - id: 1524 + name: BOY'S Pierce Kaihatsushitsu + - id: 1525 + name: Young King BULL + - id: 1527 + name: Web DenPlay Comic + - id: 1528 + name: Comic Hu + - id: 1530 + name: Young Jump GOLD + - id: 1526 + name: Nemuki+ + - id: 1529 + name: PriaL + - id: 1531 + name: Comic Qurie + - id: 1533 + name: ASCII Comic (Monthly) + - id: 1532 + name: Sonorama+ + - id: 1535 + name: Kirara Base + - id: 1538 + name: Gaugau Monster + - id: 1539 + name: Comic BE! + - id: 1540 + name: LINE Manga + - id: 1541 + name: Lynx + - id: 1536 + name: Harem + - id: 1543 + name: Manga Doa + - id: 1545 + name: Comic tint + - id: 1544 + name: Flat Hero's + - id: 1534 + name: Towako + - id: 1546 + name: Flos Comic + - id: 1547 + name: Comic Jardin + - id: 1552 + name: G's Comic Anothers + - id: 1551 + name: Gene LINE + - id: 1542 + name: Pinkcherie + - id: 1554 + name: Hana Yume Ai + - id: 1553 + name: B Bunch + - id: 1555 + name: Shounen Jump Zoukan + - id: 1556 + name: PFantapy + - id: 1561 + name: Hontou ni Atta Waraeru Hanashi Pinky + - id: 1557 + name: Comic Polca + - id: 1559 + name: Kimikoi + - id: 1558 + name: MAGxiv + - id: 1563 + name: Comic Fuz + - id: 1560 + name: Ananga Ranga + - id: 1564 + name: One Piece Magazine + - id: 1565 + name: Wild Hero's + - id: 1566 + name: Web .Bloom + - id: 1549 + name: GUSH maniaEX + - id: 1568 + name: Tulle + - id: 1567 + name: Web Baby + - id: 1570 + name: Tokyo Omegaverse + - id: 1573 + name: Kurofune x LINE Manga + - id: 1572 + name: Kurofune pixiv + - id: 1574 + name: Manga Mee + - id: 1575 + name: Young Dragon Age + - id: 1576 + name: Premium Cheese! + - id: 1569 + name: mimosa + - id: 1571 + name: Kurofune + - id: 1592 + name: Young Magazine Web + - id: 1593 + name: Manga Yomonga + - id: 1594 + name: Comic Hotmilk Koime♥ + - id: 1537 + name: Shounen Ace Plus + - id: 1577 + name: Grand Jump Mecha + - id: 1578 + name: Koisuru Soiree + - id: 108 + name: FBonline + - id: 37 + name: .hack//G.U. The World + - id: 251 + name: Millefeui + - id: 226 + name: b-Boy Luv + - id: 393 + name: LaLa Special + - id: 753 + name: Mugen Anthology Series + - id: 1187 + name: Young King OURs Lite + - id: 1516 + name: Morning Shin Magnum Zoukan + - id: 1562 + name: Big Comic Spirits Casual + - id: 1519 + name: COM + - id: 1595 + name: Comic Gucho + - id: 930 + name: Comic Zip + - id: 1550 + name: Afternoon Season Zoukan + - id: 511 + name: Famitsu Playstation+ + - id: 418 + name: b-Rash + - id: 1596 + name: Comic AOHA + - id: 1597 + name: Comic Moog Online + - id: 1598 + name: Weekly Kairaku-ten + - id: 1599 + name: Comic Reboot + - id: 1600 + name: Comic Aun Kai + - id: 1601 + name: Tasogare Shokudou + - id: 1602 + name: Bunshun Online + - id: 1604 + name: Comic Ride Advance + - id: 1605 + name: Yurutto Cafe + - id: 1608 + name: Byou de Wakaru BL + - id: 1606 + name: Love xxx Boys pixiv + - id: 1610 + name: Towako Oboro Emaki + - id: 1611 + name: Comic Miu + - id: 1612 + name: Comic Megastore Deep + - id: 1609 + name: Comic Bull + - id: 1582 + name: Dra-Dra Flat♭ + - id: 1613 + name: Comic Orga + - id: 1614 + name: Haiboku Otome Ecstasy + - id: 1616 + name: Web Opera + - id: 1615 + name: Comic Marginal&h + - id: 1618 + name: Charles Mag Kemono + - id: 1619 + name: Web Manga Bangaichi + - id: 1617 + name: Grand Jump Mucha + - id: 1620 + name: Web Haishin Gekkan + - id: 1622 + name: Pur Comics + - id: 1623 + name: Aokishi + - id: 1628 + name: Love Chula + - id: 1621 + name: miere + - id: 1624 + name: fRag + - id: 1626 + name: Shounen Action (Weekly) + - id: 1627 + name: Leed Cafe + - id: 1607 + name: Muteki Renai S*girl Anette + - id: 1625 + name: Colorful! + - id: 1603 + name: Love Passion + - id: 1630 + name: Web Canna + - id: 1631 + name: Comic Nettai + - id: 206 + name: Shounen Champion (Weekly) + - id: 354 + name: Manga Times (Weekly) + - id: 1633 + name: Strada+ + - id: 1632 + name: Comic RiSky + - id: 1634 + name: from RED + - id: 1636 + name: Dengeki Comic Regulus + - id: 1635 + name: Web Comic Apanta + - id: 1437 + name: One Pack Comic + - id: 627 + name: Boy's LOVE + - id: 1637 + name: Manga Leaf + - id: 1638 + name: Comic Bushiroad Web + - id: 1639 + name: Hontou ni Atta Yukai na Hanashi Geinou Zukyun + - id: 1641 + name: Love Kiss! More + - id: 1640 + name: Nanairo Comics + - id: 1642 + name: Comic Brise + - id: 1646 + name: Young Jump Battle + - id: 1653 + name: Canna Comics + - id: 1643 + name: Comic Marche + - id: 1644 + name: Betsufura + - id: 1648 + name: Comic Picn + - id: 1647 + name: Harta Alternative + - id: 1645 + name: Young Jump Sports + - id: 1193 + name: Comic Ran Twins Sengoku Bushou Retsuden + - id: 1650 + name: BiBit! + - id: 1652 + name: Spicy Whip + - id: 1657 + name: Super Action (Monthly) + - id: 1658 + name: '&.Emo' + - id: 1660 + name: Touhou Gairai Ihen (Web) + - id: 1662 + name: Young Jump Heroine + - id: 1664 + name: Otokonoko Heaven + - id: 1665 + name: Kindan Lovers Mania + - id: 1661 + name: NUUDE + - id: 1663 + name: Baby α + - id: 1659 + name: Touhou Gairai Ihen + - id: 1666 + name: Chouchou + - id: 1667 + name: Comic Grast + - id: 1668 + name: Harmony Prince + - id: 1669 + name: Zanki + - id: 1670 + name: Cyberia Maniacs + - id: 1672 + name: Sho-Comi X + - id: 1673 + name: Corona EX + - id: 1674 + name: CoroCoro Ichiban! + - id: 1675 + name: Mitsukoi Tiara + - id: 1676 + name: Nekoneko Yokochou + - id: 1677 + name: Love Coffre Magic + - id: 1678 + name: Comic Lake + - id: 1679 + name: Zhiyin Manke + - id: 1680 + name: Hero Cross Line + - id: 1681 + name: Bomtoon + - id: 14 + name: Asuka + - id: 1683 + name: B's-LOG Comic (Web Label) + - id: 1684 + name: Halloween + - id: 1686 + name: Toomics + - id: 1689 + name: Alive+ + - id: 1688 + name: Jour Sister + - id: 1690 + name: Ura Sunday Joshi-bu + - id: 1692 + name: Shounen Hana to Yume + - id: 1693 + name: Ri Geng Comics + - id: 1694 + name: Ryona King + - id: 1695 + name: Leed Comic Baku + - id: 1696 + name: Comic Nicola + - id: 1697 + name: noicomi + - id: 1699 + name: Shounen Book + - id: 1700 + name: Shousetsu Hanamaru + - id: 1701 + name: Rekishi Gunzou + - id: 1702 + name: Chocolove + - id: 1703 + name: Purizm + - id: 1704 + name: Hao Manhua + - id: 1707 + name: Mitsukoi Tiara Mania + - id: 1706 + name: Isekai Yanjan + - id: 1708 + name: What (Monthly) + - id: 1671 + name: Young Magazine Kaizokuban + - id: 1031 + name: Otokonoko Jidai + - id: 1710 + name: Comic Bonbon Zoukan + - id: 1709 + name: Toptoon + - id: 1711 + name: Trifle by Hana to Yume + - id: 1712 + name: Manga Gang + - id: 1713 + name: Ima, Grand Jump tte!! + - id: 1714 + name: Comic Nova + - id: 1716 + name: Strada + - id: 1715 + name: Shenman + - id: 1717 + name: Shougaku Rokunensei + - id: 1718 + name: Young Love Comic aya + - id: 1719 + name: Tezucomi + - id: 1720 + name: Peanutoon + - id: 1685 + name: Girigiri Edge + - id: 1651 + name: ARIA@pixiv + - id: 1722 + name: Comic Piatto + - id: 1723 + name: Dengeki Hime + - id: 1724 + name: Comic Alunna + - id: 1726 + name: Young Rosé + - id: 1728 + name: Omajinai Comic + - id: 1687 + name: Yoo + - id: 1727 + name: Web Karen + - id: 1725 + name: Comikuri! + - id: 1730 + name: Ayla Deluxe + - id: 1705 + name: Ane Cheese! + - id: 1682 + name: Rakuen Le Paradis Zoukan + - id: 1691 + name: Grand Jump Web + - id: 1721 + name: Renai Hakusho Sherry Kiss + - id: 1729 + name: '&Sofa' + - id: 1732 + name: Young King Lambda + - id: 1733 + name: mini Berry + - id: 1736 + name: Comic Howl + - id: 1735 + name: gateau near + - id: 1731 + name: CoroCoro Comic (Weekly) + - id: 1741 + name: Baby (Digital) + - id: 1742 + name: Comic Ragchew + - id: 1743 + name: Mystery Magazine + - id: 1744 + name: Omoshiro Book + - id: 1747 + name: Comic Trigger + - id: 1746 + name: Ruvill + - id: 1734 + name: petit Rose + - id: 1738 + name: Love Live! Days + - id: 1737 + name: Love Parfait + - id: 1739 + name: Daioh "g" pixiv + - id: 1740 + name: Manga Top + - id: 1745 + name: Yanchan Web + - id: 1749 + name: Comic Rakuu + - id: 1750 + name: Shougaku Ichinensei + - id: 1751 + name: Ecomix + - id: 1753 + name: Young Jump Daiichiwa + - id: 1748 + name: HanaYume EPO + - id: 1754 + name: Ichijin Plus + - id: 1755 + name: Comic Essay Gekijou + - id: 1752 + name: Souffle + - id: 1756 + name: Comic tant + - id: 425 + name: LC Mystery + - id: 1757 + name: Manga Gaudi + - id: 1759 + name: Bekkan Getsumaga + - id: 1760 + name: Renai Chocolat + - id: 1762 + name: Pie Comics + - id: 1763 + name: Dengeki Moeoh (Web) + - id: 1761 + name: Dragon HG + - id: 1765 + name: Cococomi + - id: 1766 + name: JusToon + - id: 1629 + name: Comic Shigekiteki Squirt!! + - id: 1767 + name: Comic Flapper (Web) + - id: 1768 + name: BL Renai Senka + - id: 1770 + name: Z + - id: 1771 + name: Le Noël + - id: 1772 + name: Comic Flavors + - id: 1773 + name: Comic Kisshug + - id: 1774 + name: Chillche + - id: 1775 + name: G's Channel + - id: 1778 + name: Young King (Monthly) + - id: 1777 + name: Mangapolo Zero + - id: 1779 + name: Mitaina! + - id: 1776 + name: Ane Petit Digital + - id: 1780 + name: Comic & Comic + - id: 1764 + name: Comic Bound + - id: 1781 + name: KITORA + - id: 1817 + name: Malika + - id: 1783 + name: Tokyo 2020 Paralympic Jump + - id: 1784 + name: Opa x Comi + - id: 1785 + name: Zipper Comic + - id: 1786 + name: e-manga + - id: 1787 + name: Adam + - id: 1790 + name: Manga Taishuu + - id: 1791 + name: Young Magazine GT + - id: 1792 + name: DRE Comics + - id: 1789 + name: Asuka (Web) + - id: 1788 + name: Kuro Mitsu + - id: 1794 + name: Getsumaga Kichi + - id: 1793 + name: Shoujo Friend Zoukan + - id: 1769 + name: Comic Baku + - id: 1796 + name: Manga Town Original + - id: 1797 + name: Chuugaku Ichinen Course + - id: 1798 + name: Comic Ogyaaa!! + - id: 1799 + name: Ciao Comi + - id: 1801 + name: Be x Boy Rookies VS + - id: 1802 + name: Empas Manhwa + - id: 1803 + name: Paran Manhwa + - id: 1804 + name: Manga Tengoku + - id: 1805 + name: Bebe + - id: 1807 + name: Verse by LiQulle + - id: 1808 + name: Friday Digital + - id: 1382 + name: Comic Kairaku-ten Hoshi-gumi + - id: 1800 + name: Isekai Raku-ten + - id: 1812 + name: Ciao Plus + - id: 1813 + name: JoJo Magazine + - id: 1811 + name: Televi-kun Super Hero Comics + - id: 1810 + name: Comptiq (Web) + - id: 1814 + name: Creative Comic Collection + - id: 1818 + name: Tokusen Mahjong + - id: 1816 + name: DigiKiss + - id: 1819 + name: Vanilove + - id: 1821 + name: Comic Yamitsuki + - id: 1822 + name: Michikusa + - id: 1823 + name: Galette meets + - id: 1820 + name: Deluxe Bonita + - id: 1824 + name: Biccomi + - id: 1825 + name: Hontou ni Atta Waraeru Hanashi + - id: 1827 + name: pixlib + - id: 1826 + name: AmarE + - id: 1828 + name: Champion Buzz + - id: 1830 + name: Comic Shiny + - id: 1831 + name: Comic Gaira + - id: 1829 + name: The Forward + - id: 1832 + name: Dengeki Maoh (Web) + - id: 1833 + name: All Kaidan + - id: 1834 + name: Yonimo Kimyou na Nekopanchi + - id: 1835 + name: Comic Growl + - id: 1836 + name: Gohan Biyori + - id: 1649 + name: Da Vinci Web + - id: 1837 + name: Niμ + - id: 1838 + name: HykeComic + - id: 47 + name: Young Champion + - id: 1840 + name: Love Kiss! + - id: 1839 + name: Primo + - id: 150 + name: AlphaPolis + - id: 1845 + name: Noche + - id: 1842 + name: Eternity + - id: 1843 + name: Regina + - id: 997 + name: Ciao DX Horror + - id: 1841 + name: '&arche' + - id: 1846 + name: Comic NOAN + - id: 1844 + name: α norn + - id: 1847 + name: Kyoufu no Yakata DX + - id: 1848 + name: Magazine Great + - id: 1849 + name: Televi-kun + - id: 1850 + name: Magazine WOoooo! Wolf + - id: 1851 + name: Chuuichi Jidai + - id: 1852 + name: Comp Ace Comic Connect + - id: 1853 + name: Young Magazine Kakehiki + - id: 1854 + name: Jack Pot + - id: 1856 + name: Comic Dengeki Daioh "g" (Web) + - id: 1855 + name: Comic Killa + - id: 1857 + name: Isekai Tensei LaLa + - id: 1858 + name: Comic G-Es + - id: 1859 + name: VComi + - id: 1860 + name: Yanjan Pixiv + - id: 1861 + name: Shounen Gag Oh + - id: 1864 + name: Comic GAGA + - id: 1862 + name: Story na Onna-tachi + - id: 1865 + name: Cybele Comic + - id: 1866 + name: Shounen Jump Season Special + - id: 1868 + name: Comic Isekai Harem + - id: 1867 + name: Season Jam + - id: 1869 + name: Xingqi Manhua + - id: 1870 + name: Our Feel + - id: 1863 + name: Mitsukoi Tiara Kemono + - id: 1871 + name: Bessatsu Manga Action + - id: 1873 + name: Sa Man Le Hua + - id: 1874 + name: Jumptoon + - id: 1875 + name: Hana to Yume Web + - id: 1876 + name: Captain Tsubasa Magazine + - id: 1878 + name: Lyrica + - id: 1879 + name: Comic Bunch Kai + - id: 1880 + name: Sunday Manga + - id: 1877 + name: Twi Sirius + - id: 1883 + name: Manga-gai + - id: 1881 + name: Comic Ride ivy + - id: 1882 + name: Comic Porta + - id: 1872 + name: Samanhua + - id: 1782 + name: Web Comic Toutetsu + - id: 1885 + name: Custom Comic + - id: 1884 + name: Hayacomi + - id: 1886 + name: Heibon Punch + - id: 1356 + name: Mikosurihan Gekijou Kyonyuu-chan + - id: 1282 + name: Mikosurihan Gekijou Bekkan + - id: 1887 + name: mimi DX + - id: 1888 + name: Papillon + - id: 1889 + name: Bilibili Manhua + - id: 1890 + name: 2D Comic Magazine + - id: 1891 + name: Story na Onna-tachi Black + - id: 1893 + name: Comic Cune (Web) + - id: 1894 + name: Comic Alunna (Web) + - id: 1892 + name: Comic Beam (Web) + - id: 1901 + name: Comic Kaien + - id: 1899 + name: Shiori + - id: 1900 + name: Bessatsu Katei Suspense + - id: 1898 + name: CandleA + - id: 1897 + name: Comic Unicorn + - id: 1902 + name: Goro + - id: 1904 + name: Novecomi+ + - id: 1905 + name: H&F Club + - id: 1903 + name: Web Comic Heaven + - id: 1906 + name: Shuro + - id: 1907 + name: Koi wa Omakase Special + - id: 1909 + name: Loli Babaa Senmon + - id: 1910 + name: Shinkan + - id: 1809 + name: Comic LOE + - id: 1912 + name: Young Unreal Jingai + - id: 1911 + name: ITAN Web Comic + - id: 1913 + name: Yuruyuru Nekopanchi + - id: 1914 + name: Seasons + - id: 1915 + name: Momopan + - id: 1916 + name: Digicomi Shinchou Com² + - id: 1917 + name: LiQulle pathos + - id: 1919 + name: Gaea Original + - id: 1920 + name: B's-LOVEY Comics + - id: 1918 + name: Chara Collection + - id: 1921 + name: Duo + - id: 1922 + name: Shoujo Friend Suspense & Horror Zoukan + - id: 1923 + name: Macross Ace + - id: 1908 + name: Tian Man + - id: 1924 + name: Hobby Japan Web + - id: 1925 + name: Dascomi + - id: 1926 + name: Omoide Shokudou Bekkan + - id: 1927 + name: Young Animal Web + - id: 1928 + name: Dungeon Kouryaku wa Sex de!! + - id: 1929 + name: iHZ + - id: 1957 + name: Lolita Comic Sakura + - id: 1930 + name: Comic Goranshin + - id: 1931 + name: Comic Momohime Deepest + - id: 1932 + name: Kyoufu Taiken + - id: 1933 + name: Nekotomo + - id: 1934 + name: Darkness na Onna-tachi + - id: 1935 + name: Jukujo Monogatari + - id: 1936 + name: Comic GEE + - id: 1937 + name: Biblio Sirius + - id: 1939 + name: Palcy NEXT + - id: 1938 + name: Web Otoko no Ko-llection! S (Monthly) + - id: 1940 + name: bibi + - id: 1942 + name: Hitori Gohan + - id: 1941 + name: Coi-halu + - id: 1943 + name: Comic Nyan2 Club GOLD + - id: 1944 + name: Ridi Webtoon + - id: 1945 + name: Naver Series + - id: 1946 + name: Kakao Webtoon + - id: 1947 + name: Little Girl Strike + - id: 1948 + name: Comic Happining + - id: 1949 + name: Fantasia Battle Royal + - id: 1951 + name: Famitsu DS+Wii + - id: 1950 + name: Marukatsu Super Famicom + - id: 1952 + name: Goraku Web! + - id: 1953 + name: Comic Oz + - id: 1954 + name: Comic Ambre + - id: 1956 + name: Estro + - id: 1955 + name: Manga Hot + - id: 1958 + name: Men's Dolphin + - id: 1959 + name: TakeComi! + - id: 1960 + name: Petit Apple Pie + - id: 1962 + name: Ultra Jump Niconico-ban + - id: 1963 + name: Comic Zerise + - id: 1981 + name: Carmilla + - id: 1982 + name: Oreryuu! Zeppin Meshi + - id: 1965 + name: Comic G.G. + - id: 1966 + name: G-Edge + - id: 1961 + name: Tsuma Petit + - id: 1968 + name: CoroCiao + - id: 1969 + name: GA Comic + - id: 51 + name: Be-Boy Gold + - id: 1970 + name: Manman Manhua + - id: 1967 + name: Mystery Sara + - id: 1971 + name: Comic Y-OURS + - id: 1972 + name: Comic Aily + - id: 1973 + name: Omoide Shokudou + - id: 1974 + name: Tokumori Comic Hitozuma Jukujozakari + - id: 1976 + name: ARTEMIS by sirius + - id: 1975 + name: Jitsuwa Bunka Taboo + - id: 1977 + name: Kirapichi + - id: 1978 + name: The Gazelle + - id: 1979 + name: Canelé + - id: 1980 + name: peep + - id: 1984 + name: Action Hero + body_text: null + body_b64: null diff --git a/test/fixtures/shikimori/studios/02-all-limit-1000.yaml b/test/fixtures/shikimori/studios/02-all-limit-1000.yaml new file mode 100644 index 0000000..c1714f9 --- /dev/null +++ b/test/fixtures/shikimori/studios/02-all-limit-1000.yaml @@ -0,0 +1,9463 @@ +metadata: + captured_at: '2026-05-11T07:55:26Z' + label: all-limit-1000 + backend: shikimori + path_slug: studios +request: + method: GET + url: https://shikimori.io/api/studios?limit=1000 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: ddos-guard + Connection: keep-alive + Keep-Alive: timeout=60 + Set-Cookie: + Content-Security-Policy: upgrade-insecure-requests; + Date: Mon, 11 May 2026 07:55:25 GMT + Content-Type: application/json; charset=utf-8 + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: '0' + X-Content-Type-Options: nosniff + X-Permitted-Cross-Domain-Policies: none + Referrer-Policy: strict-origin-when-cross-origin + ETag: W/"d88a2fdc653f6ec0f422a85cc311f145" + Cache-Control: max-age=0, private, must-revalidate + X-Request-Id: 7e699166-61a7-46e6-9f4a-ec74c69aa223 + X-Runtime: '0.301671' + vary: Accept, Origin + Content-Encoding: gzip + Transfer-Encoding: chunked + body_json: + - id: 2022 + name: TYMOTE + filtered_name: TYMOTE + real: false + image: null + - id: 2023 + name: Spoon + filtered_name: Spoon + real: false + image: null + - id: 1356 + name: Tonko House + filtered_name: Tonko House + real: false + image: null + - id: 1992 + name: Bandai Spirits + filtered_name: Bandai Spirits + real: false + image: null + - id: 2007 + name: Studio Drive + filtered_name: Drive + real: false + image: null + - id: 2723 + name: Unend + filtered_name: Unend + real: false + image: null + - id: 3213 + name: Shanghai Zhijian Network + filtered_name: Shanghai Zhijian Network + real: false + image: null + - id: 2011 + name: Yonago Gainax + filtered_name: Yonago Gainax + real: false + image: null + - id: 2240 + name: Studio Daisy + filtered_name: Daisy + real: false + image: null + - id: 2034 + name: Akatsuki + filtered_name: Akatsuki + real: false + image: null + - id: 2041 + name: Enjin Productions + filtered_name: Enjin + real: false + image: null + - id: 2027 + name: Team TillDawn + filtered_name: Team TillDawn + real: false + image: null + - id: 2029 + name: Earth Design Works + filtered_name: Earth Design Works + real: false + image: null + - id: 2020 + name: Ark + filtered_name: Ark + real: false + image: null + - id: 2040 + name: Maro Studio + filtered_name: Maro + real: false + image: null + - id: 2 + name: Kyoto Animation + filtered_name: Kyoto + real: true + image: /system/studios/original/2.png?1522422929 + - id: 162 + name: Character and Anime Dot Com + filtered_name: Character and Anime Dot Com + real: false + image: null + - id: 17 + name: Aniplex + filtered_name: Aniplex + real: false + image: /system/studios/original/17.txt?1323005241 + - id: 10 + name: Production I.G + filtered_name: Production I.G + real: true + image: /system/studios/original/10.png?1312165069 + - id: 164 + name: d-rights + filtered_name: d-rights + real: false + image: null + - id: 165 + name: Marubeni + filtered_name: Marubeni + real: false + image: null + - id: 322 + name: Bee Media + filtered_name: Bee Media + real: false + image: null + - id: 23 + name: Bandai Visual + filtered_name: Bandai Visual + real: false + image: /system/studios/original/23.png?1311292710 + - id: 26 + name: Shinkai Makoto + filtered_name: Shinkai Makoto + real: false + image: null + - id: 29 + name: VAP + filtered_name: VAP + real: false + image: /system/studios/original/29.png?1311292712 + - id: 2398 + name: VCRWORKS + filtered_name: VCRWORKS + real: false + image: null + - id: 1472 + name: Myung Films + filtered_name: Myung Films + real: false + image: null + - id: 35 + name: Seven Arcs + filtered_name: Seven Arcs + real: false + image: /system/studios/original/35.jpg?1312165054 + - id: 40 + name: m.o.e. + filtered_name: m.o.e. + real: false + image: /system/studios/original/40.png?1311292710 + - id: 42 + name: GDH + filtered_name: GDH + real: false + image: /system/studios/original/42.png?1311292713 + - id: 39 + name: Daume + filtered_name: Daume + real: true + image: /system/studios/original/39.jpg?1311292711 + - id: 49 + name: Remic + filtered_name: Remic + real: false + image: null + - id: 2159 + name: Composition Inc. + filtered_name: Composition Inc. + real: false + image: null + - id: 2169 + name: Studio 88 + filtered_name: '88' + real: false + image: null + - id: 2177 + name: Mimoid + filtered_name: Mimoid + real: false + image: null + - id: 2183 + name: Keica + filtered_name: Keica + real: false + image: null + - id: 2403 + name: Brians Film + filtered_name: Brians Film + real: false + image: null + - id: 2404 + name: OLM Team Kato + filtered_name: OLM Team Kato + real: false + image: null + - id: 50 + name: KSS + filtered_name: KSS + real: false + image: /system/studios/original/50.gif?1311292710 + - id: 195 + name: Pixy + filtered_name: Pixy + real: false + image: /system/studios/original/195.jpg?1311292711 + - id: 565 + name: LMD + filtered_name: LMD + real: false + image: null + - id: 52 + name: Avex Entertainment + filtered_name: Avex + real: false + image: /system/studios/original/52.png?1311292713 + - id: 2405 + name: Staple Entertainment + filtered_name: Staple + real: false + image: null + - id: 55 + name: TV Asahi + filtered_name: TV Asahi + real: false + image: /system/studios/original/55.jpg?1311292710 + - id: 300 + name: SILVER LINK. + filtered_name: SILVER LINK. + real: true + image: /system/studios/original/300.?1434707266 + - id: 58 + name: Square Enix + filtered_name: Square Enix + real: false + image: /system/studios/original/58.png?1311292714 + - id: 59 + name: Beat Frog + filtered_name: Beat Frog + real: false + image: null + - id: 61 + name: Frontier Works + filtered_name: Frontier Works + real: false + image: /system/studios/original/61.png?1311292712 + - id: 63 + name: Trinet Entertainment + filtered_name: Trinet + real: false + image: /system/studios/original/63.jpg?1311292713 + - id: 2432 + name: happyproject + filtered_name: happyproject + real: false + image: null + - id: 66 + name: Key + filtered_name: Key + real: false + image: /system/studios/original/66.gif?1311292712 + - id: 285 + name: Four Some + filtered_name: Four Some + real: false + image: null + - id: 69 + name: Front Line + filtered_name: Front Line + real: false + image: null + - id: 47 + name: Khara + filtered_name: Khara + real: false + image: /system/studios/original/47.jpg?1311292710 + - id: 2814 + name: Image Studio 109 + filtered_name: Image Studio 109 + real: false + image: null + - id: 2809 + name: PHANTOM + filtered_name: PHANTOM + real: false + image: null + - id: 2818 + name: qmotri + filtered_name: qmotri + real: false + image: null + - id: 2878 + name: Khaki + filtered_name: Khaki + real: false + image: null + - id: 2881 + name: Andraft + filtered_name: Andraft + real: false + image: null + - id: 2882 + name: THREE IS A MAGIC NUMBER + filtered_name: THREE IS A MAGIC NUMBER + real: false + image: null + - id: 1938 + name: Polygon Magic + filtered_name: Polygon Magic + real: false + image: null + - id: 71 + name: Mellow Head + filtered_name: Mellow Head + real: false + image: /system/studios/original/71.jpg?1311292711 + - id: 65 + name: Tokyo Movie Shinsha + filtered_name: Tokyo Movie Shinsha + real: true + image: /system/studios/original/65.?1521917245 + - id: 2436 + name: Frontier One + filtered_name: Frontier One + real: false + image: null + - id: 70 + name: Nomad + filtered_name: Nomad + real: true + image: /system/studios/original/70.jpg?1311292712 + - id: 2178 + name: Tecarat + filtered_name: Tecarat + real: false + image: null + - id: 80 + name: Trans Arts + filtered_name: Trans Arts + real: false + image: /system/studios/original/80.jpg?1312165045 + - id: 127 + name: Yomiko Advertising + filtered_name: Yomiko Advertising + real: false + image: /system/studios/original/127.jpg?1311292710 + - id: 129 + name: Silky’ s + filtered_name: Silky’ s + real: false + image: null + - id: 130 + name: CherryLips + filtered_name: CherryLips + real: false + image: null + - id: 131 + name: G&G Entertainment + filtered_name: G&G + real: false + image: /system/studios/original/131.png?1311292713 + - id: 557 + name: Zyc + filtered_name: Zyc + real: false + image: null + - id: 82 + name: Marvelous Entertainment + filtered_name: Marvelous + real: false + image: /system/studios/original/82.gif?1311292714 + - id: 83 + name: AIC Spirits + filtered_name: AIC Spirits + real: false + image: /system/studios/original/83.jpg?1311292710 + - id: 85 + name: Konami + filtered_name: Konami + real: false + image: /system/studios/original/85.png?1311292712 + - id: 89 + name: BeSTACK + filtered_name: BeSTACK + real: false + image: /system/studios/original/89.jpg?1311292713 + - id: 92 + name: Starchild Records + filtered_name: Starchild Records + real: false + image: /system/studios/original/92.jpg?1312165050 + - id: 93 + name: Studio Flag + filtered_name: Flag + real: false + image: null + - id: 2395 + name: J.C.F. + filtered_name: J.C.F. + real: false + image: null + - id: 91 + name: feel. + filtered_name: feel. + real: true + image: /system/studios/original/91.png?1350322172 + - id: 2191 + name: BUILD DREAM + filtered_name: BUILD DREAM + real: false + image: null + - id: 100 + name: TV Osaka + filtered_name: TV Osaka + real: false + image: /system/studios/original/100.png?1311292713 + - id: 97 + name: ADV Films + filtered_name: ADV Films + real: false + image: /system/studios/original/97.png?1589819349 + - id: 98 + name: Sav! The World Productions + filtered_name: Sav! The World + real: false + image: /system/studios/original/98.png?1589819322 + - id: 104 + name: Lantis + filtered_name: Lantis + real: false + image: /system/studios/original/104.png?1311292713 + - id: 107 + name: Plum + filtered_name: Plum + real: false + image: null + - id: 108 + name: Media Factory + filtered_name: Media Factory + real: false + image: /system/studios/original/108.jpg?1311292711 + - id: 320 + name: 'Maru Production ' + filtered_name: 'Maru Production ' + real: false + image: null + - id: 88 + name: AIC ASTA + filtered_name: AIC ASTA + real: false + image: /system/studios/original/88.png?1589819301 + - id: 3143 + name: ETERNA Animation + filtered_name: ETERNA + real: false + image: null + - id: 102 + name: FUNimation Entertainment + filtered_name: FUNimation + real: false + image: /system/studios/original/102.png?1602436357 + - id: 2193 + name: ORENDA + filtered_name: ORENDA + real: false + image: null + - id: 2397 + name: Pink Cat + filtered_name: Pink Cat + real: false + image: null + - id: 321 + name: Kitty Media + filtered_name: Kitty Media + real: false + image: null + - id: 2721 + name: NHK Art + filtered_name: NHK Art + real: false + image: null + - id: 109 + name: Shochiku + filtered_name: Shochiku + real: false + image: /system/studios/original/109.gif?1311292713 + - id: 114 + name: Studio Matrix + filtered_name: Matrix + real: false + image: null + - id: 116 + name: Broccoli + filtered_name: Broccoli + real: false + image: /system/studios/original/116.png?1311292713 + - id: 117 + name: Studio Izena + filtered_name: Izena + real: false + image: /system/studios/original/117.jpg?1311292710 + - id: 51 + name: Diomedéa + filtered_name: Diomedéa + real: true + image: /system/studios/original/51.?1434707974 + - id: 121 + name: Active + filtered_name: Active + real: false + image: /system/studios/original/121.gif?1311292712 + - id: 122 + name: Tokyo Kids + filtered_name: Tokyo Kids + real: false + image: /system/studios/original/122.jpg?1311292713 + - id: 123 + name: Victor Entertainment + filtered_name: Victor + real: false + image: /system/studios/original/123.gif?1311292711 + - id: 124 + name: Animac + filtered_name: Animac + real: false + image: /system/studios/original/124.jpg?1311292710 + - id: 125 + name: Pioneer Entertainment (USA) + filtered_name: Pioneer Entertainment (USA) + real: false + image: null + - id: 160 + name: Rondo Robe + filtered_name: Rondo Robe + real: false + image: /system/studios/original/160.gif?1311292710 + - id: 133 + name: Shinyusha + filtered_name: Shinyusha + real: false + image: null + - id: 96 + name: Yumeta Company + filtered_name: Yumeta Company + real: true + image: /system/studios/original/96.png?1589819393 + - id: 135 + name: MediaNet + filtered_name: MediaNet + real: false + image: /system/studios/original/135.jpg?1312165068 + - id: 136 + name: Vega Entertainment + filtered_name: Vega + real: false + image: /system/studios/original/136.jpg?1311292712 + - id: 137 + name: PPM + filtered_name: PPM + real: false + image: null + - id: 138 + name: Himajin Planning + filtered_name: Himajin Planning + real: false + image: null + - id: 141 + name: Toei Video + filtered_name: Toei Video + real: false + image: null + - id: 142 + name: Asatsu DK + filtered_name: Asatsu DK + real: false + image: null + - id: 143 + name: Mainichi Broadcasting + filtered_name: Mainichi Broadcasting + real: false + image: null + - id: 145 + name: TBS + filtered_name: TBS + real: false + image: /system/studios/original/145.png?1311292711 + - id: 146 + name: CBC + filtered_name: CBC + real: false + image: null + - id: 2407 + name: Flying Ship Studio + filtered_name: Flying Ship + real: false + image: null + - id: 2722 + name: Studio Fusion + filtered_name: Fusion + real: false + image: null + - id: 140 + name: Animax + filtered_name: Animax + real: true + image: /system/studios/original/140.png?1311292711 + - id: 147 + name: SKY Perfect Well Think + filtered_name: SKY Perfect Well Think + real: false + image: /system/studios/original/147.gif?1312164965 + - id: 148 + name: Hakunensha + filtered_name: Hakunensha + real: false + image: null + - id: 149 + name: SME Visual Works + filtered_name: SME Visual Works + real: false + image: null + - id: 152 + name: Green Bunny + filtered_name: Green Bunny + real: false + image: /system/studios/original/152.png?1312165080 + - id: 153 + name: SoftX + filtered_name: SoftX + real: false + image: null + - id: 156 + name: Polygram Japan + filtered_name: Polygram Japan + real: false + image: null + - id: 157 + name: BMG Japan + filtered_name: BMG Japan + real: false + image: null + - id: 158 + name: KIDS STATION + filtered_name: KIDS STATION + real: false + image: /system/studios/original/158.gif?1311292714 + - id: 159 + name: Kodansha + filtered_name: Kodansha + real: false + image: /system/studios/original/159.gif?1311292710 + - id: 161 + name: Sogo Vision + filtered_name: Sogo Vision + real: false + image: null + - id: 167 + name: Sega + filtered_name: Sega + real: false + image: /system/studios/original/167.png?1311292711 + - id: 168 + name: Shelty + filtered_name: Shelty + real: false + image: null + - id: 155 + name: animate Film + filtered_name: animate Film + real: false + image: /system/studios/original/155.jpg?1311292713 + - id: 2409 + name: Amineworks + filtered_name: Amineworks + real: false + image: null + - id: 169 + name: Fuji TV + filtered_name: Fuji TV + real: false + image: /system/studios/original/169.gif?1311292710 + - id: 170 + name: Imagica + filtered_name: Imagica + real: false + image: /system/studios/original/170.png?1311292713 + - id: 172 + name: Alchemist + filtered_name: Alchemist + real: false + image: /system/studios/original/172.gif?1312165043 + - id: 171 + name: A-Line + filtered_name: A-Line + real: false + image: null + - id: 2194 + name: Yi Chen Animation + filtered_name: Yi Chen + real: false + image: null + - id: 2195 + name: PONOS Corporation + filtered_name: PONOS Corporation + real: false + image: null + - id: 2196 + name: Studio DURIAN + filtered_name: DURIAN + real: false + image: null + - id: 166 + name: Movic + filtered_name: Movic + real: false + image: /system/studios/original/166.jpg?1311292713 + - id: 2437 + name: Infinity Vision + filtered_name: Infinity Vision + real: false + image: null + - id: 2439 + name: Chosen + filtered_name: Chosen + real: false + image: null + - id: 2455 + name: East Fish Studio + filtered_name: East Fish + real: false + image: null + - id: 2527 + name: Liber + filtered_name: Liber + real: false + image: null + - id: 173 + name: Alice Soft + filtered_name: Alice Soft + real: false + image: /system/studios/original/173.gif?1311292710 + - id: 150 + name: Sanrio + filtered_name: Sanrio + real: true + image: /system/studios/original/150.png?1539693669 + - id: 2198 + name: Irawias + filtered_name: Irawias + real: false + image: null + - id: 176 + name: Ginga Ya + filtered_name: Ginga Ya + real: false + image: null + - id: 177 + name: Studio Kyuuma + filtered_name: Kyuuma + real: false + image: null + - id: 178 + name: Trilogy Future Studio + filtered_name: Trilogy Future + real: false + image: /system/studios/original/178.png?1311292713 + - id: 182 + name: Age + filtered_name: Age + real: false + image: /system/studios/original/182.gif?1311292713 + - id: 183 + name: Agent 21 + filtered_name: Agent 21 + real: false + image: null + - id: 184 + name: Ai ga areba Daijobu + filtered_name: Ai ga areba Daijobu + real: false + image: /system/studios/original/184.png?1311292710 + - id: 185 + name: Aiko + filtered_name: Aiko + real: false + image: null + - id: 186 + name: Ail + filtered_name: Ail + real: false + image: /system/studios/original/186.gif?1311292714 + - id: 189 + name: GEN Productions + filtered_name: GEN + real: false + image: null + - id: 190 + name: RCC Chugoku Broadcasting + filtered_name: RCC Chugoku Broadcasting + real: false + image: null + - id: 192 + name: Shinkuukan + filtered_name: Shinkuukan + real: false + image: null + - id: 193 + name: Idea Factory + filtered_name: Idea Factory + real: false + image: /system/studios/original/193.png?1311292710 + - id: 194 + name: ANIK + filtered_name: ANIK + real: false + image: /system/studios/original/194.jpg?1311292714 + - id: 197 + name: Studio Junior + filtered_name: Junior + real: false + image: null + - id: 198 + name: Gakken + filtered_name: Gakken + real: false + image: /system/studios/original/198.jpg?1312165013 + - id: 203 + name: Visual Art’s + filtered_name: Visual Art’s + real: false + image: null + - id: 204 + name: PIONEER LDC + filtered_name: PIONEER LDC + real: false + image: null + - id: 205 + name: Nihon Ad Systems + filtered_name: Nihon Ad Systems + real: false + image: null + - id: 206 + name: Digital Works + filtered_name: Digital Works + real: false + image: null + - id: 208 + name: Three Fat Samurai + filtered_name: Three Fat Samurai + real: false + image: /system/studios/original/208.png?1311292711 + - id: 209 + name: Sol Blade + filtered_name: Sol Blade + real: false + image: null + - id: 210 + name: Studio Tulip + filtered_name: Tulip + real: false + image: /system/studios/original/210.gif?1311292710 + - id: 211 + name: Rakuonsha + filtered_name: Rakuonsha + real: false + image: null + - id: 212 + name: Venus Vangard + filtered_name: Venus Vangard + real: false + image: null + - id: 213 + name: Half H.P Studio + filtered_name: Half H.P + real: false + image: null + - id: 214 + name: BS-i + filtered_name: BS-i + real: false + image: null + - id: 3219 + name: Nyan Pollution + filtered_name: Nyan Pollution + real: false + image: null + - id: 217 + name: The Right Stuf International + filtered_name: The Right Stuf International + real: false + image: null + - id: 191 + name: Eiken + filtered_name: Eiken + real: true + image: /system/studios/original/191.jpg?1311292712 + - id: 2412 + name: FUNNY MOVIE + filtered_name: FUNNY MOVIE + real: false + image: null + - id: 222 + name: Jade Animation + filtered_name: Jade + real: false + image: null + - id: 224 + name: Toshiba EMI + filtered_name: Toshiba EMI + real: false + image: null + - id: 226 + name: Panmedia + filtered_name: Panmedia + real: false + image: /system/studios/original/226.png?1311292713 + - id: 229 + name: The Answer Studio + filtered_name: The Answer + real: false + image: /system/studios/original/229.jpg?1312165081 + - id: 271 + name: Barnum Studio + filtered_name: Barnum + real: false + image: null + - id: 272 + name: Studio Kajino + filtered_name: Kajino + real: false + image: null + - id: 273 + name: Think Corporation + filtered_name: Think Corporation + real: false + image: null + - id: 394 + name: Misseri Studio + filtered_name: Misseri + real: false + image: null + - id: 276 + name: DLE + filtered_name: DLE + real: false + image: /system/studios/original/276.png?1647107706 + - id: 2490 + name: Studio Dolphin Night + filtered_name: Dolphin Night + real: false + image: null + - id: 2724 + name: Heart & Soul Animation + filtered_name: Heart & Soul + real: false + image: null + - id: 230 + name: Bandai + filtered_name: Bandai + real: false + image: /system/studios/original/230.jpg?1311292711 + - id: 231 + name: CyberConnect2 + filtered_name: CyberConnect2 + real: false + image: /system/studios/original/231.gif?1311292714 + - id: 233 + name: Bandai Entertainment + filtered_name: Bandai + real: false + image: /system/studios/original/233.gif?1311292711 + - id: 280 + name: Studio Junio + filtered_name: Junio + real: false + image: null + - id: 236 + name: YTV + filtered_name: YTV + real: false + image: null + - id: 238 + name: AT-X + filtered_name: AT-X + real: false + image: null + - id: 2580 + name: GUMBLAB + filtered_name: GUMBLAB + real: false + image: null + - id: 240 + name: Capcom + filtered_name: Capcom + real: false + image: /system/studios/original/240.jpg?1312165059 + - id: 241 + name: KOEI + filtered_name: KOEI + real: false + image: /system/studios/original/241.jpg?1311292712 + - id: 244 + name: D3 + filtered_name: D3 + real: false + image: null + - id: 246 + name: Visual 80 + filtered_name: Visual 80 + real: false + image: null + - id: 2201 + name: Studio Palette + filtered_name: Palette + real: false + image: null + - id: 250 + name: Media Blasters + filtered_name: Media Blasters + real: false + image: null + - id: 252 + name: 4Kids Entertainment + filtered_name: 4Kids + real: false + image: null + - id: 248 + name: Tin House + filtered_name: Tin House + real: true + image: null + - id: 253 + name: Rikuentai + filtered_name: Rikuentai + real: false + image: /system/studios/original/253.gif?1311292713 + - id: 254 + name: Soft Garage + filtered_name: Soft Garage + real: false + image: /system/studios/original/254.jpg?1312165053 + - id: 3226 + name: Studio Chromato + filtered_name: Chromato + real: false + image: null + - id: 256 + name: Studio Kikan + filtered_name: Kikan + real: false + image: null + - id: 257 + name: Jam + filtered_name: Jam + real: false + image: /system/studios/original/257.png?1311292709 + - id: 2204 + name: OZ + filtered_name: OZ + real: false + image: null + - id: 259 + name: Kaeruotoko Shokai + filtered_name: Kaeruotoko Shokai + real: false + image: null + - id: 260 + name: Shuuhei Morita + filtered_name: Shuuhei Morita + real: false + image: null + - id: 261 + name: San-X + filtered_name: San-X + real: false + image: null + - id: 262 + name: Kadokawa Pictures USA + filtered_name: Kadokawa Pictures USA + real: false + image: null + - id: 265 + name: Valkyria + filtered_name: Valkyria + real: false + image: /system/studios/original/265.jpg?1311292713 + - id: 281 + name: Kokusai Eigasha + filtered_name: Kokusai Eigasha + real: false + image: null + - id: 245 + name: Toho + filtered_name: Toho + real: false + image: null + - id: 2205 + name: Studio Kafka + filtered_name: Kafka + real: false + image: null + - id: 2207 + name: Poly Animation + filtered_name: Poly + real: false + image: null + - id: 2208 + name: Taikong Works + filtered_name: Taikong Works + real: false + image: null + - id: 266 + name: Natural High + filtered_name: Natural High + real: false + image: null + - id: 2883 + name: Atelier Tuki + filtered_name: Atelier Tuki + real: false + image: null + - id: 268 + name: Hot Bear + filtered_name: Hot Bear + real: false + image: /system/studios/original/268.jpg?1312165052 + - id: 269 + name: DiC Entertainment + filtered_name: DiC + real: false + image: null + - id: 2526 + name: Shenman Entertainment + filtered_name: Shenman + real: false + image: null + - id: 2535 + name: Uguisu Kobo + filtered_name: Uguisu Kobo + real: false + image: null + - id: 2696 + name: 100studio + filtered_name: 100studio + real: false + image: null + - id: 2157 + name: Production +h. + filtered_name: Production +h. + real: false + image: /system/studios/original/2157.png?1647107719 + - id: 275 + name: Kojiro Shishido Animation Works + filtered_name: Kojiro Shishido Animation Works + real: false + image: null + - id: 277 + name: Anime Midstream + filtered_name: Anime Midstream + real: false + image: null + - id: 2438 + name: yell + filtered_name: yell + real: false + image: null + - id: 279 + name: Skouras + filtered_name: Skouras + real: false + image: null + - id: 282 + name: Gentosha Comics + filtered_name: Gentosha Comics + real: false + image: null + - id: 283 + name: KENMedia + filtered_name: KENMedia + real: false + image: null + - id: 284 + name: Central Park Media + filtered_name: Central Park Media + real: false + image: null + - id: 292 + name: AIC PLUS+ + filtered_name: AIC PLUS+ + real: false + image: null + - id: 289 + name: ACiD FiLM + filtered_name: ACiD FiLM + real: false + image: null + - id: 290 + name: Kinema Citrus + filtered_name: Kinema Citrus + real: false + image: /system/studios/original/290.?1450691180 + - id: 293 + name: Picograph + filtered_name: Picograph + real: false + image: null + - id: 294 + name: Discovery + filtered_name: Discovery + real: false + image: /system/studios/original/294.gif?1311292712 + - id: 295 + name: BaseSon + filtered_name: BaseSon + real: false + image: /system/studios/original/295.jpg?1311292709 + - id: 296 + name: Critical Mass + filtered_name: Critical Mass + real: false + image: null + - id: 297 + name: Armor + filtered_name: Armor + real: false + image: null + - id: 299 + name: Studio Pastoral + filtered_name: Pastoral + real: false + image: /system/studios/original/299.gif?1311292711 + - id: 301 + name: Langmaor + filtered_name: Langmaor + real: false + image: null + - id: 302 + name: 'GODxDOG Production ' + filtered_name: 'GODxDOG Production ' + real: false + image: null + - id: 304 + name: Primastea + filtered_name: Primastea + real: false + image: null + - id: 306 + name: Magic Capsule + filtered_name: Magic Capsule + real: false + image: null + - id: 308 + name: Yellow Film + filtered_name: Yellow Film + real: false + image: null + - id: 310 + name: Animeigo + filtered_name: Animeigo + real: false + image: null + - id: 311 + name: Enoki Films + filtered_name: Enoki Films + real: false + image: null + - id: 2591 + name: Studio Pivote + filtered_name: Pivote + real: false + image: null + - id: 313 + name: Omnibus Japan + filtered_name: Omnibus Japan + real: false + image: /system/studios/original/313.jpg?1311292713 + - id: 316 + name: Nippon Shuppan Hanbai (Nippan) K.K. + filtered_name: Nippon Shuppan Hanbai (Nippan) K.K. + real: false + image: null + - id: 317 + name: NHK Enterprises + filtered_name: NHK Enterprises + real: false + image: null + - id: 319 + name: MS Pictures + filtered_name: MS Pictures + real: false + image: /system/studios/original/319.gif?1312165042 + - id: 323 + name: Nippon Columbia + filtered_name: Nippon Columbia + real: false + image: null + - id: 326 + name: Animation 21 + filtered_name: '21' + real: false + image: null + - id: 327 + name: Takara + filtered_name: Takara + real: false + image: /system/studios/original/327.jpg?1311292711 + - id: 315 + name: DAX Production + filtered_name: DAX + real: false + image: /system/studios/original/315.jpg?1363542744 + - id: 267 + name: Five Ways + filtered_name: Five Ways + real: false + image: /system/studios/original/267.jpg?1311292713 + - id: 328 + name: Casio Entertainment + filtered_name: Casio + real: false + image: /system/studios/original/328.gif?1311292710 + - id: 330 + name: Kanaban Graphics + filtered_name: Kanaban Graphics + real: false + image: null + - id: 332 + name: Takeshobo + filtered_name: Takeshobo + real: false + image: null + - id: 335 + name: Seta Corporation + filtered_name: Seta Corporation + real: false + image: null + - id: 338 + name: Studio Bogey + filtered_name: Bogey + real: false + image: null + - id: 339 + name: Rankin/Bass + filtered_name: Rankin/Bass + real: false + image: null + - id: 341 + name: SamBakZa + filtered_name: SamBakZa + real: false + image: null + - id: 343 + name: Puzzle Animation Studio Limited + filtered_name: Puzzle Animation Studio Limited + real: false + image: null + - id: 346 + name: Hoods Entertainment + filtered_name: Hoods + real: true + image: /system/studios/original/346.png?1369062564 + - id: 2885 + name: Group Creato + filtered_name: Group Creato + real: false + image: null + - id: 1301 + name: CCTV Animation Group + filtered_name: CCTV Animation Group + real: false + image: null + - id: 392 + name: Enterbrain + filtered_name: Enterbrain + real: false + image: /system/studios/original/392.png?1312165048 + - id: 393 + name: Epoch + filtered_name: Epoch + real: false + image: null + - id: 344 + name: ATLUS + filtered_name: ATLUS + real: false + image: /system/studios/original/344.jpg?1311292711 + - id: 345 + name: TAKI Corporation + filtered_name: TAKI Corporation + real: false + image: null + - id: 347 + name: PrimeTime + filtered_name: PrimeTime + real: false + image: null + - id: 348 + name: Kawamoto Productions Ltd. + filtered_name: Kawamoto Productions Ltd. + real: false + image: null + - id: 349 + name: Itasca Studio + filtered_name: Itasca + real: false + image: null + - id: 350 + name: The Village of Marchen + filtered_name: The Village of Marchen + real: false + image: null + - id: 351 + name: Big West + filtered_name: Big West + real: false + image: null + - id: 352 + name: Kadokawa Pictures Japan + filtered_name: Kadokawa Pictures Japan + real: false + image: null + - id: 353 + name: Chungeorahm Film + filtered_name: Chungeorahm Film + real: false + image: null + - id: 354 + name: Encourage Films + filtered_name: Encourage Films + real: false + image: /system/studios/original/354.png?1312165070 + - id: 356 + name: Cranberry + filtered_name: Cranberry + real: false + image: null + - id: 357 + name: Innocent Grey + filtered_name: Innocent Grey + real: false + image: /system/studios/original/357.jpg?1311292714 + - id: 359 + name: NHK-BS2 + filtered_name: NHK-BS2 + real: false + image: null + - id: 361 + name: Oxybot + filtered_name: Oxybot + real: false + image: null + - id: 362 + name: Film Workshop + filtered_name: Film Workshop + real: false + image: null + - id: 363 + name: Topcraft + filtered_name: Topcraft + real: false + image: null + - id: 364 + name: Sovat Theater + filtered_name: Sovat Theater + real: false + image: null + - id: 365 + name: PoRO + filtered_name: PoRO + real: false + image: /system/studios/original/365.jpg?1311292711 + - id: 366 + name: Tomoyasu Murata Company + filtered_name: Tomoyasu Murata Company + real: false + image: null + - id: 367 + name: Heewon Entertainment + filtered_name: Heewon + real: false + image: /system/studios/original/367.png?1311292711 + - id: 368 + name: UM Productions + filtered_name: UM + real: false + image: null + - id: 370 + name: Iyasakadou Film + filtered_name: Iyasakadou Film + real: false + image: null + - id: 371 + name: Union Cho + filtered_name: Union Cho + real: false + image: null + - id: 375 + name: I.Toon + filtered_name: I.Toon + real: false + image: null + - id: 376 + name: Sentai Filmworks + filtered_name: Sentai Filmworks + real: false + image: null + - id: 2134 + name: Studio CANDY BOX + filtered_name: CANDY BOX + real: false + image: null + - id: 378 + name: Grasshoppa! + filtered_name: Grasshoppa! + real: false + image: null + - id: 379 + name: Avaco Creative Studios + filtered_name: Avaco Creative + real: false + image: /system/studios/original/379.jpg?1311292713 + - id: 380 + name: Amuse Pictures + filtered_name: Amuse Pictures + real: false + image: null + - id: 381 + name: Yamato Works + filtered_name: Yamato Works + real: false + image: null + - id: 382 + name: Tokuma Shoten + filtered_name: Tokuma Shoten + real: false + image: null + - id: 383 + name: KMMJ Studios + filtered_name: KMMJ + real: false + image: null + - id: 384 + name: Trick Block + filtered_name: Trick Block + real: false + image: null + - id: 331 + name: Indeprox + filtered_name: Indeprox + real: false + image: null + - id: 340 + name: Future Planet + filtered_name: Future Planet + real: false + image: null + - id: 386 + name: Animaruya + filtered_name: Animaruya + real: false + image: null + - id: 387 + name: Blue Eyes + filtered_name: Blue Eyes + real: false + image: /system/studios/original/387.jpg?1311292712 + - id: 388 + name: Tamura Shigeru Studio + filtered_name: Tamura Shigeru + real: false + image: null + - id: 389 + name: I-move + filtered_name: I-move + real: false + image: /system/studios/original/389.jpg?1311292713 + - id: 390 + name: Tsuchida Productions + filtered_name: Tsuchida + real: false + image: null + - id: 391 + name: Grouper Productions + filtered_name: Grouper + real: false + image: null + - id: 396 + name: Asia-Do + filtered_name: Asia-Do + real: false + image: null + - id: 398 + name: Milky Cartoon + filtered_name: Milky Cartoon + real: false + image: null + - id: 399 + name: Dream Force + filtered_name: Dream Force + real: false + image: null + - id: 401 + name: ChuChu + filtered_name: ChuChu + real: false + image: /system/studios/original/401.png?1311292712 + - id: 402 + name: ChiChinoya + filtered_name: ChiChinoya + real: false + image: /system/studios/original/402.?1370373702 + - id: 403 + name: Tokyo Media Connections + filtered_name: Tokyo Media Connections + real: false + image: null + - id: 404 + name: Studio Unicorn + filtered_name: Unicorn + real: false + image: null + - id: 405 + name: T-Rex + filtered_name: T-Rex + real: false + image: null + - id: 408 + name: Amino + filtered_name: Amino + real: false + image: null + - id: 409 + name: Studio Egg + filtered_name: Egg + real: false + image: null + - id: 410 + name: Adult Source Media + filtered_name: Adult Source Media + real: false + image: null + - id: 411 + name: KBS + filtered_name: KBS + real: false + image: null + - id: 412 + name: Studio Wombat + filtered_name: Wombat + real: false + image: null + - id: 413 + name: Pastel + filtered_name: Pastel + real: false + image: null + - id: 414 + name: Lemon Heart + filtered_name: Lemon Heart + real: false + image: null + - id: 415 + name: Warner Bros. + filtered_name: Warner Bros. + real: false + image: null + - id: 416 + name: TAP + filtered_name: TAP + real: false + image: /system/studios/original/416.jpg?1311292710 + - id: 2413 + name: AION Studio + filtered_name: AION + real: false + image: null + - id: 373 + name: Panda Factory + filtered_name: Panda Factory + real: false + image: null + - id: 358 + name: Telescreen + filtered_name: Telescreen + real: false + image: null + - id: 559 + name: Purple Cow Studio Japan + filtered_name: Purple Cow Studio Japan + real: false + image: null + - id: 419 + name: ElectromagneticWave + filtered_name: ElectromagneticWave + real: false + image: null + - id: 420 + name: ACC Production + filtered_name: ACC + real: false + image: null + - id: 421 + name: International Digital Artist Inc. + filtered_name: International Digital Artist Inc. + real: false + image: null + - id: 422 + name: Schoolzone + filtered_name: Schoolzone + real: false + image: /system/studios/original/422.jpg?1311292713 + - id: 423 + name: Studio Eromatick + filtered_name: Eromatick + real: false + image: null + - id: 424 + name: Mary Jane + filtered_name: Mary Jane + real: false + image: /system/studios/original/424.jpg?1311292712 + - id: 425 + name: AIC Takarazuka + filtered_name: AIC Takarazuka + real: false + image: /system/studios/original/425.jpg?1311292709 + - id: 426 + name: Filmlink International + filtered_name: Filmlink International + real: false + image: null + - id: 427 + name: Studio G-1Neo + filtered_name: G-1Neo + real: false + image: /system/studios/original/427.jpg?1312165046 + - id: 428 + name: Nichiei Agency + filtered_name: Nichiei Agency + real: false + image: null + - id: 429 + name: Office AO + filtered_name: Office AO + real: false + image: /system/studios/original/429.png?1311292712 + - id: 430 + name: Mad Box + filtered_name: Mad Box + real: false + image: /system/studios/original/430.gif?1311292712 + - id: 431 + name: Procidis + filtered_name: Procidis + real: false + image: null + - id: 432 + name: Kachidoki Studio + filtered_name: Kachidoki + real: false + image: null + - id: 434 + name: Synergy Japan + filtered_name: Synergy Japan + real: false + image: null + - id: 2414 + name: MontBlanc Pictures + filtered_name: MontBlanc Pictures + real: false + image: null + - id: 418 + name: Studio Gokumi + filtered_name: Gokumi + real: true + image: /system/studios/original/418.jpg?1311292712 + - id: 435 + name: Studio Zero + filtered_name: Zero + real: false + image: null + - id: 436 + name: AIC Build + filtered_name: AIC Build + real: false + image: null + - id: 2819 + name: soket + filtered_name: soket + real: false + image: null + - id: 438 + name: Studio Signal + filtered_name: Signal + real: false + image: null + - id: 440 + name: Studio Kuma + filtered_name: Kuma + real: false + image: null + - id: 3116 + name: ame pippin + filtered_name: ame pippin + real: false + image: null + - id: 442 + name: Minami Machi Bugyousho + filtered_name: Minami Machi Bugyousho + real: false + image: /system/studios/original/442.jpg?1311292713 + - id: 444 + name: Jinnis Animation Studios + filtered_name: Jinnis Animation + real: false + image: null + - id: 445 + name: Bliss Pictures + filtered_name: Bliss Pictures + real: false + image: null + - id: 446 + name: RTHK + filtered_name: RTHK + real: false + image: null + - id: 447 + name: Hero Communication + filtered_name: Hero Communication + real: false + image: null + - id: 448 + name: Postgal Workshop + filtered_name: Postgal Workshop + real: false + image: null + - id: 449 + name: Maikaze + filtered_name: Maikaze + real: false + image: null + - id: 501 + name: Miramax Films + filtered_name: Miramax Films + real: false + image: null + - id: 2415 + name: HuaMei Animation + filtered_name: HuaMei + real: false + image: null + - id: 2417 + name: TiMi Studio Group + filtered_name: TiMi Studio Group + real: false + image: null + - id: 451 + name: Cookie Jar Entertainment + filtered_name: Cookie Jar + real: false + image: null + - id: 457 + name: Venet + filtered_name: Venet + real: false + image: null + - id: 458 + name: Beijing Sharaku Art Co. + filtered_name: Beijing Sharaku Art Co. + real: false + image: null + - id: 561 + name: U/M/A/A Inc. + filtered_name: U/M/A/A Inc. + real: false + image: null + - id: 563 + name: LandQ studios + filtered_name: LandQ + real: false + image: null + - id: 459 + name: Nitroplus + filtered_name: Nitroplus + real: false + image: /system/studios/original/459.gif?1311292712 + - id: 460 + name: The Klock Worx + filtered_name: The Klock Worx + real: false + image: /system/studios/original/460.jpg?1378062144 + - id: 461 + name: OLE-M + filtered_name: OLE-M + real: false + image: null + - id: 462 + name: Chaos Project + filtered_name: Chaos Project + real: false + image: null + - id: 463 + name: M.S.C + filtered_name: M.S.C + real: false + image: /system/studios/original/463.jpg?1311292714 + - id: 464 + name: flying DOG + filtered_name: flying DOG + real: false + image: /system/studios/original/464.jpg?1311292712 + - id: 465 + name: Hasbro + filtered_name: Hasbro + real: false + image: null + - id: 466 + name: Digital Media Lab + filtered_name: Digital Media Lab + real: false + image: /system/studios/original/466.jpg?1311292714 + - id: 467 + name: Discotek + filtered_name: Discotek + real: false + image: null + - id: 468 + name: Nihon Falcom + filtered_name: Nihon Falcom + real: false + image: /system/studios/original/468.gif?1311292713 + - id: 469 + name: ING + filtered_name: ING + real: false + image: null + - id: 437 + name: Kamikaze Douga + filtered_name: Kamikaze Douga + real: true + image: /system/studios/original/437.?1521917123 + - id: 439 + name: Project No.9 + filtered_name: Project No.9 + real: true + image: /system/studios/original/439.png?1500210282 + - id: 470 + name: GAGA Communications + filtered_name: GAGA Communications + real: false + image: /system/studios/original/470.jpg?1312165074 + - id: 473 + name: Ascension + filtered_name: Ascension + real: false + image: null + - id: 474 + name: Shogakukan Music & Digital Entertainment + filtered_name: Shogakukan Music & Digital + real: false + image: /system/studios/original/474.jpg?1312165067 + - id: 475 + name: Ishikawa Pro + filtered_name: Ishikawa Pro + real: false + image: null + - id: 476 + name: The Berich + filtered_name: The Berich + real: false + image: null + - id: 477 + name: Kino Production + filtered_name: Kino + real: false + image: /system/studios/original/477.jpg?1311292712 + - id: 2453 + name: Kusama Art + filtered_name: Kusama Art + real: false + image: null + - id: 479 + name: DOGA Productions + filtered_name: DOGA + real: false + image: null + - id: 480 + name: Tokyo TV + filtered_name: Tokyo TV + real: false + image: null + - id: 481 + name: Office Take Off + filtered_name: Office Take Off + real: false + image: null + - id: 482 + name: Automatic Flowers Studio + filtered_name: Automatic Flowers + real: false + image: null + - id: 483 + name: Marvel Entertainment + filtered_name: Marvel + real: false + image: null + - id: 484 + name: TOKYOPOP + filtered_name: TOKYOPOP + real: false + image: null + - id: 485 + name: Shinwon Productions + filtered_name: Shinwon + real: false + image: null + - id: 487 + name: Studio MWP + filtered_name: MWP + real: false + image: null + - id: 488 + name: Anchor Bay Films + filtered_name: Anchor Bay Films + real: false + image: null + - id: 489 + name: TCJ + filtered_name: TCJ + real: false + image: null + - id: 490 + name: Maiden Japan + filtered_name: Maiden Japan + real: false + image: null + - id: 491 + name: Byakuya Shobo + filtered_name: Byakuya Shobo + real: false + image: null + - id: 492 + name: Horannabi + filtered_name: Horannabi + real: false + image: null + - id: 493 + name: Aniplex of America + filtered_name: Aniplex of America + real: false + image: null + - id: 494 + name: Studio Take Off + filtered_name: Take Off + real: false + image: null + - id: 495 + name: Moonstone Cherry + filtered_name: Moonstone Cherry + real: false + image: null + - id: 497 + name: Studio Gram + filtered_name: Gram + real: false + image: null + - id: 499 + name: The Pokemon Company International + filtered_name: The Pokemon Company International + real: false + image: null + - id: 2482 + name: Atti Production + filtered_name: Atti + real: false + image: null + - id: 2456 + name: team Yamahitsuji + filtered_name: team Yamahitsuji + real: false + image: null + - id: 471 + name: Shanghai Animation Film Studio + filtered_name: Shanghai Animation Film + real: false + image: /system/studios/original/471.png?1636032282 + - id: 2503 + name: 7doc + filtered_name: 7doc + real: false + image: null + - id: 2520 + name: Twilight Town + filtered_name: Twilight Town + real: false + image: null + - id: 2382 + name: J.T.P.P. + filtered_name: J.T.P.P. + real: false + image: null + - id: 2481 + name: Chimu Jika Hatsuden + filtered_name: Chimu Jika Hatsuden + real: false + image: null + - id: 2538 + name: Imagestone Inc. + filtered_name: Imagestone Inc. + real: false + image: null + - id: 453 + name: Tsuburaya Productions + filtered_name: Tsuburaya + real: false + image: null + - id: 505 + name: Nintendo of America + filtered_name: Nintendo of America + real: false + image: null + - id: 507 + name: Universal Studios + filtered_name: Universal + real: false + image: null + - id: 509 + name: Fuji Video + filtered_name: Fuji Video + real: false + image: null + - id: 511 + name: Wonder Kids + filtered_name: Wonder Kids + real: false + image: null + - id: 515 + name: Fairy Dust + filtered_name: Fairy Dust + real: false + image: null + - id: 519 + name: Collaboration Works + filtered_name: Collaboration Works + real: false + image: null + - id: 521 + name: Anpro + filtered_name: Anpro + real: false + image: null + - id: 523 + name: SBS TV Production + filtered_name: SBS TV + real: false + image: null + - id: 525 + name: KAGAYA Studio + filtered_name: KAGAYA + real: false + image: null + - id: 527 + name: Higa Brothers Production + filtered_name: Higa Brothers + real: false + image: null + - id: 529 + name: Lapis + filtered_name: Lapis + real: false + image: null + - id: 531 + name: Elevenarts + filtered_name: Elevenarts + real: false + image: null + - id: 533 + name: N&G Production + filtered_name: N&G + real: false + image: null + - id: 537 + name: SANZIGEN + filtered_name: SANZIGEN + real: false + image: /system/studios/original/537.?1369837212 + - id: 539 + name: Ultra Super Pictures + filtered_name: Ultra Super Pictures + real: false + image: /system/studios/original/539.jpg?1382873182 + - id: 2418 + name: Imagica Digitalscape + filtered_name: Imagica Digitalscape + real: false + image: null + - id: 543 + name: Studio Saki Makura + filtered_name: Saki Makura + real: false + image: null + - id: 545 + name: Studio Deva Loka + filtered_name: Deva Loka + real: false + image: null + - id: 547 + name: Hobby Japan + filtered_name: Hobby Japan + real: false + image: null + - id: 549 + name: StudioRF Inc. + filtered_name: StudioRF Inc. + real: false + image: null + - id: 551 + name: Crossphere + filtered_name: Crossphere + real: false + image: null + - id: 553 + name: Marvy Jack + filtered_name: Marvy Jack + real: false + image: null + - id: 2891 + name: A4A Inc. + filtered_name: A4A Inc. + real: false + image: null + - id: 571 + name: Obtain Future + filtered_name: Obtain Future + real: false + image: null + - id: 573 + name: JapanAnime + filtered_name: JapanAnime + real: false + image: null + - id: 575 + name: Katsudou-manga-kan + filtered_name: Katsudou-manga-kan + real: false + image: null + - id: 579 + name: AT-2 + filtered_name: AT-2 + real: false + image: null + - id: 2429 + name: STUDIO6'oN + filtered_name: STUDIO6'oN + real: false + image: null + - id: 583 + name: Annapuru + filtered_name: Annapuru + real: false + image: null + - id: 585 + name: Arplants + filtered_name: Arplants + real: false + image: null + - id: 2347 + name: IKK Room + filtered_name: IKK Room + real: false + image: null + - id: 589 + name: Academy Productions + filtered_name: Academy + real: false + image: null + - id: 591 + name: Romanov Films + filtered_name: Romanov Films + real: false + image: null + - id: 593 + name: Egg + filtered_name: Egg + real: false + image: null + - id: 595 + name: NYAV Post + filtered_name: NYAV Post + real: false + image: null + - id: 603 + name: CLOCKUP + filtered_name: CLOCKUP + real: false + image: null + - id: 605 + name: C2C + filtered_name: C2C + real: false + image: /system/studios/original/605.jpg?1389993046 + - id: 607 + name: RAMS + filtered_name: RAMS + real: false + image: null + - id: 611 + name: Sakura Production + filtered_name: Sakura + real: false + image: null + - id: 613 + name: Jormungand Production Partners + filtered_name: Jormungand Production Partners + real: false + image: null + - id: 615 + name: Dream Creation + filtered_name: Dream Creation + real: false + image: null + - id: 617 + name: Azumanga Daioh Production Committee + filtered_name: Azumanga Daioh Production Committee + real: false + image: null + - id: 619 + name: Cospa + filtered_name: Cospa + real: false + image: null + - id: 621 + name: SoftBank Creative Corp. + filtered_name: SoftBank Creative Corp. + real: false + image: null + - id: 623 + name: Kimi To Boku Production Partners + filtered_name: Kimi To Boku Production Partners + real: false + image: null + - id: 625 + name: H.O.T.D Production Committee + filtered_name: H.O.T.D Production Committee + real: false + image: null + - id: 627 + name: Madoka Partners + filtered_name: Madoka Partners + real: false + image: null + - id: 629 + name: Studio Sign + filtered_name: Sign + real: false + image: null + - id: 631 + name: Acchi Kocchi Production Committee + filtered_name: Acchi Kocchi Production Committee + real: false + image: null + - id: 633 + name: Tasogare Otome×Amnesia Production Partners + filtered_name: Tasogare Otome×Amnesia Production Partners + real: false + image: null + - id: 635 + name: Saki Achiga-hen Production Committee + filtered_name: Saki Achiga-hen Production Committee + real: false + image: null + - id: 637 + name: Möbius Tone + filtered_name: Möbius Tone + real: false + image: null + - id: 639 + name: Hiiro No Kakera Production Committee + filtered_name: Hiiro No Kakera Production Committee + real: false + image: null + - id: 641 + name: Japan Aerospace Exploration Agency + filtered_name: Japan Aerospace Exploration Agency + real: false + image: null + - id: 643 + name: Trinity Sound + filtered_name: Trinity Sound + real: false + image: null + - id: 645 + name: Audio Highs + filtered_name: Audio Highs + real: false + image: null + - id: 647 + name: Memory-Tech + filtered_name: Memory-Tech + real: false + image: null + - id: 649 + name: Hanokiwa Academy Student Council + filtered_name: Hanokiwa Academy Student Council + real: false + image: null + - id: 651 + name: Sengoku Collection Production Committee + filtered_name: Sengoku Collection Production Committee + real: false + image: null + - id: 653 + name: tsuritama partners + filtered_name: tsuritama partners + real: false + image: null + - id: 655 + name: Volks + filtered_name: Volks + real: false + image: null + - id: 657 + name: Lucky Paradise + filtered_name: Lucky Paradise + real: false + image: null + - id: 659 + name: AKB0048 Production Committee + filtered_name: AKB0048 Production Committee + real: false + image: null + - id: 661 + name: Right Gauge + filtered_name: Right Gauge + real: false + image: null + - id: 663 + name: Dwango Music Entertainment + filtered_name: Dwango Music + real: false + image: null + - id: 665 + name: chara-ani.com + filtered_name: chara-ani.com + real: false + image: null + - id: 667 + name: AC Create + filtered_name: AC Create + real: false + image: null + - id: 669 + name: My Melody Production Committee + filtered_name: My Melody Production Committee + real: false + image: null + - id: 675 + name: Yomiuri Advertising + filtered_name: Yomiuri Advertising + real: false + image: null + - id: 677 + name: Nexon + filtered_name: Nexon + real: false + image: null + - id: 681 + name: ASCII Media Works + filtered_name: ASCII Media Works + real: false + image: null + - id: 683 + name: Astarotte no Omocha! Production Committee + filtered_name: Astarotte no Omocha! Production Committee + real: false + image: null + - id: 685 + name: Kadokawa Contents Gate + filtered_name: Kadokawa Contents Gate + real: false + image: null + - id: 687 + name: Bandai Namco Live Creative + filtered_name: Bandai Namco Live Creative + real: false + image: null + - id: 689 + name: NTT Docomo + filtered_name: NTT Docomo + real: false + image: null + - id: 691 + name: 501st JOINT FIGHTER WING + filtered_name: 501st JOINT FIGHTER WING + real: false + image: null + - id: 693 + name: BS-TBS + filtered_name: BS-TBS + real: false + image: null + - id: 695 + name: Sankarea Production Committee + filtered_name: Sankarea Production Committee + real: false + image: null + - id: 2493 + name: Studio B&M + filtered_name: B&M + real: false + image: null + - id: 697 + name: Natsuiro Kiseki Production Partners + filtered_name: Natsuiro Kiseki Production Partners + real: false + image: null + - id: 699 + name: feng + filtered_name: feng + real: false + image: null + - id: 701 + name: seikaisha + filtered_name: seikaisha + real: false + image: null + - id: 703 + name: Notes + filtered_name: Notes + real: false + image: null + - id: 705 + name: Project Railgun + filtered_name: Project Railgun + real: false + image: null + - id: 707 + name: TMS-Kyokuchi + filtered_name: TMS-Kyokuchi + real: false + image: null + - id: 709 + name: PPP + filtered_name: PPP + real: false + image: null + - id: 711 + name: Delphi Sound + filtered_name: Delphi Sound + real: false + image: null + - id: 713 + name: 12 Diary Holders + filtered_name: 12 Diary Holders + real: false + image: null + - id: 715 + name: Dwango + filtered_name: Dwango + real: false + image: null + - id: 717 + name: TV Tokyo Music + filtered_name: TV Tokyo Music + real: false + image: null + - id: 719 + name: Studio Mausu + filtered_name: Mausu + real: false + image: null + - id: 721 + name: GANSIS + filtered_name: GANSIS + real: false + image: null + - id: 723 + name: Hotline + filtered_name: Hotline + real: false + image: null + - id: 725 + name: Hatsukoi Limited Production Committee + filtered_name: Hatsukoi Limited Production Committee + real: false + image: null + - id: 727 + name: Kiyosumi High School Mahjong Club + filtered_name: Kiyosumi High School Mahjong Club + real: false + image: null + - id: 729 + name: Raku High Student Council + filtered_name: Raku High Student Council + real: false + image: null + - id: 731 + name: Inu x Boku SS Production Partners + filtered_name: Inu x Boku SS Production Partners + real: false + image: null + - id: 733 + name: Viki + filtered_name: Viki + real: false + image: null + - id: 735 + name: Slowcurve + filtered_name: Slowcurve + real: false + image: null + - id: 737 + name: Sony Music Communications + filtered_name: Sony Music Communications + real: false + image: null + - id: 739 + name: Project IS + filtered_name: Project IS + real: false + image: null + - id: 741 + name: Toshiba Entertainment + filtered_name: Toshiba + real: false + image: null + - id: 743 + name: Project Eureka AO + filtered_name: Project Eureka AO + real: false + image: null + - id: 745 + name: Cosmic Ray + filtered_name: Cosmic Ray + real: false + image: null + - id: 747 + name: Apollon + filtered_name: Apollon + real: false + image: null + - id: 749 + name: Pony Canyon Enterprises + filtered_name: Pony Canyon Enterprises + real: false + image: null + - id: 751 + name: Marvelous AQL + filtered_name: Marvelous AQL + real: false + image: null + - id: 753 + name: PRA + filtered_name: PRA + real: false + image: null + - id: 757 + name: Sony Music Entertainment + filtered_name: Sony Music + real: false + image: null + - id: 759 + name: Eye Move + filtered_name: Eye Move + real: false + image: null + - id: 761 + name: Sunny Side Up + filtered_name: Sunny Side Up + real: false + image: null + - id: 763 + name: Miracle Robo + filtered_name: Miracle Robo + real: false + image: null + - id: 765 + name: Sakura Create + filtered_name: Sakura Create + real: false + image: null + - id: 767 + name: Majin + filtered_name: Majin + real: false + image: null + - id: 769 + name: Fuji Pacific Music Publishing + filtered_name: Fuji Pacific Music Publishing + real: false + image: null + - id: 771 + name: Kyokuichi Tokyo Movie Shinsha + filtered_name: Kyokuichi Tokyo Movie Shinsha + real: false + image: null + - id: 773 + name: Peter Pan Creation + filtered_name: Peter Pan Creation + real: false + image: null + - id: 775 + name: Bushiroad Inc. + filtered_name: Bushiroad Inc. + real: false + image: null + - id: 777 + name: Showgate + filtered_name: Showgate + real: false + image: null + - id: 779 + name: AMG MUSIC + filtered_name: AMG MUSIC + real: false + image: null + - id: 781 + name: Studio NOA + filtered_name: NOA + real: false + image: null + - id: 783 + name: GKids + filtered_name: GKids + real: false + image: null + - id: 785 + name: Advance Syakujii + filtered_name: Advance Syakujii + real: false + image: null + - id: 787 + name: Happinet Pictures + filtered_name: Happinet Pictures + real: false + image: null + - id: 789 + name: BIGLOBE + filtered_name: BIGLOBE + real: false + image: null + - id: 791 + name: Dentsu Entertainment USA + filtered_name: Dentsu Entertainment USA + real: false + image: null + - id: 793 + name: Glams + filtered_name: Glams + real: false + image: null + - id: 795 + name: Yahoo! Japan + filtered_name: Yahoo! Japan + real: false + image: null + - id: 797 + name: Hobunsha + filtered_name: Hobunsha + real: false + image: null + - id: 799 + name: indigo line + filtered_name: indigo line + real: false + image: null + - id: 2374 + name: Momoi Planning + filtered_name: Momoi Planning + real: false + image: null + - id: 805 + name: AIC Frontier + filtered_name: AIC Frontier + real: false + image: null + - id: 807 + name: Po10tial + filtered_name: Po10tial + real: false + image: null + - id: 811 + name: Hang Zhou StarQ + filtered_name: Hang Zhou StarQ + real: false + image: null + - id: 813 + name: SoftCel Pictures + filtered_name: SoftCel Pictures + real: false + image: null + - id: 815 + name: EMI + filtered_name: EMI + real: false + image: null + - id: 817 + name: WField + filtered_name: WField + real: false + image: null + - id: 819 + name: Next Media Animation + filtered_name: Next Media + real: false + image: null + - id: 821 + name: Cotton Doll + filtered_name: Cotton Doll + real: false + image: null + - id: 803 + name: Trigger + filtered_name: Trigger + real: true + image: /system/studios/original/803.png?1356241771 + - id: 823 + name: Lune Pictures + filtered_name: Lune Pictures + real: false + image: null + - id: 827 + name: Amber Film Works + filtered_name: Amber Film Works + real: false + image: null + - id: 755 + name: Jumondou + filtered_name: Jumondou + real: false + image: null + - id: 829 + name: Studio Jack + filtered_name: Jack + real: false + image: null + - id: 831 + name: Otogi Production + filtered_name: Otogi + real: false + image: null + - id: 833 + name: Kyotoma + filtered_name: Kyotoma + real: false + image: null + - id: 835 + name: UNLIMITED Partners + filtered_name: UNLIMITED Partners + real: false + image: null + - id: 837 + name: Saki Zenkoku-hen Production Committee + filtered_name: Saki Zenkoku-hen Production Committee + real: false + image: null + - id: 841 + name: Saban Entertainment + filtered_name: Saban + real: false + image: null + - id: 843 + name: BS Fuji + filtered_name: BS Fuji + real: false + image: null + - id: 845 + name: Project No Name + filtered_name: Project No Name + real: false + image: null + - id: 847 + name: Senran Kagura Partners + filtered_name: Senran Kagura Partners + real: false + image: null + - id: 848 + name: Kazami Gakuen Koushiki Douga-bu + filtered_name: Kazami Gakuen Koushiki Douga-bu + real: false + image: null + - id: 850 + name: Kenji Studio + filtered_name: Kenji + real: false + image: null + - id: 854 + name: Solid Vox + filtered_name: Solid Vox + real: false + image: null + - id: 856 + name: Charaction + filtered_name: Charaction + real: false + image: null + - id: 860 + name: Triple X + filtered_name: Triple X + real: false + image: null + - id: 2541 + name: SAMG Entertainment + filtered_name: SAMG + real: false + image: null + - id: 868 + name: Devil Survivor 2 Animation Committee + filtered_name: Devil Survivor 2 Animation Committee + real: false + image: null + - id: 870 + name: Index + filtered_name: Index + real: false + image: null + - id: 872 + name: Shingeki no Kyojin Team + filtered_name: Shingeki no Kyojin Team + real: false + image: null + - id: 874 + name: Flex Comics + filtered_name: Flex Comics + real: false + image: null + - id: 876 + name: G-mode + filtered_name: G-mode + real: false + image: null + - id: 878 + name: An DerCen + filtered_name: An DerCen + real: false + image: null + - id: 880 + name: gimik + filtered_name: gimik + real: false + image: null + - id: 882 + name: Toranoana + filtered_name: Toranoana + real: false + image: null + - id: 884 + name: Strawberry Meets Pictures + filtered_name: Strawberry Meets Pictures + real: false + image: null + - id: 886 + name: Cinema Tohoku + filtered_name: Cinema Tohoku + real: false + image: null + - id: 890 + name: Karaku + filtered_name: Karaku + real: false + image: null + - id: 892 + name: NOTTV + filtered_name: NOTTV + real: false + image: null + - id: 2389 + name: G.P Entertainment + filtered_name: G.P + real: false + image: null + - id: 899 + name: Tokyo Animation Film + filtered_name: Tokyo Animation Film + real: false + image: null + - id: 901 + name: Tsubasa Entertainment + filtered_name: Tsubasa + real: false + image: null + - id: 903 + name: Studio Zealot + filtered_name: Zealot + real: false + image: null + - id: 905 + name: Tokuma Japan + filtered_name: Tokuma Japan + real: false + image: null + - id: 907 + name: AYCO + filtered_name: AYCO + real: false + image: null + - id: 898 + name: I.Gzwei + filtered_name: I.Gzwei + real: false + image: null + - id: 909 + name: Studio Kelmadick + filtered_name: Kelmadick + real: false + image: null + - id: 913 + name: Ryukyu Asahi Broadcasting + filtered_name: Ryukyu Asahi Broadcasting + real: false + image: null + - id: 917 + name: Takahashi Studio + filtered_name: Takahashi + real: false + image: null + - id: 919 + name: Ankama + filtered_name: Ankama + real: false + image: null + - id: 921 + name: Dynamic Planning + filtered_name: Dynamic Planning + real: false + image: null + - id: 923 + name: CyberStep + filtered_name: CyberStep + real: false + image: null + - id: 925 + name: Earth Star Entertainment + filtered_name: Earth Star + real: false + image: /system/studios/original/925.?1436214052 + - id: 927 + name: Dibetagurashi Production Committee + filtered_name: Dibetagurashi Production Committee + real: false + image: null + - id: 929 + name: Animation Do + filtered_name: Do + real: false + image: null + - id: 931 + name: Poncotan + filtered_name: Poncotan + real: false + image: null + - id: 933 + name: Carp Studio + filtered_name: Carp + real: false + image: null + - id: 935 + name: NHK-BS1 + filtered_name: NHK-BS1 + real: false + image: null + - id: 937 + name: Studio Kaab + filtered_name: Kaab + real: false + image: null + - id: 939 + name: Tama Production + filtered_name: Tama + real: false + image: null + - id: 941 + name: Iwatobi High School Swimming Club + filtered_name: Iwatobi High School Swimming Club + real: false + image: null + - id: 943 + name: Koichi Kikuchi + filtered_name: Koichi Kikuchi + real: false + image: null + - id: 2348 + name: KKC Animation Production + filtered_name: KKC Animation + real: false + image: null + - id: 947 + name: Manga Entertainment + filtered_name: Manga + real: false + image: null + - id: 949 + name: teamKG + filtered_name: teamKG + real: false + image: null + - id: 953 + name: Soft on Demand + filtered_name: Soft on Demand + real: false + image: null + - id: 955 + name: Watamote Production Committee + filtered_name: Watamote Production Committee + real: false + image: null + - id: 959 + name: Studio Compile + filtered_name: Compile + real: false + image: null + - id: 961 + name: Baramiri + filtered_name: Baramiri + real: false + image: null + - id: 963 + name: Mages + filtered_name: Mages + real: false + image: null + - id: 965 + name: Crimson Star Media + filtered_name: Crimson Star Media + real: false + image: null + - id: 967 + name: Pupa Production Committee + filtered_name: Pupa Production Committee + real: false + image: null + - id: 969 + name: Uchouten Kazoku Production Committee + filtered_name: Uchouten Kazoku Production Committee + real: false + image: null + - id: 971 + name: Anime R + filtered_name: Anime R + real: false + image: null + - id: 973 + name: Studio Liberty + filtered_name: Liberty + real: false + image: null + - id: 975 + name: Angelfish + filtered_name: Angelfish + real: false + image: null + - id: 2508 + name: Deck + filtered_name: Deck + real: false + image: null + - id: 979 + name: SPEED + filtered_name: SPEED + real: false + image: null + - id: 981 + name: BOOTLEG + filtered_name: BOOTLEG + real: false + image: null + - id: 983 + name: Daiko + filtered_name: Daiko + real: false + image: null + - id: 985 + name: P Productions + filtered_name: P + real: false + image: null + - id: 987 + name: Creative Bridge + filtered_name: Creative Bridge + real: false + image: null + - id: 989 + name: Nihon Hoso Eigasha + filtered_name: Nihon Hoso Eigasha + real: false + image: null + - id: 3228 + name: Shou Fan Yu Shu Gongzuoshi + filtered_name: Shou Fan Yu Shu Gongzuoshi + real: false + image: null + - id: 993 + name: Tesagure! Production Committee + filtered_name: Tesagure! Production Committee + real: false + image: null + - id: 995 + name: Coamix + filtered_name: Coamix + real: false + image: null + - id: 997 + name: Maxell E-Cube + filtered_name: Maxell E-Cube + real: false + image: null + - id: 1001 + name: Kyodo Eiga + filtered_name: Kyodo Eiga + real: false + image: null + - id: 2416 + name: Kent House + filtered_name: Kent House + real: false + image: null + - id: 1005 + name: Oddjob + filtered_name: Oddjob + real: false + image: null + - id: 3319 + name: Yanchester + filtered_name: Yanchester + real: false + image: null + - id: 1013 + name: Opera House + filtered_name: Opera House + real: false + image: null + - id: 1015 + name: T.O Entertainment + filtered_name: T.O + real: false + image: null + - id: 1017 + name: Liverpool + filtered_name: Liverpool + real: false + image: null + - id: 1019 + name: Himeyuri Alumnae Incorporated Foundation + filtered_name: Himeyuri Alumnae Incorporated Foundation + real: false + image: null + - id: 1021 + name: ASIA Documentary Productions + filtered_name: ASIA Documentary + real: false + image: null + - id: 1027 + name: Milkshake + filtered_name: Milkshake + real: false + image: null + - id: 1029 + name: BeeWorks + filtered_name: BeeWorks + real: false + image: null + - id: 1031 + name: Universal Radio Studio + filtered_name: Universal Radio + real: false + image: null + - id: 1035 + name: Mikakunin de Shinkoukei Production Committee + filtered_name: Mikakunin de Shinkoukei Production Committee + real: false + image: null + - id: 1037 + name: Japan Vistec + filtered_name: Japan Vistec + real: false + image: null + - id: 1039 + name: DIVE II Entertainment + filtered_name: DIVE II + real: false + image: null + - id: 1041 + name: Ai Addiction + filtered_name: Ai Addiction + real: false + image: null + - id: 1043 + name: Benesse Corporation + filtered_name: Benesse Corporation + real: false + image: null + - id: 1047 + name: ZIZ + filtered_name: ZIZ + real: false + image: null + - id: 1049 + name: PoPoCo + filtered_name: PoPoCo + real: false + image: null + - id: 1053 + name: Production IMS + filtered_name: Production IMS + real: false + image: /system/studios/original/1053.jpg?1404514553 + - id: 1057 + name: Kyowa Film + filtered_name: Kyowa Film + real: false + image: null + - id: 1059 + name: Studio Nem + filtered_name: Nem + real: false + image: null + - id: 1061 + name: Project Team Eikyuu Kikan + filtered_name: Project Team Eikyuu Kikan + real: false + image: null + - id: 3230 + name: Juvenage + filtered_name: Juvenage + real: false + image: null + - id: 1065 + name: Public & Basic + filtered_name: Public & Basic + real: false + image: null + - id: 1067 + name: Rising Force + filtered_name: Rising Force + real: false + image: null + - id: 1071 + name: Studio Lotus + filtered_name: Lotus + real: false + image: null + - id: 1073 + name: Magic Lantern Film + filtered_name: Magic Lantern Film + real: false + image: null + - id: 1077 + name: MMDGP + filtered_name: MMDGP + real: false + image: null + - id: 1079 + name: 3xCube + filtered_name: 3xCube + real: false + image: null + - id: 1081 + name: ZERO-A + filtered_name: ZERO-A + real: false + image: null + - id: 1083 + name: Aikikaku Center + filtered_name: Aikikaku Center + real: false + image: null + - id: 1045 + name: Space Neko Company + filtered_name: Space Neko Company + real: false + image: null + - id: 1025 + name: Dongwoo A&E + filtered_name: Dongwoo A&E + real: false + image: null + - id: 1085 + name: Cosmos + filtered_name: Cosmos + real: false + image: null + - id: 1089 + name: Studio Zain + filtered_name: Zain + real: false + image: null + - id: 1093 + name: BreakBottle + filtered_name: BreakBottle + real: false + image: null + - id: 1097 + name: Namco Bandai Games + filtered_name: Namco Bandai Games + real: false + image: null + - id: 1101 + name: Lambert + filtered_name: Lambert + real: false + image: null + - id: 1103 + name: TROYCA + filtered_name: TROYCA + real: false + image: /system/studios/original/1103.?1446387663 + - id: 1105 + name: Gendai Production + filtered_name: Gendai + real: false + image: null + - id: 1107 + name: Rabbit Gate + filtered_name: Rabbit Gate + real: false + image: null + - id: 1115 + name: Studio Korumi + filtered_name: Korumi + real: false + image: null + - id: 1117 + name: 1st PLACE + filtered_name: 1st PLACE + real: false + image: null + - id: 1121 + name: Banpresto + filtered_name: Banpresto + real: false + image: null + - id: 1123 + name: Lucent Pictures Entertainment + filtered_name: Lucent Pictures + real: false + image: null + - id: 1125 + name: Tsubu Doll Production Committee + filtered_name: Tsubu Doll Production Committee + real: false + image: null + - id: 1131 + name: Zero-G Room + filtered_name: Zero-G Room + real: false + image: null + - id: 1133 + name: dwarf + filtered_name: dwarf + real: false + image: null + - id: 1135 + name: FOREST Hunting One + filtered_name: FOREST Hunting One + real: false + image: null + - id: 1137 + name: SEK Studios + filtered_name: SEK + real: false + image: null + - id: 1139 + name: BEAM Entertainment + filtered_name: BEAM + real: false + image: null + - id: 1143 + name: TOHO animation + filtered_name: TOHO + real: false + image: null + - id: 1147 + name: Shinano Kikaku + filtered_name: Shinano Kikaku + real: false + image: null + - id: 1149 + name: Studio Cab + filtered_name: Cab + real: false + image: null + - id: 1151 + name: Sanrio Digital + filtered_name: Sanrio Digital + real: false + image: null + - id: 1153 + name: Image Kei + filtered_name: Image Kei + real: false + image: null + - id: 1157 + name: Big Bang + filtered_name: Big Bang + real: false + image: null + - id: 1159 + name: King Bee + filtered_name: King Bee + real: false + image: null + - id: 1161 + name: Allure + filtered_name: Allure + real: false + image: null + - id: 1163 + name: Flatiron Film Company + filtered_name: Flatiron Film Company + real: false + image: null + - id: 2362 + name: Aiti St. + filtered_name: Aiti St. + real: false + image: null + - id: 1165 + name: Tri-Slash + filtered_name: Tri-Slash + real: false + image: null + - id: 1167 + name: Nikkatsu Mukojima + filtered_name: Nikkatsu Mukojima + real: false + image: null + - id: 1171 + name: Olive Studio + filtered_name: Olive + real: false + image: null + - id: 1175 + name: Atelier Musa + filtered_name: Atelier Musa + real: false + image: null + - id: 1177 + name: ' Geijutsu Eigasha' + filtered_name: ' Geijutsu Eigasha' + real: false + image: null + - id: 1179 + name: MK Pictures + filtered_name: MK Pictures + real: false + image: null + - id: 1183 + name: E&G Films + filtered_name: E&G Films + real: false + image: null + - id: 1187 + name: Ripple Film + filtered_name: Ripple Film + real: false + image: null + - id: 1191 + name: Azeta Pictures + filtered_name: Azeta Pictures + real: false + image: null + - id: 1193 + name: MooGoo + filtered_name: MooGoo + real: false + image: null + - id: 1195 + name: Creators in Pack + filtered_name: Creators in Pack + real: false + image: null + - id: 1199 + name: L. + filtered_name: L. + real: false + image: null + - id: 1201 + name: Ponycan USA + filtered_name: Ponycan USA + real: false + image: null + - id: 1203 + name: Studio 1st + filtered_name: 1st + real: false + image: null + - id: 1205 + name: Answer Studio + filtered_name: Answer + real: false + image: null + - id: 1207 + name: Comic Umenohone + filtered_name: Comic Umenohone + real: false + image: null + - id: 1211 + name: Tokyo MX + filtered_name: Tokyo MX + real: false + image: null + - id: 1213 + name: Mobcast + filtered_name: Mobcast + real: false + image: null + - id: 1215 + name: Daiichi Kosho Co. + filtered_name: Daiichi Kosho Co. + real: false + image: null + - id: 1217 + name: HeART-BIT + filtered_name: HeART-BIT + real: false + image: null + - id: 1223 + name: Teichiku Entertainment + filtered_name: Teichiku + real: false + image: null + - id: 1225 + name: Age Global Networks + filtered_name: Age Global Networks + real: false + image: null + - id: 1055 + name: Yamamura Animation + filtered_name: Yamamura + real: false + image: null + - id: 1227 + name: Studio GDW + filtered_name: GDW + real: false + image: null + - id: 1231 + name: OLM Digital + filtered_name: OLM Digital + real: false + image: null + - id: 1233 + name: Bandai Namco Games + filtered_name: Bandai Namco Games + real: false + image: null + - id: 1235 + name: I was a Ballerina + filtered_name: I was a Ballerina + real: false + image: null + - id: 1237 + name: Millepensee + filtered_name: Millepensee + real: false + image: /system/studios/original/1237.png?1515415404 + - id: 1239 + name: KeyEast + filtered_name: KeyEast + real: false + image: null + - id: 1241 + name: Evil Line Records + filtered_name: Evil Line Records + real: false + image: null + - id: 1242 + name: Sakura Color Film + filtered_name: Sakura Color Film + real: false + image: null + - id: 1243 + name: AniMan + filtered_name: AniMan + real: false + image: null + - id: 1173 + name: Studio Dadashow + filtered_name: Dadashow + real: false + image: /system/studios/original/1173.png?1619360325 + - id: 1246 + name: AIR AGENCY + filtered_name: AIR AGENCY + real: false + image: null + - id: 1247 + name: Mistral Japan + filtered_name: Mistral Japan + real: false + image: null + - id: 1189 + name: Sola Digital Arts + filtered_name: Sola Digital Arts + real: false + image: /system/studios/original/1189.jpg?1622293352 + - id: 1249 + name: Mirai Film + filtered_name: Mirai Film + real: false + image: null + - id: 1250 + name: The National Film Center Japan + filtered_name: The National Film Center Japan + real: false + image: null + - id: 1251 + name: Dentsu Eigasha Tokyo + filtered_name: Dentsu Eigasha Tokyo + real: false + image: null + - id: 1252 + name: Studio Binzo + filtered_name: Binzo + real: false + image: null + - id: 1253 + name: Studio GOONEYS + filtered_name: GOONEYS + real: false + image: null + - id: 1254 + name: Grooove + filtered_name: Grooove + real: false + image: null + - id: 1255 + name: Glovision + filtered_name: Glovision + real: false + image: null + - id: 1256 + name: Harappa + filtered_name: Harappa + real: false + image: null + - id: 1257 + name: A-Real + filtered_name: A-Real + real: false + image: null + - id: 2400 + name: Executive Decision + filtered_name: Executive Decision + real: false + image: null + - id: 1245 + name: ZIZ Entertainment (ZIZ) + filtered_name: ZIZ Entertainment (ZIZ) + real: false + image: null + - id: 1259 + name: Studio Curtain + filtered_name: Curtain + real: false + image: null + - id: 1260 + name: Nakamura Production + filtered_name: Nakamura + real: false + image: null + - id: 1261 + name: Good Smile Company + filtered_name: Good Smile Company + real: false + image: null + - id: 1263 + name: Dynamo Pictures + filtered_name: Dynamo Pictures + real: false + image: null + - id: 3093 + name: Sanjie Donghua + filtered_name: Sanjie Donghua + real: false + image: null + - id: 1266 + name: Studio! Cucuri + filtered_name: Studio! Cucuri + real: false + image: null + - id: 1267 + name: Tencent Comic + filtered_name: Tencent Comic + real: false + image: null + - id: 1269 + name: K-Factory + filtered_name: K-Factory + real: false + image: null + - id: 1270 + name: Sanctuary + filtered_name: Sanctuary + real: false + image: null + - id: 1271 + name: Assez Finaud Fabric + filtered_name: Assez Finaud Fabric + real: false + image: null + - id: 1273 + name: Osaka University of Arts + filtered_name: Osaka University of Arts + real: false + image: null + - id: 1277 + name: Imagica West + filtered_name: Imagica West + real: false + image: null + - id: 1279 + name: Buemon + filtered_name: Buemon + real: false + image: null + - id: 1280 + name: Media Castle + filtered_name: Media Castle + real: false + image: null + - id: 1281 + name: Office DCI + filtered_name: Office DCI + real: false + image: null + - id: 1282 + name: Arcturus + filtered_name: Arcturus + real: false + image: null + - id: 1283 + name: TC Entertainment + filtered_name: TC + real: false + image: null + - id: 1284 + name: Avex Pictures + filtered_name: Avex Pictures + real: false + image: null + - id: 1285 + name: Being + filtered_name: Being + real: false + image: null + - id: 1286 + name: 10Gauge + filtered_name: 10Gauge + real: false + image: null + - id: 1287 + name: Q-Tec + filtered_name: Q-Tec + real: false + image: null + - id: 1288 + name: Chrono Gear Creative + filtered_name: Chrono Gear Creative + real: false + image: null + - id: 1289 + name: F.M.F + filtered_name: F.M.F + real: false + image: null + - id: 1290 + name: Pollyanna Graphics + filtered_name: Pollyanna Graphics + real: false + image: null + - id: 1291 + name: KOO-KI + filtered_name: KOO-KI + real: false + image: null + - id: 1292 + name: TUBA + filtered_name: TUBA + real: false + image: null + - id: 1293 + name: 'Romantica club !! ' + filtered_name: 'Romantica club !! ' + real: false + image: null + - id: 1294 + name: Studio Don Juan + filtered_name: Don Juan + real: false + image: null + - id: 1296 + name: Marza Animation Planet + filtered_name: Marza Animation Planet + real: false + image: null + - id: 1300 + name: Office Nobu + filtered_name: Office Nobu + real: false + image: null + - id: 1302 + name: RoiVisual + filtered_name: RoiVisual + real: false + image: null + - id: 1303 + name: PansonWorks + filtered_name: PansonWorks + real: false + image: null + - id: 1304 + name: Qualia Animation + filtered_name: Qualia + real: false + image: null + - id: 1305 + name: Milestone Music Publishing + filtered_name: Milestone Music Publishing + real: false + image: null + - id: 1306 + name: AIC Classic + filtered_name: AIC Classic + real: false + image: null + - id: 1313 + name: Amuse + filtered_name: Amuse + real: false + image: null + - id: 1317 + name: Production GoodBook + filtered_name: Production GoodBook + real: false + image: null + - id: 1320 + name: Joker Films + filtered_name: Joker Films + real: false + image: null + - id: 1321 + name: Haoliners Animation + filtered_name: Haoliners + real: false + image: null + - id: 1324 + name: Shimogumi + filtered_name: Shimogumi + real: false + image: null + - id: 1328 + name: Decovocal + filtered_name: Decovocal + real: false + image: null + - id: 1372 + name: Soeishinsha + filtered_name: Soeishinsha + real: false + image: null + - id: 1348 + name: Sugar Boy + filtered_name: Sugar Boy + real: false + image: null + - id: 1351 + name: EDGE + filtered_name: EDGE + real: false + image: null + - id: 1353 + name: Issen + filtered_name: Issen + real: false + image: null + - id: 1360 + name: Hoods Drifters Studio + filtered_name: Hoods Drifters + real: false + image: null + - id: 1361 + name: Darts + filtered_name: Darts + real: false + image: null + - id: 1362 + name: Rabbit Machine + filtered_name: Rabbit Machine + real: false + image: null + - id: 1363 + name: Marine Entertainment + filtered_name: Marine + real: false + image: null + - id: 1365 + name: Shueisha + filtered_name: Shueisha + real: false + image: null + - id: 1368 + name: Kazuki Production + filtered_name: Kazuki + real: false + image: null + - id: 1369 + name: G-Lam + filtered_name: G-Lam + real: false + image: null + - id: 1370 + name: Sprite Animation Studios + filtered_name: Sprite Animation + real: false + image: null + - id: 1371 + name: T.P.O + filtered_name: T.P.O + real: false + image: null + - id: 1375 + name: Studio Jam + filtered_name: Jam + real: false + image: null + - id: 1380 + name: domerica + filtered_name: domerica + real: false + image: null + - id: 1382 + name: Piko Studio + filtered_name: Piko + real: false + image: null + - id: 1383 + name: Studio Live + filtered_name: Live + real: false + image: null + - id: 1385 + name: Blue Cat + filtered_name: Blue Cat + real: false + image: null + - id: 1387 + name: Neft Film + filtered_name: Neft Film + real: false + image: null + - id: 1396 + name: W-Toon Studio + filtered_name: W-Toon + real: false + image: null + - id: 3233 + name: Kio Studio + filtered_name: Kio + real: false + image: null + - id: 1419 + name: GARDEN LODGE + filtered_name: GARDEN LODGE + real: false + image: null + - id: 1421 + name: Takara Tomy A.R.T.S + filtered_name: Takara Tomy A.R.T.S + real: false + image: null + - id: 1433 + name: Ekura Animal + filtered_name: Ekura Animal + real: false + image: null + - id: 1435 + name: JCF + filtered_name: JCF + real: false + image: null + - id: 1437 + name: Ishimori Entertainment + filtered_name: Ishimori + real: false + image: null + - id: 1442 + name: Mook DLE + filtered_name: Mook DLE + real: false + image: null + - id: 1444 + name: Egg Firm + filtered_name: Egg Firm + real: false + image: null + - id: 1445 + name: Arcs Create + filtered_name: Arcs Create + real: false + image: null + - id: 1454 + name: REALTHING + filtered_name: REALTHING + real: false + image: null + - id: 1456 + name: Beijing Huihuang Animation Company + filtered_name: Beijing Huihuang Animation Company + real: false + image: null + - id: 1460 + name: Coastline Animation Studio + filtered_name: Coastline Animation + real: false + image: null + - id: 1258 + name: Bandai Namco Pictures + filtered_name: Bandai Namco Pictures + real: false + image: /system/studios/original/1258.png?1589293619 + - id: 1463 + name: Anime Antenna Iinkai + filtered_name: Anime Antenna Iinkai + real: false + image: null + - id: 1464 + name: Hiro Media + filtered_name: Hiro Media + real: false + image: null + - id: 1473 + name: Odolttogi + filtered_name: Odolttogi + real: false + image: null + - id: 1476 + name: Shochiku Animation Institute + filtered_name: Shochiku Animation Institute + real: false + image: null + - id: 1479 + name: Studio Core + filtered_name: Core + real: false + image: null + - id: 1482 + name: Bouncy + filtered_name: Bouncy + real: false + image: null + - id: 1489 + name: Ripromo + filtered_name: Ripromo + real: false + image: null + - id: 1504 + name: Studio Z5 + filtered_name: Z5 + real: false + image: null + - id: 1509 + name: Studio World + filtered_name: World + real: false + image: null + - id: 1513 + name: Dongyang Animation + filtered_name: Dongyang + real: false + image: null + - id: 1522 + name: Echoes + filtered_name: Echoes + real: false + image: null + - id: 1523 + name: Studio Ponoc + filtered_name: Ponoc + real: false + image: /system/studios/original/1523.png?1518985073 + - id: 1525 + name: Moss Design Unit + filtered_name: Moss Design Unit + real: false + image: null + - id: 1527 + name: Image House + filtered_name: Image House + real: false + image: null + - id: 1530 + name: Emon + filtered_name: Emon + real: false + image: null + - id: 1531 + name: Flavors Soft + filtered_name: Flavors Soft + real: false + image: null + - id: 1533 + name: Studio WHO + filtered_name: WHO + real: false + image: null + - id: 1536 + name: Namu Animation + filtered_name: Namu + real: false + image: null + - id: 1545 + name: Japan Taps + filtered_name: Japan Taps + real: false + image: null + - id: 1546 + name: Chippai + filtered_name: Chippai + real: false + image: null + - id: 1549 + name: Dai Nippon Printing + filtered_name: Dai Nippon Printing + real: false + image: null + - id: 1558 + name: TOCSIS + filtered_name: TOCSIS + real: false + image: null + - id: 1562 + name: Team YokkyuFuman + filtered_name: Team YokkyuFuman + real: false + image: null + - id: 1572 + name: XFLAG + filtered_name: XFLAG + real: false + image: null + - id: 1587 + name: Cygames + filtered_name: Cygames + real: false + image: null + - id: 1592 + name: Kamio Japan + filtered_name: Kamio Japan + real: false + image: null + - id: 1596 + name: Will Palette + filtered_name: Will Palette + real: false + image: null + - id: 1618 + name: Rockwell Eyes + filtered_name: Rockwell Eyes + real: false + image: null + - id: 1638 + name: Tsukimidou + filtered_name: Tsukimidou + real: false + image: null + - id: 1639 + name: Chiptune + filtered_name: Chiptune + real: false + image: null + - id: 1642 + name: Circle Tribute + filtered_name: Circle Tribute + real: false + image: null + - id: 2390 + name: Concept Films + filtered_name: Concept Films + real: false + image: null + - id: 1661 + name: drop + filtered_name: drop + real: false + image: null + - id: 1662 + name: Creators Dot Com + filtered_name: Creators Dot Com + real: false + image: null + - id: 1668 + name: Karasfilms + filtered_name: Karasfilms + real: false + image: null + - id: 1349 + name: Tencent Animation & Comics + filtered_name: Tencent Animation & Comics + real: false + image: null + - id: 1357 + name: Craftar Studios + filtered_name: Craftar + real: false + image: null + - id: 1593 + name: Success Corp. + filtered_name: Success Corp. + real: false + image: null + - id: 1436 + name: Stingray + filtered_name: Stingray + real: false + image: null + - id: 1514 + name: Tengu Kobo + filtered_name: Tengu Kobo + real: false + image: null + - id: 1512 + name: Dai-Ichi Douga + filtered_name: Dai-Ichi Douga + real: false + image: null + - id: 1670 + name: Nishiki Studio + filtered_name: Nishiki + real: false + image: null + - id: 1690 + name: Imagineer + filtered_name: Imagineer + real: false + image: null + - id: 1691 + name: Studio UGOKI + filtered_name: UGOKI + real: false + image: null + - id: 1693 + name: Studio Flad + filtered_name: Flad + real: false + image: null + - id: 1705 + name: Studio Khronos + filtered_name: Khronos + real: false + image: null + - id: 1706 + name: Beijing Rocen Digital + filtered_name: Beijing Rocen Digital + real: false + image: null + - id: 1717 + name: Onionskin + filtered_name: Onionskin + real: false + image: null + - id: 1723 + name: Anime Beans + filtered_name: Anime Beans + real: false + image: null + - id: 1724 + name: Studio OX + filtered_name: OX + real: false + image: null + - id: 1725 + name: Minakata Laboratory + filtered_name: Minakata Laboratory + real: false + image: null + - id: 1726 + name: Three-d + filtered_name: Three-d + real: false + image: null + - id: 1746 + name: Pops Inc. + filtered_name: Pops Inc. + real: false + image: null + - id: 1747 + name: Twin Engine + filtered_name: Twin Engine + real: false + image: null + - id: 1750 + name: Studio CA + filtered_name: CA + real: false + image: null + - id: 1751 + name: pH Studio + filtered_name: pH + real: false + image: null + - id: 1753 + name: D & D Pictures + filtered_name: D & D Pictures + real: false + image: null + - id: 1754 + name: Meruhensha + filtered_name: Meruhensha + real: false + image: null + - id: 1758 + name: Picante Circus + filtered_name: Picante Circus + real: false + image: null + - id: 3040 + name: Durandal + filtered_name: Durandal + real: false + image: null + - id: 1393 + name: Geno Studio + filtered_name: Geno + real: true + image: /system/studios/original/1393.png?1521917884 + - id: 1440 + name: Felix Film + filtered_name: Felix Film + real: true + image: /system/studios/original/1440.png?1521916608 + - id: 1760 + name: Suiseisha + filtered_name: Suiseisha + real: false + image: null + - id: 1762 + name: Piso Studio + filtered_name: Piso + real: false + image: null + - id: 1763 + name: Studio Nanahoshi + filtered_name: Nanahoshi + real: false + image: null + - id: 1766 + name: Husio Studio + filtered_name: Husio + real: false + image: null + - id: 1767 + name: iDRAGONS Creative Studio + filtered_name: iDRAGONS Creative + real: false + image: null + - id: 1769 + name: helo.inc + filtered_name: helo.inc + real: false + image: null + - id: 1770 + name: KIZAWA Studio + filtered_name: KIZAWA + real: false + image: null + - id: 1773 + name: KJJ Animation + filtered_name: KJJ + real: false + image: null + - id: 1794 + name: EKACHI EPILKA + filtered_name: EKACHI EPILKA + real: false + image: null + - id: 1771 + name: Pb Animation + filtered_name: Pb + real: false + image: null + - id: 1795 + name: CUCURI + filtered_name: CUCURI + real: false + image: null + - id: 1797 + name: NHK Enterprises + filtered_name: NHK Enterprises + real: false + image: null + - id: 1487 + name: Bouncy + filtered_name: Bouncy + real: false + image: null + - id: 1462 + name: B&T + filtered_name: B&T + real: false + image: null + - id: 1485 + name: Light Chaser Animation Studios + filtered_name: Light Chaser Animation + real: false + image: /system/studios/original/1485.png?1622293533 + - id: 1805 + name: Thundray + filtered_name: Thundray + real: false + image: null + - id: 1808 + name: CG Year + filtered_name: CG Year + real: false + image: null + - id: 1809 + name: October Media + filtered_name: October Media + real: false + image: null + - id: 1810 + name: Mili Pictures + filtered_name: Mili Pictures + real: false + image: null + - id: 1811 + name: Boyan Pictures + filtered_name: Boyan Pictures + real: false + image: null + - id: 1813 + name: Studio Lings + filtered_name: Lings + real: false + image: null + - id: 1814 + name: Studio Hakk + filtered_name: Hakk + real: false + image: null + - id: 1828 + name: Lapin Track + filtered_name: Lapin Track + real: false + image: null + - id: 1829 + name: Lesprit + filtered_name: Lesprit + real: false + image: null + - id: 1830 + name: Seven Stone Entertainment + filtered_name: Seven Stone + real: false + image: null + - id: 1832 + name: GRIZZLY + filtered_name: GRIZZLY + real: false + image: null + - id: 1836 + name: SELFISH + filtered_name: SELFISH + real: false + image: null + - id: 1837 + name: G-angle + filtered_name: G-angle + real: false + image: null + - id: 1838 + name: 33 Collective + filtered_name: 33 Collective + real: false + image: null + - id: 1839 + name: Studio Ppuri + filtered_name: Ppuri + real: false + image: null + - id: 1842 + name: Urban Product + filtered_name: Urban Product + real: false + image: null + - id: 1843 + name: TriF Studio + filtered_name: TriF + real: false + image: null + - id: 1844 + name: Shanghai Hippo Animation + filtered_name: Shanghai Hippo + real: false + image: null + - id: 1845 + name: Guton Animation Studio + filtered_name: Guton Animation + real: false + image: null + - id: 1846 + name: Tokyo Movie + filtered_name: Tokyo Movie + real: false + image: null + - id: 1847 + name: Square Enix Visual Works + filtered_name: Square Enix Visual Works + real: false + image: null + - id: 1849 + name: MASTER LIGHTS + filtered_name: MASTER LIGHTS + real: false + image: null + - id: 1851 + name: Jumonji + filtered_name: Jumonji + real: false + image: null + - id: 1853 + name: Saetta + filtered_name: Saetta + real: false + image: null + - id: 1854 + name: monofilmo + filtered_name: monofilmo + real: false + image: null + - id: 1860 + name: Magia Doraglier + filtered_name: Magia Doraglier + real: false + image: null + - id: 1861 + name: Animation Planet + filtered_name: Planet + real: false + image: null + - id: 1866 + name: Grom + filtered_name: Grom + real: false + image: null + - id: 1867 + name: Aurum Production + filtered_name: Aurum + real: false + image: null + - id: 1871 + name: Studio W.Baba + filtered_name: W.Baba + real: false + image: null + - id: 1872 + name: P.I.C.S. + filtered_name: P.I.C.S. + real: false + image: null + - id: 1873 + name: Silver + filtered_name: Silver + real: false + image: null + - id: 1879 + name: Dangun Pictures + filtered_name: Dangun Pictures + real: false + image: null + - id: 1882 + name: UWAN Pictures + filtered_name: UWAN Pictures + real: false + image: null + - id: 1887 + name: Brio Animation + filtered_name: Brio + real: false + image: null + - id: 1893 + name: CygamesPictures + filtered_name: CygamesPictures + real: false + image: null + - id: 1897 + name: Ankama Animations + filtered_name: Ankama Animations + real: false + image: null + - id: 1910 + name: Sega Interactive + filtered_name: Sega Interactive + real: false + image: null + - id: 1812 + name: Imagica Imageworks + filtered_name: Imagica Imageworks + real: false + image: null + - id: 2529 + name: Xing Yi Kai Chen + filtered_name: Xing Yi Kai Chen + real: false + image: null + - id: 1927 + name: Studio Crocodile + filtered_name: Crocodile + real: false + image: null + - id: 1932 + name: Speed Inc. + filtered_name: Speed Inc. + real: false + image: null + - id: 1934 + name: Saigo no Shudan + filtered_name: Saigo no Shudan + real: false + image: null + - id: 1936 + name: Liberty Animation Studio + filtered_name: Liberty Animation + real: false + image: null + - id: 1937 + name: MAT + filtered_name: MAT + real: false + image: null + - id: 1943 + name: Idol + filtered_name: Idol + real: false + image: null + - id: 1944 + name: Samsara Animation Studio + filtered_name: Samsara Animation + real: false + image: null + - id: 1945 + name: Lide + filtered_name: Lide + real: false + image: null + - id: 1947 + name: Kate Arrow + filtered_name: Kate Arrow + real: false + image: null + - id: 1949 + name: Anon Pictures + filtered_name: Anon Pictures + real: false + image: null + - id: 1951 + name: ANIDO FILM + filtered_name: ANIDO FILM + real: false + image: null + - id: 1952 + name: Animation Staff Room + filtered_name: Staff Room + real: false + image: null + - id: 1953 + name: W+K Tokyo + filtered_name: W+K Tokyo + real: false + image: null + - id: 1954 + name: Welz Animation Studios + filtered_name: Welz Animation + real: false + image: null + - id: 1960 + name: StoryRiders Co. Ltd. + filtered_name: StoryRiders Co. Ltd. + real: false + image: null + - id: 3232 + name: Left Pocket Studio + filtered_name: Left Pocket + real: false + image: null + - id: 1969 + name: V-sign + filtered_name: V-sign + real: false + image: null + - id: 1970 + name: Wolf Smoke Studio + filtered_name: Wolf Smoke + real: false + image: null + - id: 1971 + name: Gainax Kyoto + filtered_name: Gainax Kyoto + real: false + image: null + - id: 1972 + name: HOTZIPANG + filtered_name: HOTZIPANG + real: false + image: null + - id: 1973 + name: Monster's Egg + filtered_name: Monster's Egg + real: false + image: null + - id: 1979 + name: Suna Kouhou + filtered_name: Suna Kouhou + real: false + image: null + - id: 2401 + name: YURUPPE Inc. + filtered_name: YURUPPE Inc. + real: false + image: null + - id: 1983 + name: Anima&Co. + filtered_name: Anima&Co. + real: false + image: null + - id: 1967 + name: Drive + filtered_name: Drive + real: false + image: /system/studios/original/1967.png?1647108152 + - id: 1768 + name: Sparkly Key Animation Studio + filtered_name: Sparkly Key Animation + real: false + image: /system/studios/original/1768.png?1622293364 + - id: 1999 + name: Albacrow + filtered_name: Albacrow + real: false + image: null + - id: 2013 + name: Peak Hunt + filtered_name: Peak Hunt + real: false + image: null + - id: 1968 + name: Studio Hokiboshi + filtered_name: Hokiboshi + real: false + image: null + - id: 1890 + name: Tear Studio + filtered_name: Tear + real: false + image: /system/studios/original/1890.png?1589291799 + - id: 2032 + name: WHOPPERS + filtered_name: WHOPPERS + real: false + image: null + - id: 1774 + name: LAN Studio + filtered_name: LAN + real: false + image: null + - id: 1966 + name: Arch + filtered_name: Arch + real: false + image: null + - id: 2820 + name: maroyaka + filtered_name: maroyaka + real: false + image: null + - id: 2894 + name: Konami animation + filtered_name: Konami + real: false + image: null + - id: 2861 + name: KWANED + filtered_name: KWANED + real: false + image: null + - id: 2860 + name: CANOPUS + filtered_name: CANOPUS + real: false + image: null + - id: 2854 + name: Volca + filtered_name: Volca + real: false + image: null + - id: 1384 + name: CinePix + filtered_name: CinePix + real: false + image: null + - id: 3073 + name: Yasuda Genshou Studio by Xenotoon + filtered_name: Yasuda Genshou Studio by Xenotoon + real: false + image: null + - id: 333 + name: TYO Animations + filtered_name: TYO Animations + real: true + image: /system/studios/original/333.jpg?1312165071 + - id: 2540 + name: Fever Creations + filtered_name: Fever Creations + real: false + image: null + - id: 163 + name: asread. + filtered_name: asread. + real: false + image: /system/studios/original/163.jpg?1311292709 + - id: 1976 + name: CGCG Studio + filtered_name: CGCG + real: false + image: /system/studios/original/1976.png?1622293588 + - id: 2188 + name: Marone + filtered_name: Marone + real: false + image: null + - id: 2264 + name: 5 Inc. + filtered_name: 5 Inc. + real: false + image: null + - id: 2546 + name: Studio Sota + filtered_name: Sota + real: false + image: null + - id: 2547 + name: Frontier Engine + filtered_name: Frontier Engine + real: false + image: null + - id: 2530 + name: Blue bread + filtered_name: Blue bread + real: false + image: null + - id: 2454 + name: Ryuu M's + filtered_name: Ryuu M's + real: false + image: null + - id: 2489 + name: Tsubo Production + filtered_name: Tsubo + real: false + image: null + - id: 1864 + name: Ezόla + filtered_name: Ezόla + real: false + image: /system/studios/original/1864.png?1634761365 + - id: 1892 + name: Sublimation + filtered_name: Sublimation + real: false + image: /system/studios/original/1892.png?1634761710 + - id: 2525 + name: Hurray! + filtered_name: Hurray! + real: false + image: null + - id: 2549 + name: StudioXD + filtered_name: StudioXD + real: false + image: null + - id: 2550 + name: ONIRO + filtered_name: ONIRO + real: false + image: null + - id: 2534 + name: studio YOG + filtered_name: YOG + real: false + image: null + - id: 2471 + name: Wonder Cat Animation + filtered_name: Wonder Cat + real: false + image: null + - id: 2375 + name: GAV Video + filtered_name: GAV Video + real: false + image: null + - id: 2491 + name: Mikimoto Production + filtered_name: Mikimoto + real: false + image: null + - id: 2393 + name: MB planning + filtered_name: MB planning + real: false + image: null + - id: 2571 + name: Griot Groove + filtered_name: Griot Groove + real: false + image: null + - id: 3 + name: Gonzo + filtered_name: Gonzo + real: true + image: /system/studios/original/3.png?1311292710 + - id: 4 + name: Bones + filtered_name: Bones + real: true + image: /system/studios/original/4.png?1311292711 + - id: 5 + name: Bee Train + filtered_name: Bee Train + real: true + image: /system/studios/original/5.png?1389209052 + - id: 6 + name: Gainax + filtered_name: Gainax + real: true + image: /system/studios/original/6.png?1452689573 + - id: 1505 + name: Studio March + filtered_name: March + real: true + image: null + - id: 8 + name: Artland + filtered_name: Artland + real: true + image: /system/studios/original/8.gif?1312165056 + - id: 2821 + name: Fugaku + filtered_name: Fugaku + real: false + image: null + - id: 2792 + name: INTERFACEDOGS + filtered_name: INTERFACEDOGS + real: false + image: null + - id: 2822 + name: Shykeumo Animation Studio + filtered_name: Shykeumo Animation + real: false + image: null + - id: 2828 + name: Studio Polon + filtered_name: Polon + real: false + image: null + - id: 2829 + name: EOTA + filtered_name: EOTA + real: false + image: null + - id: 2292 + name: Toei Advertising + filtered_name: Toei Advertising + real: false + image: null + - id: 2835 + name: ROLL2 + filtered_name: ROLL2 + real: false + image: null + - id: 2701 + name: CMC Media + filtered_name: CMC Media + real: false + image: null + - id: 2253 + name: miHoYoAnime + filtered_name: miHoYoAnime + real: false + image: null + - id: 2214 + name: Takun Manga Box + filtered_name: Takun Manga Box + real: false + image: null + - id: 7 + name: J.C.Staff + filtered_name: J.C.Staff + real: true + image: /system/studios/original/7.?1434707490 + - id: 307 + name: Sunwoo Entertainment + filtered_name: Sunwoo + real: true + image: /system/studios/original/307.png?1589290394 + - id: 1471 + name: Platinum Vision + filtered_name: Platinum Vision + real: true + image: /system/studios/original/1471.png?1589290457 + - id: 78 + name: Picture Magic + filtered_name: Picture Magic + real: false + image: /system/studios/original/78.png?1589290604 + - id: 13 + name: Studio 4°C + filtered_name: 4C + real: true + image: /system/studios/original/13.gif?1311292710 + - id: 2075 + name: Taomee + filtered_name: Taomee + real: false + image: null + - id: 2485 + name: Ezo Kobo + filtered_name: Ezo Kobo + real: false + image: null + - id: 2004 + name: Sunrise Beyond + filtered_name: Sunrise Beyond + real: false + image: /system/studios/original/2004.png?1634761033 + - id: 1687 + name: Yokohama Animation Lab + filtered_name: Yokohama Animation Lab + real: false + image: /system/studios/original/1687.png?1618485066 + - id: 15 + name: Sony Pictures Entertainment + filtered_name: Sony Pictures + real: true + image: /system/studios/original/15.jpg?1311292710 + - id: 2206 + name: Xuni Ying Ye + filtered_name: Xuni Ying Ye + real: false + image: null + - id: 18 + name: Toei Animation + filtered_name: Toei + real: true + image: /system/studios/original/18.?1446981470 + - id: 1569 + name: Seven Arcs Pictures + filtered_name: Seven Arcs Pictures + real: true + image: /system/studios/original/1569.png?1505243599 + - id: 21 + name: Studio Ghibli + filtered_name: Ghibli + real: true + image: /system/studios/original/21.png?1311292709 + - id: 809 + name: AKOM + filtered_name: AKOM + real: true + image: /system/studios/original/809.png?1589290477 + - id: 1692 + name: Revoroot + filtered_name: Revoroot + real: true + image: /system/studios/original/1692.png?1576061257 + - id: 2842 + name: Big Pine Animation Studio + filtered_name: Big Pine Animation + real: false + image: null + - id: 2893 + name: Gear Studio + filtered_name: Gear + real: false + image: null + - id: 2895 + name: Team OneOne + filtered_name: Team OneOne + real: false + image: null + - id: 2897 + name: MOJO Animation + filtered_name: MOJO + real: false + image: null + - id: 2898 + name: Manaa Animation + filtered_name: Manaa + real: false + image: null + - id: 2875 + name: Blaze Studio + filtered_name: Blaze + real: false + image: null + - id: 2888 + name: Wang Film Productions + filtered_name: Wang Film + real: false + image: null + - id: 2877 + name: D'ART Shtajio + filtered_name: D'ART Shtajio + real: false + image: null + - id: 2879 + name: Grayscale Arts + filtered_name: Grayscale Arts + real: false + image: null + - id: 2907 + name: Studio Placebo + filtered_name: Placebo + real: false + image: null + - id: 2906 + name: Kobito + filtered_name: Kobito + real: false + image: null + - id: 2909 + name: Teddy + filtered_name: Teddy + real: false + image: null + - id: 2911 + name: Studio Eight Color + filtered_name: Eight Color + real: false + image: null + - id: 1095 + name: Studio Cockpit + filtered_name: Cockpit + real: false + image: null + - id: 3221 + name: Miyajima Film + filtered_name: Miyajima Film + real: false + image: null + - id: 3234 + name: InfiniOrange Animation Studio + filtered_name: InfiniOrange Animation + real: false + image: null + - id: 3235 + name: Origin + filtered_name: Origin + real: false + image: null + - id: 2462 + name: Seasun Pictures + filtered_name: Seasun Pictures + real: false + image: null + - id: 3180 + name: Number 19 Animation + filtered_name: Number 19 + real: false + image: null + - id: 3248 + name: Igloo Studio + filtered_name: Igloo + real: false + image: null + - id: 22 + name: Nippon Animation + filtered_name: Nippon + real: true + image: /system/studios/original/22.jpg?1311292709 + - id: 24 + name: Studio Fantasia + filtered_name: Fantasia + real: true + image: /system/studios/original/24.jpg?1311292711 + - id: 32 + name: Manglobe + filtered_name: Manglobe + real: true + image: /system/studios/original/32.png?1311292714 + - id: 2914 + name: Creative House Pocket + filtered_name: Creative House Pocket + real: false + image: null + - id: 79 + name: Genco + filtered_name: Genco + real: false + image: /system/studios/original/79.jpg?1311292710 + - id: 126 + name: Studio Comet + filtered_name: Comet + real: true + image: /system/studios/original/126.png?1311292714 + - id: 30 + name: Ajia-do + filtered_name: Ajia-do + real: true + image: /system/studios/original/30.png?1521916831 + - id: 2612 + name: Fengyun Animation + filtered_name: Fengyun + real: false + image: null + - id: 38 + name: Arms + filtered_name: Arms + real: true + image: /system/studios/original/38.jpg?1402569794 + - id: 41 + name: Satelight + filtered_name: Satelight + real: true + image: /system/studios/original/41.?1434707679 + - id: 43 + name: ufotable + filtered_name: ufotable + real: true + image: /system/studios/original/43.png?1311292714 + - id: 27 + name: Xebec + filtered_name: Xebec + real: true + image: /system/studios/original/27.?1450865151 + - id: 452 + name: Knack Productions + filtered_name: Knack + real: true + image: /system/studios/original/452.png?1589290493 + - id: 45 + name: Pink Pineapple + filtered_name: Pink Pineapple + real: true + image: /system/studios/original/45.?1370373738 + - id: 567 + name: D.A.S.T Corporation + filtered_name: D.A.S.T Corporation + real: false + image: null + - id: 1694 + name: AZ Creative + filtered_name: AZ Creative + real: false + image: null + - id: 48 + name: AIC + filtered_name: AIC + real: true + image: /system/studios/original/48.png?1311292709 + - id: 54 + name: Mook Animation + filtered_name: Mook + real: true + image: /system/studios/original/54.png?1311292710 + - id: 60 + name: Actas + filtered_name: Actas + real: true + image: /system/studios/original/60.png?1311292711 + - id: 67 + name: OB Planning + filtered_name: OB Planning + real: true + image: /system/studios/original/67.jpg?1311292711 + - id: 120 + name: TNK + filtered_name: TNK + real: true + image: /system/studios/original/120.png?1311292712 + - id: 95 + name: Doga Kobo + filtered_name: Doga Kobo + real: true + image: /system/studios/original/95.png?1312164950 + - id: 2078 + name: HIDEHOMARE + filtered_name: HIDEHOMARE + real: false + image: null + - id: 2080 + name: Super Normal Studio + filtered_name: Super Normal + real: false + image: null + - id: 56 + name: A-1 Pictures + filtered_name: A-1 Pictures + real: true + image: /system/studios/original/56.?1434707196 + - id: 852 + name: Nexus + filtered_name: Nexus + real: true + image: /system/studios/original/852.png?1589290569 + - id: 1575 + name: DR Movie + filtered_name: DR Movie + real: true + image: /system/studios/original/1575.png?1589290511 + - id: 1669 + name: production doA + filtered_name: production doA + real: true + image: /system/studios/original/1669.png?1589290587 + - id: 68 + name: Mushi Production + filtered_name: Mushi + real: true + image: /system/studios/original/68.jpg?1311292714 + - id: 73 + name: TMS Entertainment + filtered_name: TMS + real: true + image: /system/studios/original/73.?1413190852 + - id: 2841 + name: Maruga Factory + filtered_name: Maruga Factory + real: false + image: null + - id: 2845 + name: Dimps + filtered_name: Dimps + real: false + image: null + - id: 2831 + name: uzupiyo Animation & Digital Works + filtered_name: uzupiyo Animation & Digital Works + real: false + image: null + - id: 2060 + name: Wulifang + filtered_name: Wulifang + real: false + image: null + - id: 2555 + name: Year Young Culture + filtered_name: Year Young Culture + real: false + image: null + - id: 2830 + name: Artner + filtered_name: Artner + real: false + image: null + - id: 77 + name: APPP + filtered_name: APPP + real: true + image: /system/studios/original/77.jpg?1311292713 + - id: 81 + name: Radix + filtered_name: Radix + real: true + image: /system/studios/original/81.jpg?1311292712 + - id: 84 + name: Studio Rikka + filtered_name: Rikka + real: true + image: /system/studios/original/84.jpg?1312165073 + - id: 86 + name: Group TAC + filtered_name: Group TAC + real: true + image: /system/studios/original/86.png?1311292712 + - id: 101 + name: Studio Hibari + filtered_name: Hibari + real: true + image: /system/studios/original/101.jpg?1311292714 + - id: 110 + name: Triangle Staff + filtered_name: Triangle Staff + real: true + image: /system/studios/original/110.?1434707010 + - id: 111 + name: NHK + filtered_name: NHK + real: true + image: /system/studios/original/111.png?1538666067 + - id: 118 + name: SynergySP + filtered_name: SynergySP + real: true + image: /system/studios/original/118.jpg?1311292710 + - id: 2079 + name: Animation Lab Japan + filtered_name: Lab Japan + real: false + image: null + - id: 75 + name: Imagin + filtered_name: Imagin + real: true + image: /system/studios/original/75.jpg?1311292712 + - id: 132 + name: P.A. Works + filtered_name: P.A. Works + real: true + image: /system/studios/original/132.?1434707384 + - id: 144 + name: Pony Canyon + filtered_name: Pony Canyon + real: true + image: /system/studios/original/144.jpg?1311292711 + - id: 179 + name: A.C.G.T. + filtered_name: A.C.G.T. + real: true + image: /system/studios/original/179.jpg?1388083492 + - id: 196 + name: Production Reed + filtered_name: Production Reed + real: true + image: /system/studios/original/196.jpg?1311292712 + - id: 242 + name: Ashi Productions + filtered_name: Ashi + real: true + image: /system/studios/original/242.png?1540563216 + - id: 215 + name: Nelvana + filtered_name: Nelvana + real: true + image: /system/studios/original/215.?1434707213 + - id: 234 + name: Oh! Production + filtered_name: Oh! + real: true + image: /system/studios/original/234.jpg?1311292713 + - id: 247 + name: Shin-Ei Animation + filtered_name: Shin-Ei + real: true + image: /system/studios/original/247.png?1510312671 + - id: 287 + name: David Production + filtered_name: David + real: true + image: /system/studios/original/287.jpg?1311292711 + - id: 200 + name: Tezuka Productions + filtered_name: Tezuka + real: true + image: /system/studios/original/200.gif?1312165075 + - id: 218 + name: Zexcs + filtered_name: Zexcs + real: true + image: /system/studios/original/218.png?1311292712 + - id: 291 + name: CoMix Wave Films + filtered_name: CoMix Wave Films + real: true + image: /system/studios/original/291.png?1456439666 + - id: 309 + name: GoHands + filtered_name: GoHands + real: true + image: /system/studios/original/309.?1434708437 + - id: 314 + name: White Fox + filtered_name: White Fox + real: true + image: /system/studios/original/314.jpg?1311292714 + - id: 329 + name: Phoenix Entertainment + filtered_name: Phoenix + real: true + image: /system/studios/original/329.gif?1311292713 + - id: 334 + name: Ordet + filtered_name: Ordet + real: true + image: /system/studios/original/334.gif?1312165042 + - id: 342 + name: Japan Home Video + filtered_name: Japan Home Video + real: true + image: /system/studios/original/342.gif?1311292713 + - id: 385 + name: Tele-Cartoon Japan + filtered_name: Tele-Cartoon Japan + real: true + image: null + - id: 406 + name: Asahi Production + filtered_name: Asahi + real: true + image: /system/studios/original/406.gif?1311292709 + - id: 228 + name: Daewon Media + filtered_name: Daewon Media + real: true + image: /system/studios/original/228.png?1499498217 + - id: 441 + name: 8bit + filtered_name: 8bit + real: true + image: /system/studios/original/441.png?1451469013 + - id: 455 + name: Palm Studio + filtered_name: Palm + real: true + image: null + - id: 456 + name: Lerche + filtered_name: Lerche + real: true + image: /system/studios/original/456.png?1538666349 + - id: 486 + name: Digital Frontier + filtered_name: Digital Frontier + real: true + image: /system/studios/original/486.jpg?1311292713 + - id: 535 + name: Knack Animation + filtered_name: Knack + real: true + image: null + - id: 569 + name: MAPPA + filtered_name: MAPPA + real: true + image: /system/studios/original/569.png?1351013196 + - id: 609 + name: Cammot + filtered_name: Cammot + real: true + image: /system/studios/original/609.jpg?1356523473 + - id: 825 + name: Fifth Avenue + filtered_name: Fifth Avenue + real: true + image: /system/studios/original/825.png?1352398063 + - id: 858 + name: Wit Studio + filtered_name: Wit + real: true + image: /system/studios/original/858.png?1366652107 + - id: 894 + name: Graphinica + filtered_name: Graphinica + real: true + image: /system/studios/original/894.?1521916447 + - id: 911 + name: Passione + filtered_name: Passione + real: true + image: /system/studios/original/911.jpg?1402343502 + - id: 951 + name: NAZ + filtered_name: NAZ + real: true + image: /system/studios/original/951.png?1390414002 + - id: 1023 + name: Polygon Pictures + filtered_name: Polygon Pictures + real: true + image: /system/studios/original/1023.png?1492152889 + - id: 1091 + name: Gakken Eigakyoku + filtered_name: Gakken Eigakyoku + real: true + image: null + - id: 1127 + name: Studio 3Hz + filtered_name: 3Hz + real: true + image: /system/studios/original/1127.?1451206542 + - id: 1129 + name: Pierrot Plus + filtered_name: Pierrot Plus + real: true + image: /system/studios/original/1129.jpg?1404514265 + - id: 112 + name: Brain's Base + filtered_name: Brain's Base + real: true + image: /system/studios/original/112.png?1311292714 + - id: 1229 + name: Pie in the sky + filtered_name: Pie in the sky + real: false + image: null + - id: 28 + name: OLM + filtered_name: OLM + real: true + image: /system/studios/original/28.png?1523482474 + - id: 443 + name: Studio PuYUKAI + filtered_name: PuYUKAI + real: true + image: /system/studios/original/443.png?1521917173 + - id: 3231 + name: Qingkong Qian Li + filtered_name: Qingkong Qian Li + real: false + image: null + - id: 839 + name: LIDENFILMS + filtered_name: LIDENFILMS + real: false + image: /system/studios/original/839.?1369247736 + - id: 37 + name: Studio Deen + filtered_name: Deen + real: true + image: /system/studios/original/37.?1434707541 + - id: 1591 + name: Science SARU + filtered_name: Science SARU + real: false + image: /system/studios/original/1591.png?1589293915 + - id: 472 + name: Usagi Ou + filtered_name: Usagi Ou + real: false + image: null + - id: 2053 + name: l-a-unch・BOX + filtered_name: l-a-unch・BOX + real: false + image: null + - id: 2081 + name: JJJOY Animation Studios + filtered_name: JJJOY Animation + real: false + image: null + - id: 1521 + name: Studio Elle + filtered_name: Elle + real: false + image: null + - id: 44 + name: Shaft + filtered_name: Shaft + real: true + image: /system/studios/original/44.png?1503215283 + - id: 103 + name: Tatsunoko Production + filtered_name: Tatsunoko + real: true + image: /system/studios/original/103.jpg?1311292713 + - id: 1529 + name: Studio M2 + filtered_name: M2 + real: false + image: null + - id: 1278 + name: Signal.MD + filtered_name: Signal.MD + real: true + image: /system/studios/original/1278.png?1454409341 + - id: 36 + name: Gallop + filtered_name: Gallop + real: true + image: /system/studios/original/36.jpg?1311292711 + - id: 2846 + name: Studio Bingo + filtered_name: Bingo + real: false + image: null + - id: 2916 + name: Reirs + filtered_name: Reirs + real: false + image: null + - id: 2917 + name: Soigne + filtered_name: Soigne + real: false + image: null + - id: 2635 + name: Escape Velocity Animation + filtered_name: Escape Velocity + real: false + image: null + - id: 1374 + name: Office TakeOut + filtered_name: Office TakeOut + real: false + image: null + - id: 2919 + name: Le-joy Animation Studio + filtered_name: Le-joy Animation + real: false + image: null + - id: 2921 + name: Public Enemies + filtered_name: Public Enemies + real: false + image: null + - id: 62 + name: Shogakukan-Shueisha Productions + filtered_name: Shogakukan-Shueisha + real: false + image: /system/studios/original/62.png?1589819032 + - id: 2928 + name: Elias + filtered_name: Elias + real: false + image: null + - id: 2387 + name: Ga-Crew + filtered_name: Ga-Crew + real: false + image: null + - id: 2929 + name: Studio Outrigger + filtered_name: Outrigger + real: false + image: null + - id: 1524 + name: Geidai Animation + filtered_name: Geidai + real: false + image: null + - id: 2832 + name: VROOOOM + filtered_name: VROOOOM + real: false + image: null + - id: 2834 + name: Hero + filtered_name: Hero + real: false + image: null + - id: 2833 + name: Sofix + filtered_name: Sofix + real: false + image: null + - id: 601 + name: lxtl + filtered_name: lxtl + real: false + image: null + - id: 1796 + name: Digital Network Animation + filtered_name: Digital Network + real: false + image: null + - id: 11 + name: Madhouse + filtered_name: Madhouse + real: true + image: /system/studios/original/11.png?1457607773 + - id: 298 + name: Anima + filtered_name: Anima + real: true + image: /system/studios/original/298.gif?1311292712 + - id: 324 + name: Directions + filtered_name: Directions + real: false + image: null + - id: 1835 + name: CloverWorks + filtered_name: CloverWorks + real: false + image: /system/studios/original/1835.png?1545379956 + - id: 113 + name: Kadokawa Shoten + filtered_name: Kadokawa Shoten + real: false + image: /system/studios/original/113.png?1589290618 + - id: 1381 + name: GEMBA + filtered_name: GEMBA + real: false + image: /system/studios/original/1381.png?1589290956 + - id: 1119 + name: Shuka + filtered_name: Shuka + real: false + image: /system/studios/original/1119.png?1589290644 + - id: 1567 + name: Nut + filtered_name: Nut + real: false + image: /system/studios/original/1567.png?1589291975 + - id: 1113 + name: NBCUniversal Entertainment + filtered_name: NBCUniversal + real: false + image: /system/studios/original/1113.png?1589290662 + - id: 1155 + name: Studio Moriken + filtered_name: Moriken + real: false + image: /system/studios/original/1155.png?1589290679 + - id: 1974 + name: ENGI + filtered_name: ENGI + real: false + image: /system/studios/original/1974.png?1589291508 + - id: 1978 + name: Maho Film + filtered_name: Maho Film + real: false + image: /system/studios/original/1978.png?1589291589 + - id: 1874 + name: Arvo Animation + filtered_name: Arvo + real: false + image: /system/studios/original/1874.png?1589292077 + - id: 1560 + name: Yaoyorozu + filtered_name: Yaoyorozu + real: false + image: /system/studios/original/1560.png?1592307504 + - id: 1722 + name: Bibury Animation Studios + filtered_name: Bibury Animation + real: false + image: /system/studios/original/1722.png?1589292455 + - id: 1407 + name: Children's Playground Entertainment + filtered_name: Children's Playground + real: false + image: /system/studios/original/1407.png?1589293184 + - id: 2076 + name: Fenz + filtered_name: Fenz + real: false + image: null + - id: 407 + name: Studio 9 Maiami + filtered_name: 9 Maiami + real: false + image: null + - id: 25 + name: Milky Animation Label + filtered_name: Milky Animation Label + real: false + image: /system/studios/original/25.png?1589819105 + - id: 2055 + name: BYMENT + filtered_name: BYMENT + real: false + image: null + - id: 72 + name: Artmic + filtered_name: Artmic + real: false + image: /system/studios/original/72.png?1589819208 + - id: 76 + name: Yomiuri Telecasting Corporation + filtered_name: Yomiuri Telecasting Corporation + real: false + image: /system/studios/original/76.png?1589819266 + - id: 2046 + name: Dazzling Star + filtered_name: Dazzling Star + real: false + image: null + - id: 2047 + name: Pancake + filtered_name: Pancake + real: false + image: null + - id: 2048 + name: ASK Animation Studio + filtered_name: ASK Animation + real: false + image: null + - id: 139 + name: Nihon Ad Systems + filtered_name: Nihon Ad Systems + real: false + image: /system/studios/original/139.jpg?1311292712 + - id: 2056 + name: DRAWIZ + filtered_name: DRAWIZ + real: false + image: null + - id: 2057 + name: Toho Interactive Animation + filtered_name: Toho Interactive + real: false + image: null + - id: 2802 + name: Yudubai Animation + filtered_name: Yudubai + real: false + image: null + - id: 2061 + name: Kaca Entertainment + filtered_name: Kaca + real: false + image: null + - id: 1998 + name: Studio Signpost + filtered_name: Signpost + real: false + image: /system/studios/original/1998.png?1592731885 + - id: 1033 + name: Studio Colorido + filtered_name: Colorido + real: false + image: /system/studios/original/1033.png?1592734014 + - id: 2063 + name: Spell Bound + filtered_name: Spell Bound + real: false + image: null + - id: 1958 + name: YHKT Entertainment + filtered_name: YHKT + real: false + image: null + - id: 2065 + name: Original Force + filtered_name: Original Force + real: false + image: null + - id: 2066 + name: Congzhuo Animation + filtered_name: Congzhuo + real: false + image: null + - id: 2068 + name: Ai Si Animation Studio + filtered_name: Ai Si Animation + real: false + image: null + - id: 2848 + name: Taiko Studios + filtered_name: Taiko + real: false + image: null + - id: 1959 + name: Green Monster Team + filtered_name: Green Monster Team + real: false + image: null + - id: 2069 + name: Making Animation + filtered_name: Making + real: false + image: null + - id: 2070 + name: Wei Chuang Jiang Xin + filtered_name: Wei Chuang Jiang Xin + real: false + image: null + - id: 325 + name: Code + filtered_name: Code + real: false + image: null + - id: 312 + name: Life Work + filtered_name: Life Work + real: false + image: null + - id: 2073 + name: Painting Dream + filtered_name: Painting Dream + real: false + image: null + - id: 1111 + name: DandeLion Animation Studio + filtered_name: DandeLion Animation + real: false + image: null + - id: 249 + name: Robot Communications + filtered_name: Robot Communications + real: false + image: /system/studios/original/249.jpg?1311292714 + - id: 2064 + name: Mokai Technology + filtered_name: Mokai Technology + real: false + image: null + - id: 318 + name: WAO World + filtered_name: WAO World + real: false + image: /system/studios/original/318.jpg?1312165039 + - id: 1276 + name: HS Pictures Studio + filtered_name: HS Pictures + real: false + image: null + - id: 1764 + name: Picona + filtered_name: Picona + real: false + image: null + - id: 64 + name: Sotsu + filtered_name: Sotsu + real: false + image: /system/studios/original/64.png?1449514256 + - id: 374 + name: Plus Heads + filtered_name: Plus Heads + real: false + image: null + - id: 2051 + name: Studio Coa + filtered_name: Coa + real: false + image: null + - id: 175 + name: Planet + filtered_name: Planet + real: false + image: /system/studios/original/175.png?1311292713 + - id: 258 + name: Echo + filtered_name: Echo + real: false + image: /system/studios/original/258.gif?1311292713 + - id: 1727 + name: Tencent Penguin Pictures + filtered_name: Tencent Penguin Pictures + real: false + image: null + - id: 2082 + name: Benlai Pictures + filtered_name: Benlai Pictures + real: false + image: null + - id: 3236 + name: Ke Yue Xue Zi + filtered_name: Ke Yue Xue Zi + real: false + image: null + - id: 2085 + name: Acca effe + filtered_name: Acca effe + real: false + image: null + - id: 2086 + name: Giga Production + filtered_name: Giga + real: false + image: null + - id: 2089 + name: Wan Wei Mao Donghua + filtered_name: Wan Wei Mao Donghua + real: false + image: null + - id: 1696 + name: Kadokawa + filtered_name: Kadokawa + real: false + image: null + - id: 2114 + name: Ether Kitten + filtered_name: Ether Kitten + real: false + image: null + - id: 2115 + name: Gosay Studio + filtered_name: Gosay + real: false + image: null + - id: 2122 + name: PERIMETRON + filtered_name: PERIMETRON + real: false + image: null + - id: 2125 + name: LICO + filtered_name: LICO + real: false + image: null + - id: 2126 + name: Red Dog Culture House + filtered_name: Red Dog Culture House + real: false + image: null + - id: 2123 + name: foodunited. + filtered_name: foodunited. + real: false + image: null + - id: 2129 + name: Visual Flight + filtered_name: Visual Flight + real: false + image: null + - id: 2130 + name: Studio Shelter + filtered_name: Shelter + real: false + image: null + - id: 2133 + name: Djinn Power + filtered_name: Djinn Power + real: false + image: null + - id: 2136 + name: Ten Tails Animation + filtered_name: Ten Tails + real: false + image: null + - id: 2137 + name: 1IN + filtered_name: 1IN + real: false + image: null + - id: 1671 + name: DMM pictures + filtered_name: DMM pictures + real: false + image: null + - id: 2140 + name: Qianqi Animation + filtered_name: Qianqi + real: false + image: null + - id: 1939 + name: Alpha Animation + filtered_name: Alpha + real: false + image: null + - id: 2141 + name: TANOsim + filtered_name: TANOsim + real: false + image: null + - id: 2142 + name: LEVELS + filtered_name: LEVELS + real: false + image: null + - id: 2143 + name: LX Animation Studio + filtered_name: LX Animation + real: false + image: null + - id: 2151 + name: Ekakiya + filtered_name: Ekakiya + real: false + image: null + - id: 16 + name: TV Tokyo + filtered_name: TV Tokyo + real: false + image: /system/studios/original/16.png?1602436319 + - id: 99 + name: Kitty Films + filtered_name: Kitty Films + real: false + image: /system/studios/original/99.png?1602436341 + - id: 119 + name: Viz Media + filtered_name: Viz Media + real: false + image: /system/studios/original/119.png?1602436368 + - id: 577 + name: Tohokushinsha Film Corporation + filtered_name: Tohokushinsha Film Corporation + real: false + image: /system/studios/original/577.png?1602436391 + - id: 1451 + name: TYO + filtered_name: TYO + real: false + image: null + - id: 2158 + name: Durufix + filtered_name: Durufix + real: false + image: null + - id: 2067 + name: Flat Studio + filtered_name: Flat + real: false + image: null + - id: 2162 + name: Maxilla + filtered_name: Maxilla + real: false + image: null + - id: 2163 + name: Teatro Nishi Tokyo Studio + filtered_name: Teatro Nishi Tokyo + real: false + image: null + - id: 2161 + name: Suspenders + filtered_name: Suspenders + real: false + image: null + - id: 2164 + name: Super Brain + filtered_name: Super Brain + real: false + image: null + - id: 2171 + name: Paper Animation + filtered_name: Paper + real: false + image: null + - id: 2172 + name: Original Dream + filtered_name: Original Dream + real: false + image: null + - id: 2210 + name: Jichitai Anime + filtered_name: Jichitai Anime + real: false + image: null + - id: 2209 + name: Reiki Eyes Animation + filtered_name: Reiki Eyes + real: false + image: null + - id: 1322 + name: Creative Power Entertaining + filtered_name: Creative Power Entertaining + real: false + image: null + - id: 513 + name: Nikkatsu + filtered_name: Nikkatsu + real: false + image: null + - id: 2168 + name: Okuroto Noboru + filtered_name: Okuroto Noboru + real: false + image: null + - id: 2213 + name: Magma Studio + filtered_name: Magma + real: false + image: null + - id: 395 + name: Oz Inc. + filtered_name: Oz Inc. + real: false + image: /system/studios/original/395.jpg?1311292712 + - id: 1424 + name: Mediabank + filtered_name: Mediabank + real: false + image: null + - id: 2216 + name: CMAY Animation + filtered_name: CMAY + real: false + image: null + - id: 397 + name: Bridge + filtered_name: Bridge + real: false + image: /system/studios/original/397.png?1618089168 + - id: 2226 + name: Gambit + filtered_name: Gambit + real: false + image: null + - id: 1772 + name: Wawayu Animation + filtered_name: Wawayu + real: false + image: /system/studios/original/1772.png?1622293492 + - id: 2054 + name: MORIE Inc. + filtered_name: MORIE Inc. + real: false + image: /system/studios/original/2054.jpg?1622293375 + - id: 235 + name: Shirogumi + filtered_name: Shirogumi + real: false + image: /system/studios/original/235.png?1622293552 + - id: 134 + name: HoriPro + filtered_name: HoriPro + real: false + image: /system/studios/original/134.jpg?1312165065 + - id: 1268 + name: L²Studio + filtered_name: L²Studio + real: false + image: /system/studios/original/1268.png?1622293459 + - id: 1181 + name: RG Animation Studios + filtered_name: RG Animation + real: false + image: /system/studios/original/1181.png?1623010269 + - id: 1848 + name: Dancing CG Studio + filtered_name: Dancing CG + real: false + image: /system/studios/original/1848.jpg?1623010295 + - id: 2265 + name: ARECT + filtered_name: ARECT + real: false + image: null + - id: 517 + name: Asmik Ace + filtered_name: Asmik Ace + real: false + image: null + - id: 2179 + name: FIREBUG + filtered_name: FIREBUG + real: false + image: null + - id: 2052 + name: Wolfsbane + filtered_name: Wolfsbane + real: false + image: /system/studios/original/2052.png?1618485056 + - id: 3237 + name: Nothing New + filtered_name: Nothing New + real: false + image: null + - id: 957 + name: Connect + filtered_name: Connect + real: false + image: /system/studios/original/957.png?1618484882 + - id: 1075 + name: C-Station + filtered_name: C-Station + real: false + image: /system/studios/original/1075.png?1618484892 + - id: 1547 + name: Blade + filtered_name: Blade + real: false + image: /system/studios/original/1547.png?1618484901 + - id: 1109 + name: Orange + filtered_name: Orange + real: false + image: /system/studios/original/1109.png?1618484926 + - id: 1264 + name: EMT Squared + filtered_name: EMT Squared + real: false + image: /system/studios/original/1264.png?1618484969 + - id: 1087 + name: Lay-duce + filtered_name: Lay-duce + real: false + image: /system/studios/original/1087.png?1618484978 + - id: 2037 + name: Okuruto Noboru + filtered_name: Okuruto Noboru + real: false + image: /system/studios/original/2037.png?1618484990 + - id: 2243 + name: Quebico + filtered_name: Quebico + real: false + image: null + - id: 1984 + name: Bakken Record + filtered_name: Bakken Record + real: false + image: /system/studios/original/1984.png?1618485001 + - id: 1209 + name: Studio A-CAT + filtered_name: A-CAT + real: false + image: /system/studios/original/1209.png?1618485018 + - id: 1993 + name: Studio Bind + filtered_name: Bind + real: false + image: /system/studios/original/1993.png?1618485032 + - id: 1244 + name: Studio VOLN + filtered_name: VOLN + real: false + image: /system/studios/original/1244.png?1618485045 + - id: 3042 + name: Project Studio Q + filtered_name: Project Studio Q + real: false + image: null + - id: 2244 + name: Studio Gohan + filtered_name: Gohan + real: false + image: null + - id: 2239 + name: Transcendence Picture + filtered_name: Transcendence Picture + real: false + image: null + - id: 2097 + name: HORNETS + filtered_name: HORNETS + real: false + image: null + - id: 2247 + name: Delight Animation + filtered_name: Delight + real: false + image: null + - id: 2248 + name: Indivision + filtered_name: Indivision + real: false + image: null + - id: 2250 + name: Spooky graphic + filtered_name: Spooky graphic + real: false + image: null + - id: 2251 + name: TthunDer Animation + filtered_name: TthunDer + real: false + image: null + - id: 2252 + name: Studio Kingyoiro + filtered_name: Kingyoiro + real: false + image: null + - id: 1991 + name: Enishiya + filtered_name: Enishiya + real: false + image: /system/studios/original/1991.png?1622293434 + - id: 2266 + name: Planet Nemo Animation + filtered_name: Planet Nemo + real: false + image: null + - id: 2267 + name: MMT Technology + filtered_name: MMT Technology + real: false + image: null + - id: 2050 + name: Trash Studio + filtered_name: Trash + real: false + image: null + - id: 1573 + name: XFLAG Pictures + filtered_name: XFLAG Pictures + real: false + image: null + - id: 2270 + name: Wise Guy + filtered_name: Wise Guy + real: false + image: null + - id: 2281 + name: Rocen + filtered_name: Rocen + real: false + image: null + - id: 1465 + name: Beijing Enlight Pictures + filtered_name: Beijing Enlight Pictures + real: false + image: null + - id: 1420 + name: SIDO LIMITED + filtered_name: SIDO LIMITED + real: false + image: null + - id: 2256 + name: Kitty Film Mitaka Studio + filtered_name: Kitty Film Mitaka + real: false + image: null + - id: 1982 + name: LIDENFILMS Osaka Studio + filtered_name: LIDENFILMS Osaka + real: false + image: null + - id: 1728 + name: China Literature Limited + filtered_name: China Literature Limited + real: false + image: null + - id: 2241 + name: Dawn Animation + filtered_name: Dawn + real: false + image: null + - id: 2033 + name: FILMONY + filtered_name: FILMONY + real: false + image: /system/studios/original/2033.png?1622293447 + - id: 1350 + name: B.CMAY PICTURES + filtered_name: B.CMAY PICTURES + real: false + image: /system/studios/original/1350.png?1622293480 + - id: 2042 + name: Ruo Hong Culture + filtered_name: Ruo Hong Culture + real: false + image: /system/studios/original/2042.png?1622293522 + - id: 2249 + name: Flagship Line + filtered_name: Flagship Line + real: false + image: null + - id: 2211 + name: Lingsanwu Animation + filtered_name: Lingsanwu + real: false + image: null + - id: 2767 + name: Euluca Lab + filtered_name: Euluca Lab + real: false + image: null + - id: 1975 + name: Qubic Pictures + filtered_name: Qubic Pictures + real: false + image: /system/studios/original/1975.png?1622293576 + - id: 1807 + name: 2:10 Animation + filtered_name: '2:10' + real: false + image: /system/studios/original/1807.png?1622293331 + - id: 3044 + name: Bellnox Films + filtered_name: Bellnox Films + real: false + image: null + - id: 3240 + name: Soul Creative + filtered_name: Soul Creative + real: false + image: null + - id: 999 + name: Studio Animal + filtered_name: Animal + real: false + image: /system/studios/original/999.png?1622293600 + - id: 555 + name: Studio Chizu + filtered_name: Chizu + real: false + image: /system/studios/original/555.jpg?1623010280 + - id: 2268 + name: Point Pictures + filtered_name: Point Pictures + real: false + image: null + - id: 1441 + name: Mippei Eigeki Kiryuukan + filtered_name: Mippei Eigeki Kiryuukan + real: false + image: null + - id: 2257 + name: XEBEC M2 + filtered_name: XEBEC M2 + real: false + image: null + - id: 2282 + name: Studio Guts + filtered_name: Guts + real: false + image: null + - id: 2277 + name: Network Kouenji Studio + filtered_name: Network Kouenji + real: false + image: null + - id: 1906 + name: animate + filtered_name: animate + real: false + image: null + - id: 274 + name: Suzuki Mirano + filtered_name: Suzuki Mirano + real: false + image: /system/studios/original/274.png?1630137135 + - id: 2049 + name: BOMB! CUTE! BOMB! + filtered_name: BOMB! CUTE! BOMB! + real: false + image: /system/studios/original/2049.jpg?1630217401 + - id: 801 + name: Nihikime no Dozeu + filtered_name: Nihikime no Dozeu + real: false + image: /system/studios/original/801.png?1634761282 + - id: 2246 + name: studio MOTHER + filtered_name: MOTHER + real: false + image: /system/studios/original/2246.png?1647107739 + - id: 2288 + name: Qzil.la + filtered_name: Qzil.la + real: false + image: /system/studios/original/2288.png?1634761052 + - id: 2212 + name: Tsumugi Akita Animation Lab + filtered_name: Tsumugi Akita Animation Lab + real: false + image: /system/studios/original/2212.png?1634761138 + - id: 2167 + name: Hololive Production + filtered_name: Hololive + real: false + image: /system/studios/original/2167.png?1634761299 + - id: 417 + name: Walt Disney Studios + filtered_name: Walt Disney + real: false + image: /system/studios/original/417.png?1634762368 + - id: 2275 + name: Drawing and Manual + filtered_name: Drawing and Manual + real: false + image: /system/studios/original/2275.jpg?1634761573 + - id: 278 + name: Daiei Film Co. Ltd. + filtered_name: Daiei Film Co. Ltd. + real: false + image: /system/studios/original/278.png?1635331219 + - id: 14 + name: Sunrise + filtered_name: Sunrise + real: true + image: /system/studios/original/14.jpg?1630137154 + - id: 1827 + name: Motion Magic + filtered_name: Motion Magic + real: false + image: /system/studios/original/1827.png?1634760933 + - id: 541 + name: Seven + filtered_name: Seven + real: false + image: /system/studios/original/541.jpg?1630217381 + - id: 581 + name: Sparky Animation + filtered_name: Sparky + real: false + image: /system/studios/original/581.png?1634761084 + - id: 862 + name: Pashmina + filtered_name: Pashmina + real: false + image: /system/studios/original/862.png?1630217416 + - id: 1800 + name: Marui Group + filtered_name: Marui Group + real: false + image: /system/studios/original/1800.png?1634760961 + - id: 1721 + name: Gold Bear + filtered_name: Gold Bear + real: false + image: /system/studios/original/1721.png?1630217488 + - id: 977 + name: Queen Bee + filtered_name: Queen Bee + real: false + image: /system/studios/original/977.png?1630217509 + - id: 2295 + name: Story Effect + filtered_name: Story Effect + real: false + image: null + - id: 2296 + name: Studio Nuck + filtered_name: Nuck + real: false + image: null + - id: 2297 + name: EXNOA + filtered_name: EXNOA + real: false + image: null + - id: 2620 + name: Manhoo Culture + filtered_name: Manhoo Culture + real: false + image: null + - id: 2304 + name: TrioPen Studio + filtered_name: TrioPen + real: false + image: null + - id: 2303 + name: Noovo + filtered_name: Noovo + real: false + image: null + - id: 2302 + name: Nostalook + filtered_name: Nostalook + real: false + image: null + - id: 2300 + name: Studio Jemi + filtered_name: Jemi + real: false + image: null + - id: 2306 + name: LIDENFILMS Kyoto Studio + filtered_name: LIDENFILMS Kyoto + real: false + image: null + - id: 2301 + name: Borutong + filtered_name: Borutong + real: false + image: null + - id: 2305 + name: Fukushima Gaina + filtered_name: Fukushima Gaina + real: false + image: null + - id: 2310 + name: Paper Plane Animation Studio + filtered_name: Paper Plane Animation + real: false + image: null + - id: 2311 + name: Gyorai Eizo Inc. + filtered_name: Gyorai Eizo Inc. + real: false + image: null + - id: 2313 + name: studio hb + filtered_name: hb + real: false + image: null + - id: 2314 + name: Quad + filtered_name: Quad + real: false + image: null + - id: 2269 + name: New Generation + filtered_name: New Generation + real: false + image: null + - id: 2318 + name: ORADA COMPANY + filtered_name: ORADA COMPANY + real: false + image: null + - id: 2316 + name: Maboroshi Koubou + filtered_name: Maboroshi Koubou + real: false + image: null + - id: 2325 + name: Bibury Animation CG + filtered_name: Bibury Animation CG + real: false + image: null + - id: 2315 + name: Office No. 8 + filtered_name: Office No. 8 + real: false + image: null + - id: 2322 + name: Mousou Senka + filtered_name: Mousou Senka + real: false + image: null + - id: 2317 + name: Dream Entertainment + filtered_name: Dream + real: false + image: null + - id: 220 + name: Youmex + filtered_name: Youmex + real: false + image: /system/studios/original/220.png?1634761102 + - id: 1299 + name: AXsiZ + filtered_name: AXsiZ + real: false + image: /system/studios/original/1299.png?1634760861 + - id: 1903 + name: IMAGICA Lab. + filtered_name: IMAGICA Lab. + real: false + image: /system/studios/original/1903.png?1634761124 + - id: 2059 + name: Suoyi Technology + filtered_name: Suoyi Technology + real: false + image: /system/studios/original/2059.png?1634761315 + - id: 1673 + name: DMM.futureworks + filtered_name: DMM.futureworks + real: false + image: /system/studios/original/1673.jpg?1634760979 + - id: 2812 + name: Zuiyo + filtered_name: Zuiyo + real: false + image: null + - id: 2184 + name: The Monk Studios + filtered_name: The Monk + real: false + image: /system/studios/original/2184.png?1634761155 + - id: 2071 + name: AQUA ARIS + filtered_name: AQUA ARIS + real: false + image: /system/studios/original/2071.png?1634760993 + - id: 154 + name: E&G Films + filtered_name: E&G Films + real: false + image: /system/studios/original/154.jpg?1634761173 + - id: 945 + name: Vasoon Animation + filtered_name: Vasoon + real: false + image: /system/studios/original/945.png?1634761013 + - id: 2309 + name: Kamitsubaki Studio + filtered_name: Kamitsubaki + real: false + image: /system/studios/original/2309.jpg?1634761753 + - id: 400 + name: Gathering + filtered_name: Gathering + real: true + image: /system/studios/original/400.png?1634761199 + - id: 1185 + name: 81 Produce + filtered_name: 81 Produce + real: false + image: /system/studios/original/1185.png?1634761215 + - id: 1995 + name: Live2D Creative Studio + filtered_name: Live2D Creative + real: false + image: /system/studios/original/1995.png?1634761229 + - id: 1197 + name: Steve N' Steven + filtered_name: Steve N' Steven + real: false + image: /system/studios/original/1197.jpg?1634761250 + - id: 270 + name: NuTech Digital + filtered_name: NuTech Digital + real: false + image: /system/studios/original/270.jpg?1634761330 + - id: 1011 + name: Warner Music Japan + filtered_name: Warner Music Japan + real: false + image: /system/studios/original/1011.png?1634761591 + - id: 2284 + name: SJYNEXCUS + filtered_name: SJYNEXCUS + real: false + image: /system/studios/original/2284.png?1634761347 + - id: 866 + name: Fanworks + filtered_name: Fanworks + real: false + image: /system/studios/original/866.jpg?1634761417 + - id: 1169 + name: ILCA + filtered_name: ILCA + real: false + image: /system/studios/original/1169.png?1634761433 + - id: 896 + name: Larx Entertainment + filtered_name: Larx + real: false + image: /system/studios/original/896.png?1634761446 + - id: 3163 + name: Woodpecker + filtered_name: Woodpecker + real: false + image: null + - id: 94 + name: Telecom Animation Film + filtered_name: Telecom Animation Film + real: false + image: /system/studios/original/94.png?1663058478 + - id: 1265 + name: Tomovies + filtered_name: Tomovies + real: false + image: /system/studios/original/1265.jpg?1634761476 + - id: 1650 + name: Twilight Studio + filtered_name: Twilight + real: false + image: /system/studios/original/1650.png?1634761512 + - id: 2014 + name: Nur + filtered_name: Nur + real: false + image: /system/studios/original/2014.png?1634761693 + - id: 1099 + name: Cyclone Graphics + filtered_name: Cyclone Graphics + real: false + image: /system/studios/original/1099.png?1634761541 + - id: 3320 + name: ZG-R + filtered_name: ZG-R + real: false + image: null + - id: 1003 + name: Nippon Television Network Corporation + filtered_name: Nippon Television Network Corporation + real: false + image: /system/studios/original/1003.png?1634761606 + - id: 33 + name: WOWOW + filtered_name: WOWOW + real: false + image: /system/studios/original/33.png?1634823411 + - id: 288 + name: Kaname Productions + filtered_name: Kaname + real: false + image: /system/studios/original/288.jpg?1634761629 + - id: 2597 + name: Wong Ping Animation Lab + filtered_name: Wong Ping Animation Lab + real: false + image: null + - id: 2596 + name: Comma Studio + filtered_name: Comma + real: false + image: null + - id: 2411 + name: Studio Massket + filtered_name: Massket + real: false + image: null + - id: 2561 + name: OTOIRO + filtered_name: OTOIRO + real: false + image: null + - id: 2528 + name: Passion Paint Animation + filtered_name: Passion Paint + real: false + image: null + - id: 2600 + name: Cloud Hearts + filtered_name: Cloud Hearts + real: false + image: null + - id: 2593 + name: Angle + filtered_name: Angle + real: false + image: null + - id: 1776 + name: Studio Mir + filtered_name: Mir + real: false + image: null + - id: 1352 + name: Studio Ten Carat + filtered_name: Ten Carat + real: false + image: null + - id: 2327 + name: Studio Boogie Nights + filtered_name: Boogie Nights + real: false + image: null + - id: 199 + name: Studio Nue + filtered_name: Nue + real: true + image: /system/studios/original/199.png?1634761645 + - id: 1517 + name: Jinnan Studio + filtered_name: Jinnan + real: false + image: null + - id: 1426 + name: Studio Meditation With a Pencil + filtered_name: Meditation With a Pencil + real: false + image: /system/studios/original/1426.jpg?1634761662 + - id: 239 + name: Y.O.U.C + filtered_name: Y.O.U.C + real: false + image: /system/studios/original/239.png?1634761676 + - id: 2009 + name: Yostar Pictures + filtered_name: Yostar Pictures + real: false + image: /system/studios/original/2009.png?1636032300 + - id: 679 + name: Soyuzmultfilm + filtered_name: Soyuzmultfilm + real: false + image: null + - id: 1876 + name: CLAP + filtered_name: CLAP + real: false + image: /system/studios/original/1876.png?1634761725 + - id: 587 + name: Tomason + filtered_name: Tomason + real: false + image: /system/studios/original/587.jpg?1636032314 + - id: 2091 + name: Xanthus Media + filtered_name: Xanthus Media + real: false + image: /system/studios/original/2091.png?1634761739 + - id: 2326 + name: OLM Team Yoshioka + filtered_name: OLM Team Yoshioka + real: false + image: null + - id: 31 + name: Geneon Universal Entertainment + filtered_name: Geneon Universal + real: false + image: /system/studios/original/31.png?1634823431 + - id: 1340 + name: Typhoon Graphics + filtered_name: Typhoon Graphics + real: false + image: /system/studios/original/1340.png?1634823445 + - id: 2320 + name: Inugoya + filtered_name: Inugoya + real: false + image: null + - id: 2323 + name: Cafe de Jeilhouse + filtered_name: Cafe de Jeilhouse + real: false + image: null + - id: 53 + name: Dentsu Inc. + filtered_name: Dentsu Inc. + real: false + image: /system/studios/original/53.png?1636032323 + - id: 2341 + name: Studio Prokion + filtered_name: Prokion + real: false + image: null + - id: 207 + name: Magic Bus + filtered_name: Magic Bus + real: true + image: /system/studios/original/207.png?1635367859 + - id: 2321 + name: Production D.M.H + filtered_name: Production D.M.H + real: false + image: null + - id: 2319 + name: Datama Film + filtered_name: Datama Film + real: false + image: null + - id: 2328 + name: Sonsan Kikaku + filtered_name: Sonsan Kikaku + real: false + image: null + - id: 2340 + name: Cutie Bee + filtered_name: Cutie Bee + real: false + image: null + - id: 2337 + name: Studio Soul + filtered_name: Soul + real: false + image: null + - id: 2339 + name: Melissa + filtered_name: Melissa + real: false + image: null + - id: 2329 + name: Shinjukuza + filtered_name: Shinjukuza + real: false + image: null + - id: 2330 + name: Meltdown + filtered_name: Meltdown + real: false + image: null + - id: 2336 + name: Lead + filtered_name: Lead + real: false + image: null + - id: 2335 + name: Shindeban Film + filtered_name: Shindeban Film + real: false + image: null + - id: 2331 + name: Shura + filtered_name: Shura + real: false + image: null + - id: 2338 + name: Studio Ten + filtered_name: Ten + real: false + image: null + - id: 2355 + name: Alfred Imageworks + filtered_name: Alfred Imageworks + real: false + image: null + - id: 2342 + name: PP Project + filtered_name: PP Project + real: false + image: null + - id: 2356 + name: Kung Fu Frog Animation + filtered_name: Kung Fu Frog + real: false + image: null + - id: 2332 + name: Shion + filtered_name: Shion + real: false + image: null + - id: 2366 + name: Kigumi + filtered_name: Kigumi + real: false + image: null + - id: 2370 + name: Hayabusa Film + filtered_name: Hayabusa Film + real: false + image: null + - id: 2371 + name: Planet Cartoon + filtered_name: Planet Cartoon + real: false + image: null + - id: 2372 + name: Flint Sugar + filtered_name: Flint Sugar + real: false + image: null + - id: 2361 + name: Okumaza + filtered_name: Okumaza + real: false + image: null + - id: 2353 + name: P core + filtered_name: P core + real: false + image: null + - id: 2358 + name: Big Wing + filtered_name: Big Wing + real: false + image: null + - id: 2349 + name: Potato House + filtered_name: Potato House + real: false + image: null + - id: 2350 + name: Kantou Douga Kai + filtered_name: Kantou Douga Kai + real: false + image: null + - id: 2359 + name: Aiko + filtered_name: Aiko + real: false + image: null + - id: 2334 + name: Mouse + filtered_name: Mouse + real: false + image: null + - id: 2363 + name: JOF + filtered_name: JOF + real: false + image: null + - id: 2352 + name: Tryforce + filtered_name: Tryforce + real: false + image: null + - id: 2364 + name: Hanjin Animation + filtered_name: Hanjin + real: false + image: null + - id: 2379 + name: Scooter Films + filtered_name: Scooter Films + real: false + image: null + - id: 2611 + name: Fantawild Animation + filtered_name: Fantawild + real: false + image: null + - id: 2554 + name: Gekkou + filtered_name: Gekkou + real: false + image: null + - id: 2613 + name: Aurora Animation + filtered_name: Aurora + real: false + image: null + - id: 2595 + name: TypeZero + filtered_name: TypeZero + real: false + image: null + - id: 2472 + name: High Energy Studio + filtered_name: High Energy + real: false + image: null + - id: 2614 + name: Chongzhuo Animation + filtered_name: Chongzhuo + real: false + image: null + - id: 1414 + name: bilibili + filtered_name: bilibili + real: false + image: null + - id: 1831 + name: Colored Pencil Animation Japan + filtered_name: Colored Pencil Animation Japan + real: false + image: null + - id: 2478 + name: Oriental Creative Color + filtered_name: Oriental Creative Color + real: false + image: null + - id: 2396 + name: Joicy Studio + filtered_name: Joicy + real: false + image: null + - id: 3045 + name: Bones Film + filtered_name: Bones Film + real: false + image: null + - id: 2636 + name: Qingxiang Culture + filtered_name: Qingxiang Culture + real: false + image: null + - id: 1793 + name: Happy Elements + filtered_name: Happy Elements + real: false + image: null + - id: 2642 + name: E&H Production + filtered_name: E&H + real: false + image: null + - id: 2399 + name: Eshoya Honpo + filtered_name: Eshoya Honpo + real: false + image: null + - id: 1684 + name: THINKR + filtered_name: THINKR + real: false + image: null + - id: 1940 + name: Da Huoniao Donghua + filtered_name: Da Huoniao Donghua + real: false + image: null + - id: 2521 + name: Qiyuan Yinghua + filtered_name: Qiyuan Yinghua + real: false + image: null + - id: 377 + name: Kuri Jikken Manga Koubou + filtered_name: Kuri Jikken Manga Koubou + real: false + image: null + - id: 2646 + name: trenova + filtered_name: trenova + real: false + image: null + - id: 2649 + name: LB Commerce + filtered_name: LB Commerce + real: false + image: null + - id: 2648 + name: Au Praxinoscope + filtered_name: Au Praxinoscope + real: false + image: null + - id: 2652 + name: Gravity Well + filtered_name: Gravity Well + real: false + image: null + - id: 2651 + name: Stereotype + filtered_name: Stereotype + real: false + image: null + - id: 2658 + name: flag Co. + filtered_name: flag Co. + real: false + image: null + - id: 2656 + name: UchuPeople + filtered_name: UchuPeople + real: false + image: null + - id: 2661 + name: Kinematics + filtered_name: Kinematics + real: false + image: null + - id: 1857 + name: Geek Toys + filtered_name: Geek Toys + real: false + image: /system/studios/original/1857.png?1589291362 + - id: 2258 + name: Sharefun Studio + filtered_name: Sharefun + real: false + image: null + - id: 2294 + name: AHA Entertainment + filtered_name: AHA + real: false + image: null + - id: 2667 + name: Keyring + filtered_name: Keyring + real: false + image: null + - id: 2660 + name: UKA + filtered_name: UKA + real: false + image: null + - id: 2674 + name: BUG FILMS + filtered_name: BUG FILMS + real: false + image: null + - id: 2647 + name: Studio A. Craft + filtered_name: A. Craft + real: false + image: null + - id: 2604 + name: DC Impression Vision + filtered_name: DC Impression Vision + real: false + image: null + - id: 2688 + name: Saber Project + filtered_name: Saber Project + real: false + image: null + - id: 2676 + name: Pmats9 studio + filtered_name: Pmats9 + real: false + image: null + - id: 2394 + name: MoMo Production + filtered_name: MoMo + real: false + image: null + - id: 2351 + name: Studio Gadget + filtered_name: Gadget + real: false + image: null + - id: 2601 + name: Sunflowers + filtered_name: Sunflowers + real: false + image: null + - id: 2509 + name: Colored Pencil Animation + filtered_name: Colored Pencil + real: false + image: null + - id: 2693 + name: 6pucks + filtered_name: 6pucks + real: false + image: null + - id: 2695 + name: SIGNIF + filtered_name: SIGNIF + real: false + image: null + - id: 2463 + name: Cloud Art + filtered_name: Cloud Art + real: false + image: null + - id: 478 + name: Studio Blanc. + filtered_name: Blanc. + real: false + image: null + - id: 1980 + name: Big Firebird Culture + filtered_name: Big Firebird Culture + real: false + image: null + - id: 2679 + name: cogitoworks + filtered_name: cogitoworks + real: false + image: null + - id: 2694 + name: studio NAGURI + filtered_name: NAGURI + real: false + image: null + - id: 2424 + name: Bandai Namco Filmworks + filtered_name: Bandai Namco Filmworks + real: false + image: null + - id: 2692 + name: Ice Butter + filtered_name: Ice Butter + real: false + image: null + - id: 2682 + name: Steamworks + filtered_name: Steamworks + real: false + image: null + - id: 2678 + name: Slow Studio + filtered_name: Slow + real: false + image: null + - id: 2449 + name: Atorie A.B.C. + filtered_name: Atorie A.B.C. + real: false + image: null + - id: 2559 + name: Guo Pengzi Studio + filtered_name: Guo Pengzi + real: false + image: null + - id: 2644 + name: Kuai Ying Hu Yu + filtered_name: Kuai Ying Hu Yu + real: false + image: null + - id: 2419 + name: d00r works + filtered_name: d00r works + real: false + image: null + - id: 2686 + name: EDP graphic works + filtered_name: EDP graphic works + real: false + image: null + - id: 2474 + name: Haneda xR Studio + filtered_name: Haneda xR + real: false + image: null + - id: 2669 + name: THINGS. + filtered_name: THINGS. + real: false + image: null + - id: 2698 + name: Voil + filtered_name: Voil + real: false + image: null + - id: 2673 + name: Goto Inc. + filtered_name: Goto Inc. + real: false + image: null + - id: 2563 + name: Studio Tumble + filtered_name: Tumble + real: false + image: null + - id: 2484 + name: Gunners + filtered_name: Gunners + real: false + image: null + - id: 2564 + name: Yamiken + filtered_name: Yamiken + real: false + image: null + - id: 2392 + name: Ishibashi Planning + filtered_name: Ishibashi Planning + real: false + image: null + - id: 2551 + name: Animation 501 + filtered_name: '501' + real: false + image: null + - id: 2457 + name: Studio Ranmaru + filtered_name: Ranmaru + real: false + image: null + - id: 2626 + name: Studio D-Volt + filtered_name: D-Volt + real: false + image: null + - id: 1248 + name: Mirai Fusion + filtered_name: Mirai Fusion + real: false + image: null + - id: 2492 + name: Studio Jin + filtered_name: Jin + real: false + image: null + - id: 2623 + name: Dyna Method + filtered_name: Dyna Method + real: false + image: null + - id: 2514 + name: AIC Project + filtered_name: AIC Project + real: false + image: null + - id: 2558 + name: Delpic + filtered_name: Delpic + real: false + image: null + - id: 2406 + name: Eallin + filtered_name: Eallin + real: false + image: null + - id: 2562 + name: Studio Himalaya + filtered_name: Himalaya + real: false + image: null + - id: 2572 + name: Adonero + filtered_name: Adonero + real: false + image: null + - id: 2677 + name: Central Animation Studio + filtered_name: Central Animation + real: false + image: null + - id: 2560 + name: Nekonigashi Inc. + filtered_name: Nekonigashi Inc. + real: false + image: null + - id: 2469 + name: HM Heros + filtered_name: HM Heros + real: false + image: null + - id: 2622 + name: Makaria + filtered_name: Makaria + real: false + image: null + - id: 2274 + name: Qiying Animation + filtered_name: Qiying + real: false + image: null + - id: 1443 + name: Overlap + filtered_name: Overlap + real: false + image: null + - id: 2569 + name: Yinhe Changxing Culture + filtered_name: Yinhe Changxing Culture + real: false + image: null + - id: 2598 + name: Bigcat Studio + filtered_name: Bigcat + real: false + image: null + - id: 2605 + name: Tonari Animation + filtered_name: Tonari + real: false + image: null + - id: 2619 + name: Quyue Technology + filtered_name: Quyue Technology + real: false + image: null + - id: 2705 + name: TOHO animation STUDIO + filtered_name: TOHO animation + real: false + image: null + - id: 2706 + name: Hananona Studio + filtered_name: Hananona + real: false + image: null + - id: 1295 + name: PINE JAM + filtered_name: PINE JAM + real: false + image: /system/studios/original/1295.png?1589291852 + - id: 2333 + name: Space-X + filtered_name: Space-X + real: false + image: null + - id: 2715 + name: Hand to Mouse. + filtered_name: Hand to Mouse. + real: false + image: null + - id: 2391 + name: Sumomo Film + filtered_name: Sumomo Film + real: false + image: null + - id: 2711 + name: Miyu Productions + filtered_name: Miyu + real: false + image: null + - id: 2553 + name: Garyuu Studio + filtered_name: Garyuu + real: false + image: null + - id: 2736 + name: Gone-zo + filtered_name: Gone-zo + real: false + image: null + - id: 2625 + name: Square Pictures + filtered_name: Square Pictures + real: false + image: null + - id: 2853 + name: ASTROBROS. + filtered_name: ASTROBROS. + real: false + image: null + - id: 2459 + name: Studio Gazelle + filtered_name: Gazelle + real: false + image: null + - id: 2450 + name: C and R + filtered_name: C and R + real: false + image: null + - id: 2410 + name: Gonzino + filtered_name: Gonzino + real: false + image: null + - id: 1678 + name: Yuhodo + filtered_name: Yuhodo + real: false + image: null + - id: 2488 + name: J.K.I + filtered_name: J.K.I + real: false + image: null + - id: 2576 + name: General Entertainment + filtered_name: General + real: false + image: null + - id: 2494 + name: Enzo Animation + filtered_name: Enzo + real: false + image: null + - id: 2487 + name: Kyushu Network Animation + filtered_name: Kyushu Network + real: false + image: null + - id: 2574 + name: Circus Production + filtered_name: Circus + real: false + image: null + - id: 2421 + name: M&M + filtered_name: M&M + real: false + image: null + - id: 2452 + name: Project Team Muu + filtered_name: Project Team Muu + real: false + image: null + - id: 2665 + name: AMGA + filtered_name: AMGA + real: false + image: null + - id: 2346 + name: Alice Production + filtered_name: Alice + real: false + image: null + - id: 2345 + name: Onion Studio + filtered_name: Onion + real: false + image: null + - id: 2360 + name: Amarcord + filtered_name: Amarcord + real: false + image: null + - id: 2388 + name: Ai Yume Mai + filtered_name: Ai Yume Mai + real: false + image: null + - id: 2451 + name: TEC + filtered_name: TEC + real: false + image: null + - id: 2552 + name: C&S Production + filtered_name: C&S + real: false + image: null + - id: 2461 + name: Twenty First + filtered_name: Twenty First + real: false + image: null + - id: 2486 + name: Blue Note + filtered_name: Blue Note + real: false + image: null + - id: 2858 + name: Makino Production + filtered_name: Makino + real: false + image: null + - id: 2859 + name: 924 Studio + filtered_name: '924' + real: false + image: null + - id: 2864 + name: Windy Studio + filtered_name: Windy + real: false + image: null + - id: 2863 + name: Miota + filtered_name: Miota + real: false + image: null + - id: 2144 + name: BloomZ + filtered_name: BloomZ + real: false + image: null + - id: 2844 + name: Imagica Infos + filtered_name: Imagica Infos + real: false + image: null + - id: 2570 + name: Ijigen Tokyo + filtered_name: Ijigen Tokyo + real: false + image: null + - id: 34 + name: HAL Film Maker + filtered_name: HAL Film Maker + real: true + image: /system/studios/original/34.png?1311292711 + - id: 2870 + name: Alke + filtered_name: Alke + real: false + image: null + - id: 2666 + name: EOEO System + filtered_name: EOEO System + real: false + image: null + - id: 2365 + name: MI + filtered_name: MI + real: false + image: null + - id: 2855 + name: Studio Moe + filtered_name: Moe + real: false + image: null + - id: 2857 + name: CELAVIE + filtered_name: CELAVIE + real: false + image: null + - id: 2460 + name: aNCHOR + filtered_name: aNCHOR + real: false + image: null + - id: 2276 + name: Project Team Sarah + filtered_name: Project Team Sarah + real: false + image: null + - id: 2544 + name: Kami Kukan + filtered_name: Kami Kukan + real: false + image: null + - id: 336 + name: JM Animation + filtered_name: JM + real: false + image: /system/studios/original/336.gif?1311292709 + - id: 2714 + name: evg + filtered_name: evg + real: false + image: null + - id: 2728 + name: New Deer + filtered_name: New Deer + real: false + image: null + - id: 2729 + name: CANON RECORDINGS + filtered_name: CANON RECORDINGS + real: false + image: null + - id: 2233 + name: Starry Cube + filtered_name: Starry Cube + real: false + image: null + - id: 2645 + name: Liyu Culture + filtered_name: Liyu Culture + real: false + image: null + - id: 2058 + name: Shengying Animation + filtered_name: Shengying + real: false + image: null + - id: 2748 + name: Sankaku + filtered_name: Sankaku + real: false + image: null + - id: 2749 + name: Anime Tokyo + filtered_name: Anime Tokyo + real: false + image: null + - id: 2750 + name: Hu Po Donghua + filtered_name: Hu Po Donghua + real: false + image: null + - id: 2684 + name: CHOCOLATE + filtered_name: CHOCOLATE + real: false + image: null + - id: 2703 + name: Oyster + filtered_name: Oyster + real: false + image: null + - id: 2744 + name: Hong Ying Animation + filtered_name: Hong Ying + real: false + image: null + - id: 2746 + name: Studio Vandal + filtered_name: Vandal + real: false + image: null + - id: 2702 + name: HuaDream + filtered_name: HuaDream + real: false + image: null + - id: 2743 + name: Shengguang Knight Culture + filtered_name: Shengguang Knight Culture + real: false + image: null + - id: 2755 + name: Congrong Film + filtered_name: Congrong Film + real: false + image: null + - id: 2760 + name: Studio Add + filtered_name: Add + real: false + image: null + - id: 2757 + name: Caviar + filtered_name: Caviar + real: false + image: null + - id: 2657 + name: NANON CREATIVE + filtered_name: NANON CREATIVE + real: false + image: null + - id: 2754 + name: Contrail + filtered_name: Contrail + real: false + image: null + - id: 2513 + name: HMCH + filtered_name: HMCH + real: false + image: null + - id: 2761 + name: ARCUS + filtered_name: ARCUS + real: false + image: null + - id: 2764 + name: Studio HUIT + filtered_name: HUIT + real: false + image: null + - id: 2447 + name: Youku + filtered_name: Youku + real: false + image: null + - id: 2762 + name: Studio Matomo + filtered_name: Matomo + real: false + image: null + - id: 2772 + name: Misogo Animation Studio + filtered_name: Misogo Animation + real: false + image: null + - id: 2773 + name: Transistor Studio + filtered_name: Transistor + real: false + image: null + - id: 2774 + name: Shadow Steps + filtered_name: Shadow Steps + real: false + image: null + - id: 2628 + name: Xiaoming Taiji + filtered_name: Xiaoming Taiji + real: false + image: null + - id: 2778 + name: Sasayuri + filtered_name: Sasayuri + real: false + image: null + - id: 2780 + name: Studio Artegg + filtered_name: Artegg + real: false + image: null + - id: 2781 + name: Cloud Culture + filtered_name: Cloud Culture + real: false + image: null + - id: 2783 + name: ANYZAC + filtered_name: ANYZAC + real: false + image: null + - id: 2785 + name: Shikachan Studio + filtered_name: Shikachan + real: false + image: null + - id: 2787 + name: Studio Lemon + filtered_name: Lemon + real: false + image: null + - id: 2784 + name: Medo + filtered_name: Medo + real: false + image: null + - id: 2790 + name: Hezmon Animation + filtered_name: Hezmon + real: false + image: null + - id: 2794 + name: BUDDHA INC. + filtered_name: BUDDHA INC. + real: false + image: null + - id: 2512 + name: Studio Easter + filtered_name: Easter + real: false + image: null + - id: 2606 + name: Toyo Links Corporation + filtered_name: Toyo Links Corporation + real: false + image: null + - id: 2725 + name: CompTown + filtered_name: CompTown + real: false + image: null + - id: 2795 + name: Xing Xing Donghua + filtered_name: Xing Xing Donghua + real: false + image: null + - id: 2765 + name: Bebow + filtered_name: Bebow + real: false + image: null + - id: 2775 + name: Production Wave + filtered_name: Production Wave + real: false + image: null + - id: 2624 + name: Village Studio + filtered_name: Village + real: false + image: null + - id: 2807 + name: ABJ COMPANY + filtered_name: ABJ COMPANY + real: false + image: null + - id: 2420 + name: Tang Kirin Culture + filtered_name: Tang Kirin Culture + real: false + image: null + - id: 2810 + name: Studio Yona + filtered_name: Yona + real: false + image: null + - id: 1379 + name: Zero-G + filtered_name: Zero-G + real: true + image: /system/studios/original/1379.png?1521916962 + - id: 2933 + name: Hutoon Animation + filtered_name: Hutoon + real: false + image: null + - id: 2934 + name: studio2 Animation Lab + filtered_name: studio2 Animation Lab + real: false + image: null + - id: 2663 + name: Rock'n Roll Mountain + filtered_name: Rock'n Roll Mountain + real: false + image: null + - id: 2939 + name: Studio Gale + filtered_name: Gale + real: false + image: null + - id: 2813 + name: Iconix Entertainment + filtered_name: Iconix + real: false + image: null + - id: 2779 + name: Studio BAZOOKA + filtered_name: BAZOOKA + real: false + image: null + - id: 2940 + name: Ocon Studio + filtered_name: Ocon + real: false + image: null + - id: 2945 + name: Studio Goindol + filtered_name: Goindol + real: false + image: null + - id: 2944 + name: Brick Studio + filtered_name: Brick + real: false + image: null + - id: 2951 + name: Pierrot Films + filtered_name: Pierrot Films + real: false + image: null + - id: 2880 + name: ORCEN + filtered_name: ORCEN + real: false + image: null + - id: 2713 + name: Infinity Animations + filtered_name: Infinity Animations + real: false + image: null + - id: 2950 + name: studio ALBLE + filtered_name: ALBLE + real: false + image: null + - id: 2957 + name: Particlefield + filtered_name: Particlefield + real: false + image: null + - id: 2953 + name: Flying Monkeys Production + filtered_name: Flying Monkeys + real: false + image: null + - id: 2954 + name: Studio Button + filtered_name: Button + real: false + image: null + - id: 2949 + name: Oriental Creative Color + filtered_name: Oriental Creative Color + real: false + image: null + - id: 3052 + name: Studio KeepFire + filtered_name: KeepFire + real: false + image: null + - id: 1667 + name: Foch Film + filtered_name: Foch Film + real: false + image: /system/studios/original/1667.png?1622293472 + - id: 3046 + name: Tsumupapa + filtered_name: Tsumupapa + real: false + image: null + - id: 433 + name: Viewworks + filtered_name: Viewworks + real: false + image: /system/studios/original/433.png?1311292712 + - id: 3033 + name: Studio Barcelona + filtered_name: Barcelona + real: false + image: null + - id: 2617 + name: Tianshi Wenhua + filtered_name: Tianshi Wenhua + real: false + image: null + - id: 2573 + name: Watanabe Promotion + filtered_name: Watanabe Promotion + real: false + image: null + - id: 3048 + name: Kachigarasu + filtered_name: Kachigarasu + real: false + image: null + - id: 3050 + name: Crew-Cell + filtered_name: Crew-Cell + real: false + image: null + - id: 3049 + name: STUDIO 8 DOGS + filtered_name: 8 DOGS + real: false + image: null + - id: 2804 + name: Seoul Movie + filtered_name: Seoul Movie + real: false + image: null + - id: 2752 + name: Youliao Studio + filtered_name: Youliao + real: false + image: null + - id: 2298 + name: Atelier Pontdarc + filtered_name: Atelier Pontdarc + real: false + image: /system/studios/original/2298.png?1695122030 + - id: 1930 + name: Zelico Film + filtered_name: Zelico Film + real: false + image: null + - id: 3022 + name: Panda Tower Studio + filtered_name: Panda Tower + real: false + image: null + - id: 3060 + name: WonderLand + filtered_name: WonderLand + real: false + image: null + - id: 3061 + name: AOI Pro. + filtered_name: AOI Pro. + real: false + image: null + - id: 2850 + name: SAFEHOUSE + filtered_name: SAFEHOUSE + real: false + image: null + - id: 2170 + name: Alpha Group + filtered_name: Alpha Group + real: false + image: null + - id: 2641 + name: Locus Corporation + filtered_name: Locus Corporation + real: false + image: null + - id: 3066 + name: Aeonium + filtered_name: Aeonium + real: false + image: null + - id: 3070 + name: Studio Clutch + filtered_name: Clutch + real: false + image: null + - id: 3071 + name: Shuiniu Dongman + filtered_name: Shuiniu Dongman + real: false + image: null + - id: 3079 + name: LinQ + filtered_name: LinQ + real: false + image: null + - id: 3078 + name: Studio LEO + filtered_name: LEO + real: false + image: null + - id: 3082 + name: teevee graphics + filtered_name: teevee graphics + real: false + image: null + - id: 3083 + name: Nagomi + filtered_name: Nagomi + real: false + image: null + - id: 3091 + name: KaKa Technology Studio + filtered_name: KaKa Technology + real: false + image: null + - id: 3085 + name: I&A + filtered_name: I&A + real: false + image: null + - id: 3074 + name: Kumarba + filtered_name: Kumarba + real: false + image: null + - id: 3089 + name: StealthWorks + filtered_name: StealthWorks + real: false + image: null + - id: 3086 + name: ILCASHIPS + filtered_name: ILCASHIPS + real: false + image: null + - id: 3090 + name: MAINCONCEPT + filtered_name: MAINCONCEPT + real: false + image: null + - id: 3097 + name: Maru Animation + filtered_name: Maru + real: false + image: null + - id: 3099 + name: sugarsaltpepper + filtered_name: sugarsaltpepper + real: false + image: null + - id: 2175 + name: GARDEN Culture + filtered_name: GARDEN Culture + real: false + image: null + - id: 3055 + name: Animation Studio Wagumi + filtered_name: Studio Wagumi + real: false + image: null + - id: 3076 + name: No Side + filtered_name: No Side + real: false + image: null + - id: 3077 + name: Axis + filtered_name: Axis + real: false + image: null + - id: 1881 + name: Friendly Land + filtered_name: Friendly Land + real: false + image: null + - id: 3081 + name: Fortes + filtered_name: Fortes + real: false + image: null + - id: 2202 + name: Front Wing + filtered_name: Front Wing + real: false + image: null + - id: 3111 + name: Raiose + filtered_name: Raiose + real: false + image: null + - id: 2742 + name: Studio N + filtered_name: N + real: false + image: null + - id: 2972 + name: Cocktail Media + filtered_name: Cocktail Media + real: false + image: null + - id: 2969 + name: Mainichi Eigasha + filtered_name: Mainichi Eigasha + real: false + image: null + - id: 2970 + name: 717 Animation Studio + filtered_name: 717 Animation + real: false + image: null + - id: 2824 + name: Production HASU + filtered_name: Production HASU + real: false + image: null + - id: 2967 + name: Digital Dream Studios + filtered_name: Digital Dream + real: false + image: null + - id: 2726 + name: Laftel + filtered_name: Laftel + real: false + image: null + - id: 2977 + name: BlueArc Animation Studios + filtered_name: BlueArc Animation + real: false + image: null + - id: 2737 + name: Painted Blade Studio + filtered_name: Painted Blade + real: false + image: null + - id: 2948 + name: Nippon TV Douga + filtered_name: Nippon TV Douga + real: false + image: null + - id: 2936 + name: G&G Direction + filtered_name: G&G Direction + real: false + image: null + - id: 2982 + name: Ginga Teikoku + filtered_name: Ginga Teikoku + real: false + image: null + - id: 2947 + name: Tokyo TV Douga + filtered_name: Tokyo TV Douga + real: false + image: null + - id: 2983 + name: Imageworks Studio + filtered_name: Imageworks + real: false + image: null + - id: 2985 + name: Saber Works + filtered_name: Saber Works + real: false + image: null + - id: 1759 + name: Lyrics + filtered_name: Lyrics + real: false + image: null + - id: 2931 + name: Buyuu + filtered_name: Buyuu + real: false + image: null + - id: 2955 + name: Sunny Gapen + filtered_name: Sunny Gapen + real: false + image: null + - id: 2988 + name: Shadow Pond Studio + filtered_name: Shadow Pond + real: false + image: null + - id: 2987 + name: Outline + filtered_name: Outline + real: false + image: null + - id: 2986 + name: Sugata Creative & Design + filtered_name: Sugata Creative & Design + real: false + image: null + - id: 2991 + name: Skydance Animation + filtered_name: Skydance + real: false + image: null + - id: 2990 + name: Higashinaka Studio + filtered_name: Higashinaka + real: false + image: null + - id: 2989 + name: LIGHTAIR Inc. + filtered_name: LIGHTAIR Inc. + real: false + image: null + - id: 2992 + name: R11R + filtered_name: R11R + real: false + image: null + - id: 2444 + name: Hanho Heung-Up + filtered_name: Hanho Heung-Up + real: false + image: null + - id: 2851 + name: Pinkfong + filtered_name: Pinkfong + real: false + image: null + - id: 2994 + name: Aurochs + filtered_name: Aurochs + real: false + image: null + - id: 2997 + name: Million Volt + filtered_name: Million Volt + real: false + image: null + - id: 3007 + name: Studio Harutonari + filtered_name: Harutonari + real: false + image: null + - id: 3009 + name: Kitchen Ltd. + filtered_name: Kitchen Ltd. + real: false + image: null + - id: 3013 + name: Rhythmos + filtered_name: Rhythmos + real: false + image: null + - id: 2283 + name: Manga Productions + filtered_name: Manga + real: false + image: null + - id: 3014 + name: STUDIOK110 + filtered_name: STUDIOK110 + real: false + image: null + - id: 3023 + name: FAB + filtered_name: FAB + real: false + image: null + - id: 3107 + name: Hifumi + filtered_name: Hifumi + real: false + image: null + - id: 3002 + name: CUEBiC + filtered_name: CUEBiC + real: false + image: null + - id: 2753 + name: Whatever + filtered_name: Whatever + real: false + image: null + - id: 2938 + name: 3D + filtered_name: 3D + real: false + image: null + - id: 3030 + name: Studio Dotou + filtered_name: Dotou + real: false + image: null + - id: 3032 + name: OutSide Directors Company + filtered_name: OutSide Directors Company + real: false + image: null + - id: 3031 + name: Kassen + filtered_name: Kassen + real: false + image: null + - id: 3035 + name: Koinrush Studio + filtered_name: Koinrush + real: false + image: null + - id: 3036 + name: MARK + filtered_name: MARK + real: false + image: null + - id: 3062 + name: DEFT + filtered_name: DEFT + real: false + image: null + - id: 2712 + name: Studio G7 + filtered_name: G7 + real: false + image: null + - id: 3120 + name: Stellar Pictures + filtered_name: Stellar Pictures + real: false + image: null + - id: 3121 + name: Happy Toon + filtered_name: Happy Toon + real: false + image: null + - id: 3124 + name: Yumao Wenhua + filtered_name: Yumao Wenhua + real: false + image: null + - id: 3125 + name: G.H.Y. Culture & Media + filtered_name: G.H.Y. Culture & Media + real: false + image: null + - id: 3126 + name: Long Zhi Gu Wenhua + filtered_name: Long Zhi Gu Wenhua + real: false + image: null + - id: 2638 + name: Yien Animation Studio + filtered_name: Yien Animation + real: false + image: null + - id: 2586 + name: D.ROCK-ART + filtered_name: D.ROCK-ART + real: false + image: null + - id: 3117 + name: Jiman Wenhua + filtered_name: Jiman Wenhua + real: false + image: null + - id: 3131 + name: Zhou Ling Wenhua + filtered_name: Zhou Ling Wenhua + real: false + image: null + - id: 3129 + name: Hei Chao Yinghua + filtered_name: Hei Chao Yinghua + real: false + image: null + - id: 3130 + name: Chenghuang Yinghua + filtered_name: Chenghuang Yinghua + real: false + image: null + - id: 3132 + name: Flying Fish Studio + filtered_name: Flying Fish + real: false + image: null + - id: 3133 + name: Bu Keneng de Shijie + filtered_name: Bu Keneng de Shijie + real: false + image: null + - id: 3134 + name: Kid+Kid Animation Studio + filtered_name: Kid+Kid Animation + real: false + image: null + - id: 3135 + name: Lan Ying Yingshi + filtered_name: Lan Ying Yingshi + real: false + image: null + - id: 3136 + name: Tang Cai Zhaopin + filtered_name: Tang Cai Zhaopin + real: false + image: null + - id: 2084 + name: Tong Mingxuan Studio + filtered_name: Tong Mingxuan + real: false + image: null + - id: 3138 + name: Honoo + filtered_name: Honoo + real: false + image: null + - id: 3139 + name: S.o.K + filtered_name: S.o.K + real: false + image: null + - id: 3127 + name: INS Studio + filtered_name: INS + real: false + image: null + - id: 1399 + name: asurafilm + filtered_name: asurafilm + real: false + image: null + - id: 2892 + name: WWWave + filtered_name: WWWave + real: false + image: null + - id: 3122 + name: Climax Studio + filtered_name: Climax + real: false + image: null + - id: 3150 + name: Ziine Studio + filtered_name: Ziine + real: false + image: null + - id: 3149 + name: Pepper Conpanna + filtered_name: Pepper Conpanna + real: false + image: null + - id: 3148 + name: OSROCTION + filtered_name: OSROCTION + real: false + image: null + - id: 3145 + name: Nulls Design + filtered_name: Nulls Design + real: false + image: null + - id: 3144 + name: Skyloong + filtered_name: Skyloong + real: false + image: null + - id: 1063 + name: CALF + filtered_name: CALF + real: false + image: null + - id: 3157 + name: Psyde Kick Studio + filtered_name: Psyde Kick + real: false + image: null + - id: 3094 + name: animation studio42 + filtered_name: studio42 + real: false + image: null + - id: 1314 + name: Gaina + filtered_name: Gaina + real: false + image: null + - id: 3173 + name: BENTEN Film + filtered_name: BENTEN Film + real: false + image: null + - id: 3167 + name: Funny Flux + filtered_name: Funny Flux + real: false + image: null + - id: 3068 + name: Manpuku Jinja + filtered_name: Manpuku Jinja + real: false + image: null + - id: 3142 + name: Kagome Company + filtered_name: Kagome Company + real: false + image: null + - id: 2010 + name: Nippon Ramayana Film + filtered_name: Nippon Ramayana Film + real: false + image: null + - id: 255 + name: Imagi + filtered_name: Imagi + real: false + image: null + - id: 216 + name: Studio Tron + filtered_name: Tron + real: false + image: null + - id: 3161 + name: Triple A + filtered_name: Triple A + real: false + image: null + - id: 1 + name: Studio Pierrot + filtered_name: Pierrot + real: true + image: /system/studios/original/1.png?1378753179 + - id: 3158 + name: Children's Corner + filtered_name: Children's Corner + real: false + image: null + - id: 991 + name: Hoso Seisaku Doga + filtered_name: Hoso Seisaku Doga + real: false + image: null + - id: 2344 + name: All Products + filtered_name: All Products + real: false + image: null + - id: 2087 + name: CEKAI + filtered_name: CEKAI + real: false + image: null + - id: 3186 + name: studio maf + filtered_name: maf + real: false + image: null + - id: 3187 + name: Cue + filtered_name: Cue + real: false + image: null + - id: 3190 + name: Studio Maybe + filtered_name: Maybe + real: false + image: null + - id: 3189 + name: mico.animation + filtered_name: mico.animation + real: false + image: null + - id: 3192 + name: Studio Graph77 + filtered_name: Graph77 + real: false + image: null + - id: 1997 + name: Studio KAI + filtered_name: KAI + real: false + image: /system/studios/original/1997.png?1618484872 + - id: 3197 + name: Toon Harbor Works + filtered_name: Toon Harbor Works + real: false + image: null + - id: 3194 + name: Nichicaline + filtered_name: Nichicaline + real: false + image: null + - id: 3195 + name: Folium + filtered_name: Folium + real: false + image: null + - id: 3196 + name: Rouseact + filtered_name: Rouseact + real: false + image: null + - id: 3201 + name: ABC Animation Studio + filtered_name: ABC Animation + real: false + image: null + - id: 3202 + name: Finger and Toe + filtered_name: Finger and Toe + real: false + image: null + - id: 1961 + name: Creatures + filtered_name: Creatures + real: false + image: null + - id: 2299 + name: Gift-o’-Animation + filtered_name: Gift-o’-Animation + real: false + image: null + - id: 3205 + name: Garage Film + filtered_name: Garage Film + real: false + image: null + - id: 3207 + name: studioDOT + filtered_name: studioDOT + real: false + image: null + - id: 3209 + name: IKIF+ + filtered_name: IKIF+ + real: false + image: null + - id: 3214 + name: Studio BETTA + filtered_name: BETTA + real: false + image: null + - id: 3217 + name: Atoonz + filtered_name: Atoonz + real: false + image: null + - id: 3244 + name: Shenli Guangyin + filtered_name: Shenli Guangyin + real: false + image: null + - id: 3128 + name: Guangzhou Liu Ling Yi + filtered_name: Guangzhou Liu Ling Yi + real: false + image: null + - id: 3212 + name: Tochka + filtered_name: Tochka + real: false + image: null + - id: 3159 + name: Newon + filtered_name: Newon + real: false + image: null + - id: 2756 + name: Equator + filtered_name: Equator + real: false + image: null + - id: 3241 + name: Project Team Argos + filtered_name: Project Team Argos + real: false + image: null + - id: 3223 + name: Office Academy + filtered_name: Office Academy + real: false + image: null + - id: 2378 + name: StarLink + filtered_name: StarLink + real: false + image: null + - id: 1009 + name: Aubeck + filtered_name: Aubeck + real: false + image: null + - id: 3249 + name: Sunshine Corporation + filtered_name: Sunshine Corporation + real: false + image: null + - id: 3245 + name: Teleimage + filtered_name: Teleimage + real: false + image: null + - id: 450 + name: Wako Production + filtered_name: Wako + real: false + image: /system/studios/original/450.jpg?1634761556 + - id: 3247 + name: bushes + filtered_name: bushes + real: false + image: null + - id: 3179 + name: TV Douga + filtered_name: TV Douga + real: false + image: null + - id: 3250 + name: Lychee Time Media + filtered_name: Lychee Time Media + real: false + image: null + - id: 2368 + name: Miyuki Production + filtered_name: Miyuki + real: false + image: null + - id: 3251 + name: B.COOL STUDIO + filtered_name: B.COOL + real: false + image: null + - id: 3252 + name: Doraku + filtered_name: Doraku + real: false + image: null + - id: 3238 + name: Tsubasa Production + filtered_name: Tsubasa + real: false + image: null + - id: 3253 + name: Liliyabi Company Introduction + filtered_name: Liliyabi Company Introduction + real: false + image: null + - id: 1325 + name: Haoliners Animation + filtered_name: Haoliners + real: true + image: /system/studios/original/1325.png?1499467056 + - id: 3254 + name: Honglu Technology + filtered_name: Honglu Technology + real: false + image: null + - id: 3255 + name: PAINTFREE + filtered_name: PAINTFREE + real: false + image: null + - id: 3257 + name: Grass Jelly Studio + filtered_name: Grass Jelly + real: false + image: null + - id: 3258 + name: OCSTUDIO + filtered_name: OCSTUDIO + real: false + image: null + - id: 3273 + name: Atelier Peuplier + filtered_name: Atelier Peuplier + real: false + image: null + - id: 3271 + name: Gugenka + filtered_name: Gugenka + real: false + image: null + - id: 3264 + name: BIGBIGSUN + filtered_name: BIGBIGSUN + real: false + image: null + - id: 3276 + name: Aura Studio + filtered_name: Aura + real: false + image: null + - id: 1804 + name: Nice Boat Animation + filtered_name: Nice Boat + real: false + image: /system/studios/original/1804.png?1634761461 + - id: 3266 + name: WINSING ANIMATION + filtered_name: WINSING + real: false + image: null + - id: 3261 + name: TRCARTOON + filtered_name: TRCARTOON + real: false + image: null + - id: 3268 + name: YNUO + filtered_name: YNUO + real: false + image: null + - id: 3278 + name: Studio Eek + filtered_name: Eek + real: false + image: null + - id: 3243 + name: Da Chenger Gongzuoshi + filtered_name: Da Chenger Gongzuoshi + real: false + image: null + - id: 3281 + name: Akatsuki Media Studio + filtered_name: Akatsuki Media + real: false + image: null + - id: 3277 + name: Mofac Studio + filtered_name: Mofac + real: false + image: null + - id: 3282 + name: Shen Fu Wenhua + filtered_name: Shen Fu Wenhua + real: false + image: null + - id: 3288 + name: A4works + filtered_name: A4works + real: false + image: null + - id: 3290 + name: Atra + filtered_name: Atra + real: false + image: null + - id: 3294 + name: Grass + filtered_name: Grass + real: false + image: null + - id: 3275 + name: FuRyu Pictures + filtered_name: FuRyu Pictures + real: false + image: null + - id: 2838 + name: San Blas Animation + filtered_name: San Blas + real: false + image: null + - id: 3293 + name: Green Leaf Animation + filtered_name: Green Leaf + real: false + image: null + - id: 3297 + name: Aisle + filtered_name: Aisle + real: false + image: null + - id: 3300 + name: Bakkka + filtered_name: Bakkka + real: false + image: null + - id: 3301 + name: Cannon Code + filtered_name: Cannon Code + real: false + image: null + - id: 3260 + name: Hui Guang Gongzuoshi + filtered_name: Hui Guang Gongzuoshi + real: false + image: null + - id: 3303 + name: Daily Plan.net + filtered_name: Daily Plan.net + real: false + image: null + - id: 3304 + name: SO-DO Creative + filtered_name: SO-DO Creative + real: false + image: null + - id: 3295 + name: Computer Technique Group + filtered_name: Computer Technique Group + real: false + image: null + - id: 3296 + name: coyote + filtered_name: coyote + real: false + image: null + - id: 3305 + name: Electric Circus + filtered_name: Electric Circus + real: false + image: null + - id: 3306 + name: Studio Keel + filtered_name: Keel + real: false + image: null + - id: 3259 + name: Moonseong Animation + filtered_name: Moonseong + real: false + image: null + - id: 2192 + name: Haianxian Donghua Gongzuoshi + filtered_name: Haianxian Donghua Gongzuoshi + real: false + image: null + - id: 3287 + name: Daicon Film + filtered_name: Daicon Film + real: false + image: null + - id: 2445 + name: Big Film Entertainment + filtered_name: Big Film + real: false + image: null + - id: 3286 + name: Cypic + filtered_name: Cypic + real: false + image: null + - id: 1641 + name: Studio AWAKE + filtered_name: AWAKE + real: false + image: null + - id: 3314 + name: Studio Wrong + filtered_name: Wrong + real: false + image: null + - id: 3316 + name: Ciwen Animation + filtered_name: Ciwen + real: false + image: null + - id: 3311 + name: Kaihuang Donghua + filtered_name: Kaihuang Donghua + real: false + image: null + - id: 3312 + name: You Hu Wenhua + filtered_name: You Hu Wenhua + real: false + image: null + - id: 3318 + name: Buzhi Dongman + filtered_name: Buzhi Dongman + real: false + image: null + body_text: null + body_b64: null diff --git a/test/fixtures/shikimori/studios/03-ghibli-limit1000.yaml b/test/fixtures/shikimori/studios/03-ghibli-limit1000.yaml new file mode 100644 index 0000000..41e4793 --- /dev/null +++ b/test/fixtures/shikimori/studios/03-ghibli-limit1000.yaml @@ -0,0 +1,9463 @@ +metadata: + captured_at: '2026-05-11T08:09:50Z' + label: ghibli-limit1000 + backend: shikimori + path_slug: studios +request: + method: GET + url: https://shikimori.io/api/studios?limit=1000 + headers: + User-Agent: animedex/0.0.1 + params: null + json_body: null + raw_body_b64: null +response: + status: 200 + headers: + Server: ddos-guard + Connection: keep-alive + Keep-Alive: timeout=60 + Set-Cookie: + Content-Security-Policy: upgrade-insecure-requests; + Date: Mon, 11 May 2026 08:09:50 GMT + Content-Type: application/json; charset=utf-8 + X-Frame-Options: SAMEORIGIN + X-XSS-Protection: '0' + X-Content-Type-Options: nosniff + X-Permitted-Cross-Domain-Policies: none + Referrer-Policy: strict-origin-when-cross-origin + ETag: W/"d88a2fdc653f6ec0f422a85cc311f145" + Cache-Control: max-age=0, private, must-revalidate + X-Request-Id: ed189717-09c1-480e-aeca-6fe8dc6c081a + X-Runtime: '0.270832' + vary: Accept, Origin + Content-Encoding: gzip + Transfer-Encoding: chunked + body_json: + - id: 2022 + name: TYMOTE + filtered_name: TYMOTE + real: false + image: null + - id: 2023 + name: Spoon + filtered_name: Spoon + real: false + image: null + - id: 1356 + name: Tonko House + filtered_name: Tonko House + real: false + image: null + - id: 1992 + name: Bandai Spirits + filtered_name: Bandai Spirits + real: false + image: null + - id: 2007 + name: Studio Drive + filtered_name: Drive + real: false + image: null + - id: 2723 + name: Unend + filtered_name: Unend + real: false + image: null + - id: 3213 + name: Shanghai Zhijian Network + filtered_name: Shanghai Zhijian Network + real: false + image: null + - id: 2011 + name: Yonago Gainax + filtered_name: Yonago Gainax + real: false + image: null + - id: 2240 + name: Studio Daisy + filtered_name: Daisy + real: false + image: null + - id: 2034 + name: Akatsuki + filtered_name: Akatsuki + real: false + image: null + - id: 2041 + name: Enjin Productions + filtered_name: Enjin + real: false + image: null + - id: 2027 + name: Team TillDawn + filtered_name: Team TillDawn + real: false + image: null + - id: 2029 + name: Earth Design Works + filtered_name: Earth Design Works + real: false + image: null + - id: 2020 + name: Ark + filtered_name: Ark + real: false + image: null + - id: 2040 + name: Maro Studio + filtered_name: Maro + real: false + image: null + - id: 2 + name: Kyoto Animation + filtered_name: Kyoto + real: true + image: /system/studios/original/2.png?1522422929 + - id: 162 + name: Character and Anime Dot Com + filtered_name: Character and Anime Dot Com + real: false + image: null + - id: 17 + name: Aniplex + filtered_name: Aniplex + real: false + image: /system/studios/original/17.txt?1323005241 + - id: 10 + name: Production I.G + filtered_name: Production I.G + real: true + image: /system/studios/original/10.png?1312165069 + - id: 164 + name: d-rights + filtered_name: d-rights + real: false + image: null + - id: 165 + name: Marubeni + filtered_name: Marubeni + real: false + image: null + - id: 322 + name: Bee Media + filtered_name: Bee Media + real: false + image: null + - id: 23 + name: Bandai Visual + filtered_name: Bandai Visual + real: false + image: /system/studios/original/23.png?1311292710 + - id: 26 + name: Shinkai Makoto + filtered_name: Shinkai Makoto + real: false + image: null + - id: 29 + name: VAP + filtered_name: VAP + real: false + image: /system/studios/original/29.png?1311292712 + - id: 2398 + name: VCRWORKS + filtered_name: VCRWORKS + real: false + image: null + - id: 1472 + name: Myung Films + filtered_name: Myung Films + real: false + image: null + - id: 35 + name: Seven Arcs + filtered_name: Seven Arcs + real: false + image: /system/studios/original/35.jpg?1312165054 + - id: 40 + name: m.o.e. + filtered_name: m.o.e. + real: false + image: /system/studios/original/40.png?1311292710 + - id: 42 + name: GDH + filtered_name: GDH + real: false + image: /system/studios/original/42.png?1311292713 + - id: 39 + name: Daume + filtered_name: Daume + real: true + image: /system/studios/original/39.jpg?1311292711 + - id: 49 + name: Remic + filtered_name: Remic + real: false + image: null + - id: 2159 + name: Composition Inc. + filtered_name: Composition Inc. + real: false + image: null + - id: 2169 + name: Studio 88 + filtered_name: '88' + real: false + image: null + - id: 2177 + name: Mimoid + filtered_name: Mimoid + real: false + image: null + - id: 2183 + name: Keica + filtered_name: Keica + real: false + image: null + - id: 2403 + name: Brians Film + filtered_name: Brians Film + real: false + image: null + - id: 2404 + name: OLM Team Kato + filtered_name: OLM Team Kato + real: false + image: null + - id: 50 + name: KSS + filtered_name: KSS + real: false + image: /system/studios/original/50.gif?1311292710 + - id: 195 + name: Pixy + filtered_name: Pixy + real: false + image: /system/studios/original/195.jpg?1311292711 + - id: 565 + name: LMD + filtered_name: LMD + real: false + image: null + - id: 52 + name: Avex Entertainment + filtered_name: Avex + real: false + image: /system/studios/original/52.png?1311292713 + - id: 2405 + name: Staple Entertainment + filtered_name: Staple + real: false + image: null + - id: 55 + name: TV Asahi + filtered_name: TV Asahi + real: false + image: /system/studios/original/55.jpg?1311292710 + - id: 300 + name: SILVER LINK. + filtered_name: SILVER LINK. + real: true + image: /system/studios/original/300.?1434707266 + - id: 58 + name: Square Enix + filtered_name: Square Enix + real: false + image: /system/studios/original/58.png?1311292714 + - id: 59 + name: Beat Frog + filtered_name: Beat Frog + real: false + image: null + - id: 61 + name: Frontier Works + filtered_name: Frontier Works + real: false + image: /system/studios/original/61.png?1311292712 + - id: 63 + name: Trinet Entertainment + filtered_name: Trinet + real: false + image: /system/studios/original/63.jpg?1311292713 + - id: 2432 + name: happyproject + filtered_name: happyproject + real: false + image: null + - id: 66 + name: Key + filtered_name: Key + real: false + image: /system/studios/original/66.gif?1311292712 + - id: 285 + name: Four Some + filtered_name: Four Some + real: false + image: null + - id: 69 + name: Front Line + filtered_name: Front Line + real: false + image: null + - id: 47 + name: Khara + filtered_name: Khara + real: false + image: /system/studios/original/47.jpg?1311292710 + - id: 2814 + name: Image Studio 109 + filtered_name: Image Studio 109 + real: false + image: null + - id: 2809 + name: PHANTOM + filtered_name: PHANTOM + real: false + image: null + - id: 2818 + name: qmotri + filtered_name: qmotri + real: false + image: null + - id: 2878 + name: Khaki + filtered_name: Khaki + real: false + image: null + - id: 2881 + name: Andraft + filtered_name: Andraft + real: false + image: null + - id: 2882 + name: THREE IS A MAGIC NUMBER + filtered_name: THREE IS A MAGIC NUMBER + real: false + image: null + - id: 1938 + name: Polygon Magic + filtered_name: Polygon Magic + real: false + image: null + - id: 71 + name: Mellow Head + filtered_name: Mellow Head + real: false + image: /system/studios/original/71.jpg?1311292711 + - id: 65 + name: Tokyo Movie Shinsha + filtered_name: Tokyo Movie Shinsha + real: true + image: /system/studios/original/65.?1521917245 + - id: 2436 + name: Frontier One + filtered_name: Frontier One + real: false + image: null + - id: 70 + name: Nomad + filtered_name: Nomad + real: true + image: /system/studios/original/70.jpg?1311292712 + - id: 2178 + name: Tecarat + filtered_name: Tecarat + real: false + image: null + - id: 80 + name: Trans Arts + filtered_name: Trans Arts + real: false + image: /system/studios/original/80.jpg?1312165045 + - id: 127 + name: Yomiko Advertising + filtered_name: Yomiko Advertising + real: false + image: /system/studios/original/127.jpg?1311292710 + - id: 129 + name: Silky’ s + filtered_name: Silky’ s + real: false + image: null + - id: 130 + name: CherryLips + filtered_name: CherryLips + real: false + image: null + - id: 131 + name: G&G Entertainment + filtered_name: G&G + real: false + image: /system/studios/original/131.png?1311292713 + - id: 557 + name: Zyc + filtered_name: Zyc + real: false + image: null + - id: 82 + name: Marvelous Entertainment + filtered_name: Marvelous + real: false + image: /system/studios/original/82.gif?1311292714 + - id: 83 + name: AIC Spirits + filtered_name: AIC Spirits + real: false + image: /system/studios/original/83.jpg?1311292710 + - id: 85 + name: Konami + filtered_name: Konami + real: false + image: /system/studios/original/85.png?1311292712 + - id: 89 + name: BeSTACK + filtered_name: BeSTACK + real: false + image: /system/studios/original/89.jpg?1311292713 + - id: 92 + name: Starchild Records + filtered_name: Starchild Records + real: false + image: /system/studios/original/92.jpg?1312165050 + - id: 93 + name: Studio Flag + filtered_name: Flag + real: false + image: null + - id: 2395 + name: J.C.F. + filtered_name: J.C.F. + real: false + image: null + - id: 91 + name: feel. + filtered_name: feel. + real: true + image: /system/studios/original/91.png?1350322172 + - id: 2191 + name: BUILD DREAM + filtered_name: BUILD DREAM + real: false + image: null + - id: 100 + name: TV Osaka + filtered_name: TV Osaka + real: false + image: /system/studios/original/100.png?1311292713 + - id: 97 + name: ADV Films + filtered_name: ADV Films + real: false + image: /system/studios/original/97.png?1589819349 + - id: 98 + name: Sav! The World Productions + filtered_name: Sav! The World + real: false + image: /system/studios/original/98.png?1589819322 + - id: 104 + name: Lantis + filtered_name: Lantis + real: false + image: /system/studios/original/104.png?1311292713 + - id: 107 + name: Plum + filtered_name: Plum + real: false + image: null + - id: 108 + name: Media Factory + filtered_name: Media Factory + real: false + image: /system/studios/original/108.jpg?1311292711 + - id: 320 + name: 'Maru Production ' + filtered_name: 'Maru Production ' + real: false + image: null + - id: 88 + name: AIC ASTA + filtered_name: AIC ASTA + real: false + image: /system/studios/original/88.png?1589819301 + - id: 3143 + name: ETERNA Animation + filtered_name: ETERNA + real: false + image: null + - id: 102 + name: FUNimation Entertainment + filtered_name: FUNimation + real: false + image: /system/studios/original/102.png?1602436357 + - id: 2193 + name: ORENDA + filtered_name: ORENDA + real: false + image: null + - id: 2397 + name: Pink Cat + filtered_name: Pink Cat + real: false + image: null + - id: 321 + name: Kitty Media + filtered_name: Kitty Media + real: false + image: null + - id: 2721 + name: NHK Art + filtered_name: NHK Art + real: false + image: null + - id: 109 + name: Shochiku + filtered_name: Shochiku + real: false + image: /system/studios/original/109.gif?1311292713 + - id: 114 + name: Studio Matrix + filtered_name: Matrix + real: false + image: null + - id: 116 + name: Broccoli + filtered_name: Broccoli + real: false + image: /system/studios/original/116.png?1311292713 + - id: 117 + name: Studio Izena + filtered_name: Izena + real: false + image: /system/studios/original/117.jpg?1311292710 + - id: 51 + name: Diomedéa + filtered_name: Diomedéa + real: true + image: /system/studios/original/51.?1434707974 + - id: 121 + name: Active + filtered_name: Active + real: false + image: /system/studios/original/121.gif?1311292712 + - id: 122 + name: Tokyo Kids + filtered_name: Tokyo Kids + real: false + image: /system/studios/original/122.jpg?1311292713 + - id: 123 + name: Victor Entertainment + filtered_name: Victor + real: false + image: /system/studios/original/123.gif?1311292711 + - id: 124 + name: Animac + filtered_name: Animac + real: false + image: /system/studios/original/124.jpg?1311292710 + - id: 125 + name: Pioneer Entertainment (USA) + filtered_name: Pioneer Entertainment (USA) + real: false + image: null + - id: 160 + name: Rondo Robe + filtered_name: Rondo Robe + real: false + image: /system/studios/original/160.gif?1311292710 + - id: 133 + name: Shinyusha + filtered_name: Shinyusha + real: false + image: null + - id: 96 + name: Yumeta Company + filtered_name: Yumeta Company + real: true + image: /system/studios/original/96.png?1589819393 + - id: 135 + name: MediaNet + filtered_name: MediaNet + real: false + image: /system/studios/original/135.jpg?1312165068 + - id: 136 + name: Vega Entertainment + filtered_name: Vega + real: false + image: /system/studios/original/136.jpg?1311292712 + - id: 137 + name: PPM + filtered_name: PPM + real: false + image: null + - id: 138 + name: Himajin Planning + filtered_name: Himajin Planning + real: false + image: null + - id: 141 + name: Toei Video + filtered_name: Toei Video + real: false + image: null + - id: 142 + name: Asatsu DK + filtered_name: Asatsu DK + real: false + image: null + - id: 143 + name: Mainichi Broadcasting + filtered_name: Mainichi Broadcasting + real: false + image: null + - id: 145 + name: TBS + filtered_name: TBS + real: false + image: /system/studios/original/145.png?1311292711 + - id: 146 + name: CBC + filtered_name: CBC + real: false + image: null + - id: 2407 + name: Flying Ship Studio + filtered_name: Flying Ship + real: false + image: null + - id: 2722 + name: Studio Fusion + filtered_name: Fusion + real: false + image: null + - id: 140 + name: Animax + filtered_name: Animax + real: true + image: /system/studios/original/140.png?1311292711 + - id: 147 + name: SKY Perfect Well Think + filtered_name: SKY Perfect Well Think + real: false + image: /system/studios/original/147.gif?1312164965 + - id: 148 + name: Hakunensha + filtered_name: Hakunensha + real: false + image: null + - id: 149 + name: SME Visual Works + filtered_name: SME Visual Works + real: false + image: null + - id: 152 + name: Green Bunny + filtered_name: Green Bunny + real: false + image: /system/studios/original/152.png?1312165080 + - id: 153 + name: SoftX + filtered_name: SoftX + real: false + image: null + - id: 156 + name: Polygram Japan + filtered_name: Polygram Japan + real: false + image: null + - id: 157 + name: BMG Japan + filtered_name: BMG Japan + real: false + image: null + - id: 158 + name: KIDS STATION + filtered_name: KIDS STATION + real: false + image: /system/studios/original/158.gif?1311292714 + - id: 159 + name: Kodansha + filtered_name: Kodansha + real: false + image: /system/studios/original/159.gif?1311292710 + - id: 161 + name: Sogo Vision + filtered_name: Sogo Vision + real: false + image: null + - id: 167 + name: Sega + filtered_name: Sega + real: false + image: /system/studios/original/167.png?1311292711 + - id: 168 + name: Shelty + filtered_name: Shelty + real: false + image: null + - id: 155 + name: animate Film + filtered_name: animate Film + real: false + image: /system/studios/original/155.jpg?1311292713 + - id: 2409 + name: Amineworks + filtered_name: Amineworks + real: false + image: null + - id: 169 + name: Fuji TV + filtered_name: Fuji TV + real: false + image: /system/studios/original/169.gif?1311292710 + - id: 170 + name: Imagica + filtered_name: Imagica + real: false + image: /system/studios/original/170.png?1311292713 + - id: 172 + name: Alchemist + filtered_name: Alchemist + real: false + image: /system/studios/original/172.gif?1312165043 + - id: 171 + name: A-Line + filtered_name: A-Line + real: false + image: null + - id: 2194 + name: Yi Chen Animation + filtered_name: Yi Chen + real: false + image: null + - id: 2195 + name: PONOS Corporation + filtered_name: PONOS Corporation + real: false + image: null + - id: 2196 + name: Studio DURIAN + filtered_name: DURIAN + real: false + image: null + - id: 166 + name: Movic + filtered_name: Movic + real: false + image: /system/studios/original/166.jpg?1311292713 + - id: 2437 + name: Infinity Vision + filtered_name: Infinity Vision + real: false + image: null + - id: 2439 + name: Chosen + filtered_name: Chosen + real: false + image: null + - id: 2455 + name: East Fish Studio + filtered_name: East Fish + real: false + image: null + - id: 2527 + name: Liber + filtered_name: Liber + real: false + image: null + - id: 173 + name: Alice Soft + filtered_name: Alice Soft + real: false + image: /system/studios/original/173.gif?1311292710 + - id: 150 + name: Sanrio + filtered_name: Sanrio + real: true + image: /system/studios/original/150.png?1539693669 + - id: 2198 + name: Irawias + filtered_name: Irawias + real: false + image: null + - id: 176 + name: Ginga Ya + filtered_name: Ginga Ya + real: false + image: null + - id: 177 + name: Studio Kyuuma + filtered_name: Kyuuma + real: false + image: null + - id: 178 + name: Trilogy Future Studio + filtered_name: Trilogy Future + real: false + image: /system/studios/original/178.png?1311292713 + - id: 182 + name: Age + filtered_name: Age + real: false + image: /system/studios/original/182.gif?1311292713 + - id: 183 + name: Agent 21 + filtered_name: Agent 21 + real: false + image: null + - id: 184 + name: Ai ga areba Daijobu + filtered_name: Ai ga areba Daijobu + real: false + image: /system/studios/original/184.png?1311292710 + - id: 185 + name: Aiko + filtered_name: Aiko + real: false + image: null + - id: 186 + name: Ail + filtered_name: Ail + real: false + image: /system/studios/original/186.gif?1311292714 + - id: 189 + name: GEN Productions + filtered_name: GEN + real: false + image: null + - id: 190 + name: RCC Chugoku Broadcasting + filtered_name: RCC Chugoku Broadcasting + real: false + image: null + - id: 192 + name: Shinkuukan + filtered_name: Shinkuukan + real: false + image: null + - id: 193 + name: Idea Factory + filtered_name: Idea Factory + real: false + image: /system/studios/original/193.png?1311292710 + - id: 194 + name: ANIK + filtered_name: ANIK + real: false + image: /system/studios/original/194.jpg?1311292714 + - id: 197 + name: Studio Junior + filtered_name: Junior + real: false + image: null + - id: 198 + name: Gakken + filtered_name: Gakken + real: false + image: /system/studios/original/198.jpg?1312165013 + - id: 203 + name: Visual Art’s + filtered_name: Visual Art’s + real: false + image: null + - id: 204 + name: PIONEER LDC + filtered_name: PIONEER LDC + real: false + image: null + - id: 205 + name: Nihon Ad Systems + filtered_name: Nihon Ad Systems + real: false + image: null + - id: 206 + name: Digital Works + filtered_name: Digital Works + real: false + image: null + - id: 208 + name: Three Fat Samurai + filtered_name: Three Fat Samurai + real: false + image: /system/studios/original/208.png?1311292711 + - id: 209 + name: Sol Blade + filtered_name: Sol Blade + real: false + image: null + - id: 210 + name: Studio Tulip + filtered_name: Tulip + real: false + image: /system/studios/original/210.gif?1311292710 + - id: 211 + name: Rakuonsha + filtered_name: Rakuonsha + real: false + image: null + - id: 212 + name: Venus Vangard + filtered_name: Venus Vangard + real: false + image: null + - id: 213 + name: Half H.P Studio + filtered_name: Half H.P + real: false + image: null + - id: 214 + name: BS-i + filtered_name: BS-i + real: false + image: null + - id: 3219 + name: Nyan Pollution + filtered_name: Nyan Pollution + real: false + image: null + - id: 217 + name: The Right Stuf International + filtered_name: The Right Stuf International + real: false + image: null + - id: 191 + name: Eiken + filtered_name: Eiken + real: true + image: /system/studios/original/191.jpg?1311292712 + - id: 2412 + name: FUNNY MOVIE + filtered_name: FUNNY MOVIE + real: false + image: null + - id: 222 + name: Jade Animation + filtered_name: Jade + real: false + image: null + - id: 224 + name: Toshiba EMI + filtered_name: Toshiba EMI + real: false + image: null + - id: 226 + name: Panmedia + filtered_name: Panmedia + real: false + image: /system/studios/original/226.png?1311292713 + - id: 229 + name: The Answer Studio + filtered_name: The Answer + real: false + image: /system/studios/original/229.jpg?1312165081 + - id: 271 + name: Barnum Studio + filtered_name: Barnum + real: false + image: null + - id: 272 + name: Studio Kajino + filtered_name: Kajino + real: false + image: null + - id: 273 + name: Think Corporation + filtered_name: Think Corporation + real: false + image: null + - id: 394 + name: Misseri Studio + filtered_name: Misseri + real: false + image: null + - id: 276 + name: DLE + filtered_name: DLE + real: false + image: /system/studios/original/276.png?1647107706 + - id: 2490 + name: Studio Dolphin Night + filtered_name: Dolphin Night + real: false + image: null + - id: 2724 + name: Heart & Soul Animation + filtered_name: Heart & Soul + real: false + image: null + - id: 230 + name: Bandai + filtered_name: Bandai + real: false + image: /system/studios/original/230.jpg?1311292711 + - id: 231 + name: CyberConnect2 + filtered_name: CyberConnect2 + real: false + image: /system/studios/original/231.gif?1311292714 + - id: 233 + name: Bandai Entertainment + filtered_name: Bandai + real: false + image: /system/studios/original/233.gif?1311292711 + - id: 280 + name: Studio Junio + filtered_name: Junio + real: false + image: null + - id: 236 + name: YTV + filtered_name: YTV + real: false + image: null + - id: 238 + name: AT-X + filtered_name: AT-X + real: false + image: null + - id: 2580 + name: GUMBLAB + filtered_name: GUMBLAB + real: false + image: null + - id: 240 + name: Capcom + filtered_name: Capcom + real: false + image: /system/studios/original/240.jpg?1312165059 + - id: 241 + name: KOEI + filtered_name: KOEI + real: false + image: /system/studios/original/241.jpg?1311292712 + - id: 244 + name: D3 + filtered_name: D3 + real: false + image: null + - id: 246 + name: Visual 80 + filtered_name: Visual 80 + real: false + image: null + - id: 2201 + name: Studio Palette + filtered_name: Palette + real: false + image: null + - id: 250 + name: Media Blasters + filtered_name: Media Blasters + real: false + image: null + - id: 252 + name: 4Kids Entertainment + filtered_name: 4Kids + real: false + image: null + - id: 248 + name: Tin House + filtered_name: Tin House + real: true + image: null + - id: 253 + name: Rikuentai + filtered_name: Rikuentai + real: false + image: /system/studios/original/253.gif?1311292713 + - id: 254 + name: Soft Garage + filtered_name: Soft Garage + real: false + image: /system/studios/original/254.jpg?1312165053 + - id: 3226 + name: Studio Chromato + filtered_name: Chromato + real: false + image: null + - id: 256 + name: Studio Kikan + filtered_name: Kikan + real: false + image: null + - id: 257 + name: Jam + filtered_name: Jam + real: false + image: /system/studios/original/257.png?1311292709 + - id: 2204 + name: OZ + filtered_name: OZ + real: false + image: null + - id: 259 + name: Kaeruotoko Shokai + filtered_name: Kaeruotoko Shokai + real: false + image: null + - id: 260 + name: Shuuhei Morita + filtered_name: Shuuhei Morita + real: false + image: null + - id: 261 + name: San-X + filtered_name: San-X + real: false + image: null + - id: 262 + name: Kadokawa Pictures USA + filtered_name: Kadokawa Pictures USA + real: false + image: null + - id: 265 + name: Valkyria + filtered_name: Valkyria + real: false + image: /system/studios/original/265.jpg?1311292713 + - id: 281 + name: Kokusai Eigasha + filtered_name: Kokusai Eigasha + real: false + image: null + - id: 245 + name: Toho + filtered_name: Toho + real: false + image: null + - id: 2205 + name: Studio Kafka + filtered_name: Kafka + real: false + image: null + - id: 2207 + name: Poly Animation + filtered_name: Poly + real: false + image: null + - id: 2208 + name: Taikong Works + filtered_name: Taikong Works + real: false + image: null + - id: 266 + name: Natural High + filtered_name: Natural High + real: false + image: null + - id: 2883 + name: Atelier Tuki + filtered_name: Atelier Tuki + real: false + image: null + - id: 268 + name: Hot Bear + filtered_name: Hot Bear + real: false + image: /system/studios/original/268.jpg?1312165052 + - id: 269 + name: DiC Entertainment + filtered_name: DiC + real: false + image: null + - id: 2526 + name: Shenman Entertainment + filtered_name: Shenman + real: false + image: null + - id: 2535 + name: Uguisu Kobo + filtered_name: Uguisu Kobo + real: false + image: null + - id: 2696 + name: 100studio + filtered_name: 100studio + real: false + image: null + - id: 2157 + name: Production +h. + filtered_name: Production +h. + real: false + image: /system/studios/original/2157.png?1647107719 + - id: 275 + name: Kojiro Shishido Animation Works + filtered_name: Kojiro Shishido Animation Works + real: false + image: null + - id: 277 + name: Anime Midstream + filtered_name: Anime Midstream + real: false + image: null + - id: 2438 + name: yell + filtered_name: yell + real: false + image: null + - id: 279 + name: Skouras + filtered_name: Skouras + real: false + image: null + - id: 282 + name: Gentosha Comics + filtered_name: Gentosha Comics + real: false + image: null + - id: 283 + name: KENMedia + filtered_name: KENMedia + real: false + image: null + - id: 284 + name: Central Park Media + filtered_name: Central Park Media + real: false + image: null + - id: 292 + name: AIC PLUS+ + filtered_name: AIC PLUS+ + real: false + image: null + - id: 289 + name: ACiD FiLM + filtered_name: ACiD FiLM + real: false + image: null + - id: 290 + name: Kinema Citrus + filtered_name: Kinema Citrus + real: false + image: /system/studios/original/290.?1450691180 + - id: 293 + name: Picograph + filtered_name: Picograph + real: false + image: null + - id: 294 + name: Discovery + filtered_name: Discovery + real: false + image: /system/studios/original/294.gif?1311292712 + - id: 295 + name: BaseSon + filtered_name: BaseSon + real: false + image: /system/studios/original/295.jpg?1311292709 + - id: 296 + name: Critical Mass + filtered_name: Critical Mass + real: false + image: null + - id: 297 + name: Armor + filtered_name: Armor + real: false + image: null + - id: 299 + name: Studio Pastoral + filtered_name: Pastoral + real: false + image: /system/studios/original/299.gif?1311292711 + - id: 301 + name: Langmaor + filtered_name: Langmaor + real: false + image: null + - id: 302 + name: 'GODxDOG Production ' + filtered_name: 'GODxDOG Production ' + real: false + image: null + - id: 304 + name: Primastea + filtered_name: Primastea + real: false + image: null + - id: 306 + name: Magic Capsule + filtered_name: Magic Capsule + real: false + image: null + - id: 308 + name: Yellow Film + filtered_name: Yellow Film + real: false + image: null + - id: 310 + name: Animeigo + filtered_name: Animeigo + real: false + image: null + - id: 311 + name: Enoki Films + filtered_name: Enoki Films + real: false + image: null + - id: 2591 + name: Studio Pivote + filtered_name: Pivote + real: false + image: null + - id: 313 + name: Omnibus Japan + filtered_name: Omnibus Japan + real: false + image: /system/studios/original/313.jpg?1311292713 + - id: 316 + name: Nippon Shuppan Hanbai (Nippan) K.K. + filtered_name: Nippon Shuppan Hanbai (Nippan) K.K. + real: false + image: null + - id: 317 + name: NHK Enterprises + filtered_name: NHK Enterprises + real: false + image: null + - id: 319 + name: MS Pictures + filtered_name: MS Pictures + real: false + image: /system/studios/original/319.gif?1312165042 + - id: 323 + name: Nippon Columbia + filtered_name: Nippon Columbia + real: false + image: null + - id: 326 + name: Animation 21 + filtered_name: '21' + real: false + image: null + - id: 327 + name: Takara + filtered_name: Takara + real: false + image: /system/studios/original/327.jpg?1311292711 + - id: 315 + name: DAX Production + filtered_name: DAX + real: false + image: /system/studios/original/315.jpg?1363542744 + - id: 267 + name: Five Ways + filtered_name: Five Ways + real: false + image: /system/studios/original/267.jpg?1311292713 + - id: 328 + name: Casio Entertainment + filtered_name: Casio + real: false + image: /system/studios/original/328.gif?1311292710 + - id: 330 + name: Kanaban Graphics + filtered_name: Kanaban Graphics + real: false + image: null + - id: 332 + name: Takeshobo + filtered_name: Takeshobo + real: false + image: null + - id: 335 + name: Seta Corporation + filtered_name: Seta Corporation + real: false + image: null + - id: 338 + name: Studio Bogey + filtered_name: Bogey + real: false + image: null + - id: 339 + name: Rankin/Bass + filtered_name: Rankin/Bass + real: false + image: null + - id: 341 + name: SamBakZa + filtered_name: SamBakZa + real: false + image: null + - id: 343 + name: Puzzle Animation Studio Limited + filtered_name: Puzzle Animation Studio Limited + real: false + image: null + - id: 346 + name: Hoods Entertainment + filtered_name: Hoods + real: true + image: /system/studios/original/346.png?1369062564 + - id: 2885 + name: Group Creato + filtered_name: Group Creato + real: false + image: null + - id: 1301 + name: CCTV Animation Group + filtered_name: CCTV Animation Group + real: false + image: null + - id: 392 + name: Enterbrain + filtered_name: Enterbrain + real: false + image: /system/studios/original/392.png?1312165048 + - id: 393 + name: Epoch + filtered_name: Epoch + real: false + image: null + - id: 344 + name: ATLUS + filtered_name: ATLUS + real: false + image: /system/studios/original/344.jpg?1311292711 + - id: 345 + name: TAKI Corporation + filtered_name: TAKI Corporation + real: false + image: null + - id: 347 + name: PrimeTime + filtered_name: PrimeTime + real: false + image: null + - id: 348 + name: Kawamoto Productions Ltd. + filtered_name: Kawamoto Productions Ltd. + real: false + image: null + - id: 349 + name: Itasca Studio + filtered_name: Itasca + real: false + image: null + - id: 350 + name: The Village of Marchen + filtered_name: The Village of Marchen + real: false + image: null + - id: 351 + name: Big West + filtered_name: Big West + real: false + image: null + - id: 352 + name: Kadokawa Pictures Japan + filtered_name: Kadokawa Pictures Japan + real: false + image: null + - id: 353 + name: Chungeorahm Film + filtered_name: Chungeorahm Film + real: false + image: null + - id: 354 + name: Encourage Films + filtered_name: Encourage Films + real: false + image: /system/studios/original/354.png?1312165070 + - id: 356 + name: Cranberry + filtered_name: Cranberry + real: false + image: null + - id: 357 + name: Innocent Grey + filtered_name: Innocent Grey + real: false + image: /system/studios/original/357.jpg?1311292714 + - id: 359 + name: NHK-BS2 + filtered_name: NHK-BS2 + real: false + image: null + - id: 361 + name: Oxybot + filtered_name: Oxybot + real: false + image: null + - id: 362 + name: Film Workshop + filtered_name: Film Workshop + real: false + image: null + - id: 363 + name: Topcraft + filtered_name: Topcraft + real: false + image: null + - id: 364 + name: Sovat Theater + filtered_name: Sovat Theater + real: false + image: null + - id: 365 + name: PoRO + filtered_name: PoRO + real: false + image: /system/studios/original/365.jpg?1311292711 + - id: 366 + name: Tomoyasu Murata Company + filtered_name: Tomoyasu Murata Company + real: false + image: null + - id: 367 + name: Heewon Entertainment + filtered_name: Heewon + real: false + image: /system/studios/original/367.png?1311292711 + - id: 368 + name: UM Productions + filtered_name: UM + real: false + image: null + - id: 370 + name: Iyasakadou Film + filtered_name: Iyasakadou Film + real: false + image: null + - id: 371 + name: Union Cho + filtered_name: Union Cho + real: false + image: null + - id: 375 + name: I.Toon + filtered_name: I.Toon + real: false + image: null + - id: 376 + name: Sentai Filmworks + filtered_name: Sentai Filmworks + real: false + image: null + - id: 2134 + name: Studio CANDY BOX + filtered_name: CANDY BOX + real: false + image: null + - id: 378 + name: Grasshoppa! + filtered_name: Grasshoppa! + real: false + image: null + - id: 379 + name: Avaco Creative Studios + filtered_name: Avaco Creative + real: false + image: /system/studios/original/379.jpg?1311292713 + - id: 380 + name: Amuse Pictures + filtered_name: Amuse Pictures + real: false + image: null + - id: 381 + name: Yamato Works + filtered_name: Yamato Works + real: false + image: null + - id: 382 + name: Tokuma Shoten + filtered_name: Tokuma Shoten + real: false + image: null + - id: 383 + name: KMMJ Studios + filtered_name: KMMJ + real: false + image: null + - id: 384 + name: Trick Block + filtered_name: Trick Block + real: false + image: null + - id: 331 + name: Indeprox + filtered_name: Indeprox + real: false + image: null + - id: 340 + name: Future Planet + filtered_name: Future Planet + real: false + image: null + - id: 386 + name: Animaruya + filtered_name: Animaruya + real: false + image: null + - id: 387 + name: Blue Eyes + filtered_name: Blue Eyes + real: false + image: /system/studios/original/387.jpg?1311292712 + - id: 388 + name: Tamura Shigeru Studio + filtered_name: Tamura Shigeru + real: false + image: null + - id: 389 + name: I-move + filtered_name: I-move + real: false + image: /system/studios/original/389.jpg?1311292713 + - id: 390 + name: Tsuchida Productions + filtered_name: Tsuchida + real: false + image: null + - id: 391 + name: Grouper Productions + filtered_name: Grouper + real: false + image: null + - id: 396 + name: Asia-Do + filtered_name: Asia-Do + real: false + image: null + - id: 398 + name: Milky Cartoon + filtered_name: Milky Cartoon + real: false + image: null + - id: 399 + name: Dream Force + filtered_name: Dream Force + real: false + image: null + - id: 401 + name: ChuChu + filtered_name: ChuChu + real: false + image: /system/studios/original/401.png?1311292712 + - id: 402 + name: ChiChinoya + filtered_name: ChiChinoya + real: false + image: /system/studios/original/402.?1370373702 + - id: 403 + name: Tokyo Media Connections + filtered_name: Tokyo Media Connections + real: false + image: null + - id: 404 + name: Studio Unicorn + filtered_name: Unicorn + real: false + image: null + - id: 405 + name: T-Rex + filtered_name: T-Rex + real: false + image: null + - id: 408 + name: Amino + filtered_name: Amino + real: false + image: null + - id: 409 + name: Studio Egg + filtered_name: Egg + real: false + image: null + - id: 410 + name: Adult Source Media + filtered_name: Adult Source Media + real: false + image: null + - id: 411 + name: KBS + filtered_name: KBS + real: false + image: null + - id: 412 + name: Studio Wombat + filtered_name: Wombat + real: false + image: null + - id: 413 + name: Pastel + filtered_name: Pastel + real: false + image: null + - id: 414 + name: Lemon Heart + filtered_name: Lemon Heart + real: false + image: null + - id: 415 + name: Warner Bros. + filtered_name: Warner Bros. + real: false + image: null + - id: 416 + name: TAP + filtered_name: TAP + real: false + image: /system/studios/original/416.jpg?1311292710 + - id: 2413 + name: AION Studio + filtered_name: AION + real: false + image: null + - id: 373 + name: Panda Factory + filtered_name: Panda Factory + real: false + image: null + - id: 358 + name: Telescreen + filtered_name: Telescreen + real: false + image: null + - id: 559 + name: Purple Cow Studio Japan + filtered_name: Purple Cow Studio Japan + real: false + image: null + - id: 419 + name: ElectromagneticWave + filtered_name: ElectromagneticWave + real: false + image: null + - id: 420 + name: ACC Production + filtered_name: ACC + real: false + image: null + - id: 421 + name: International Digital Artist Inc. + filtered_name: International Digital Artist Inc. + real: false + image: null + - id: 422 + name: Schoolzone + filtered_name: Schoolzone + real: false + image: /system/studios/original/422.jpg?1311292713 + - id: 423 + name: Studio Eromatick + filtered_name: Eromatick + real: false + image: null + - id: 424 + name: Mary Jane + filtered_name: Mary Jane + real: false + image: /system/studios/original/424.jpg?1311292712 + - id: 425 + name: AIC Takarazuka + filtered_name: AIC Takarazuka + real: false + image: /system/studios/original/425.jpg?1311292709 + - id: 426 + name: Filmlink International + filtered_name: Filmlink International + real: false + image: null + - id: 427 + name: Studio G-1Neo + filtered_name: G-1Neo + real: false + image: /system/studios/original/427.jpg?1312165046 + - id: 428 + name: Nichiei Agency + filtered_name: Nichiei Agency + real: false + image: null + - id: 429 + name: Office AO + filtered_name: Office AO + real: false + image: /system/studios/original/429.png?1311292712 + - id: 430 + name: Mad Box + filtered_name: Mad Box + real: false + image: /system/studios/original/430.gif?1311292712 + - id: 431 + name: Procidis + filtered_name: Procidis + real: false + image: null + - id: 432 + name: Kachidoki Studio + filtered_name: Kachidoki + real: false + image: null + - id: 434 + name: Synergy Japan + filtered_name: Synergy Japan + real: false + image: null + - id: 2414 + name: MontBlanc Pictures + filtered_name: MontBlanc Pictures + real: false + image: null + - id: 418 + name: Studio Gokumi + filtered_name: Gokumi + real: true + image: /system/studios/original/418.jpg?1311292712 + - id: 435 + name: Studio Zero + filtered_name: Zero + real: false + image: null + - id: 436 + name: AIC Build + filtered_name: AIC Build + real: false + image: null + - id: 2819 + name: soket + filtered_name: soket + real: false + image: null + - id: 438 + name: Studio Signal + filtered_name: Signal + real: false + image: null + - id: 440 + name: Studio Kuma + filtered_name: Kuma + real: false + image: null + - id: 3116 + name: ame pippin + filtered_name: ame pippin + real: false + image: null + - id: 442 + name: Minami Machi Bugyousho + filtered_name: Minami Machi Bugyousho + real: false + image: /system/studios/original/442.jpg?1311292713 + - id: 444 + name: Jinnis Animation Studios + filtered_name: Jinnis Animation + real: false + image: null + - id: 445 + name: Bliss Pictures + filtered_name: Bliss Pictures + real: false + image: null + - id: 446 + name: RTHK + filtered_name: RTHK + real: false + image: null + - id: 447 + name: Hero Communication + filtered_name: Hero Communication + real: false + image: null + - id: 448 + name: Postgal Workshop + filtered_name: Postgal Workshop + real: false + image: null + - id: 449 + name: Maikaze + filtered_name: Maikaze + real: false + image: null + - id: 501 + name: Miramax Films + filtered_name: Miramax Films + real: false + image: null + - id: 2415 + name: HuaMei Animation + filtered_name: HuaMei + real: false + image: null + - id: 2417 + name: TiMi Studio Group + filtered_name: TiMi Studio Group + real: false + image: null + - id: 451 + name: Cookie Jar Entertainment + filtered_name: Cookie Jar + real: false + image: null + - id: 457 + name: Venet + filtered_name: Venet + real: false + image: null + - id: 458 + name: Beijing Sharaku Art Co. + filtered_name: Beijing Sharaku Art Co. + real: false + image: null + - id: 561 + name: U/M/A/A Inc. + filtered_name: U/M/A/A Inc. + real: false + image: null + - id: 563 + name: LandQ studios + filtered_name: LandQ + real: false + image: null + - id: 459 + name: Nitroplus + filtered_name: Nitroplus + real: false + image: /system/studios/original/459.gif?1311292712 + - id: 460 + name: The Klock Worx + filtered_name: The Klock Worx + real: false + image: /system/studios/original/460.jpg?1378062144 + - id: 461 + name: OLE-M + filtered_name: OLE-M + real: false + image: null + - id: 462 + name: Chaos Project + filtered_name: Chaos Project + real: false + image: null + - id: 463 + name: M.S.C + filtered_name: M.S.C + real: false + image: /system/studios/original/463.jpg?1311292714 + - id: 464 + name: flying DOG + filtered_name: flying DOG + real: false + image: /system/studios/original/464.jpg?1311292712 + - id: 465 + name: Hasbro + filtered_name: Hasbro + real: false + image: null + - id: 466 + name: Digital Media Lab + filtered_name: Digital Media Lab + real: false + image: /system/studios/original/466.jpg?1311292714 + - id: 467 + name: Discotek + filtered_name: Discotek + real: false + image: null + - id: 468 + name: Nihon Falcom + filtered_name: Nihon Falcom + real: false + image: /system/studios/original/468.gif?1311292713 + - id: 469 + name: ING + filtered_name: ING + real: false + image: null + - id: 437 + name: Kamikaze Douga + filtered_name: Kamikaze Douga + real: true + image: /system/studios/original/437.?1521917123 + - id: 439 + name: Project No.9 + filtered_name: Project No.9 + real: true + image: /system/studios/original/439.png?1500210282 + - id: 470 + name: GAGA Communications + filtered_name: GAGA Communications + real: false + image: /system/studios/original/470.jpg?1312165074 + - id: 473 + name: Ascension + filtered_name: Ascension + real: false + image: null + - id: 474 + name: Shogakukan Music & Digital Entertainment + filtered_name: Shogakukan Music & Digital + real: false + image: /system/studios/original/474.jpg?1312165067 + - id: 475 + name: Ishikawa Pro + filtered_name: Ishikawa Pro + real: false + image: null + - id: 476 + name: The Berich + filtered_name: The Berich + real: false + image: null + - id: 477 + name: Kino Production + filtered_name: Kino + real: false + image: /system/studios/original/477.jpg?1311292712 + - id: 2453 + name: Kusama Art + filtered_name: Kusama Art + real: false + image: null + - id: 479 + name: DOGA Productions + filtered_name: DOGA + real: false + image: null + - id: 480 + name: Tokyo TV + filtered_name: Tokyo TV + real: false + image: null + - id: 481 + name: Office Take Off + filtered_name: Office Take Off + real: false + image: null + - id: 482 + name: Automatic Flowers Studio + filtered_name: Automatic Flowers + real: false + image: null + - id: 483 + name: Marvel Entertainment + filtered_name: Marvel + real: false + image: null + - id: 484 + name: TOKYOPOP + filtered_name: TOKYOPOP + real: false + image: null + - id: 485 + name: Shinwon Productions + filtered_name: Shinwon + real: false + image: null + - id: 487 + name: Studio MWP + filtered_name: MWP + real: false + image: null + - id: 488 + name: Anchor Bay Films + filtered_name: Anchor Bay Films + real: false + image: null + - id: 489 + name: TCJ + filtered_name: TCJ + real: false + image: null + - id: 490 + name: Maiden Japan + filtered_name: Maiden Japan + real: false + image: null + - id: 491 + name: Byakuya Shobo + filtered_name: Byakuya Shobo + real: false + image: null + - id: 492 + name: Horannabi + filtered_name: Horannabi + real: false + image: null + - id: 493 + name: Aniplex of America + filtered_name: Aniplex of America + real: false + image: null + - id: 494 + name: Studio Take Off + filtered_name: Take Off + real: false + image: null + - id: 495 + name: Moonstone Cherry + filtered_name: Moonstone Cherry + real: false + image: null + - id: 497 + name: Studio Gram + filtered_name: Gram + real: false + image: null + - id: 499 + name: The Pokemon Company International + filtered_name: The Pokemon Company International + real: false + image: null + - id: 2482 + name: Atti Production + filtered_name: Atti + real: false + image: null + - id: 2456 + name: team Yamahitsuji + filtered_name: team Yamahitsuji + real: false + image: null + - id: 471 + name: Shanghai Animation Film Studio + filtered_name: Shanghai Animation Film + real: false + image: /system/studios/original/471.png?1636032282 + - id: 2503 + name: 7doc + filtered_name: 7doc + real: false + image: null + - id: 2520 + name: Twilight Town + filtered_name: Twilight Town + real: false + image: null + - id: 2382 + name: J.T.P.P. + filtered_name: J.T.P.P. + real: false + image: null + - id: 2481 + name: Chimu Jika Hatsuden + filtered_name: Chimu Jika Hatsuden + real: false + image: null + - id: 2538 + name: Imagestone Inc. + filtered_name: Imagestone Inc. + real: false + image: null + - id: 453 + name: Tsuburaya Productions + filtered_name: Tsuburaya + real: false + image: null + - id: 505 + name: Nintendo of America + filtered_name: Nintendo of America + real: false + image: null + - id: 507 + name: Universal Studios + filtered_name: Universal + real: false + image: null + - id: 509 + name: Fuji Video + filtered_name: Fuji Video + real: false + image: null + - id: 511 + name: Wonder Kids + filtered_name: Wonder Kids + real: false + image: null + - id: 515 + name: Fairy Dust + filtered_name: Fairy Dust + real: false + image: null + - id: 519 + name: Collaboration Works + filtered_name: Collaboration Works + real: false + image: null + - id: 521 + name: Anpro + filtered_name: Anpro + real: false + image: null + - id: 523 + name: SBS TV Production + filtered_name: SBS TV + real: false + image: null + - id: 525 + name: KAGAYA Studio + filtered_name: KAGAYA + real: false + image: null + - id: 527 + name: Higa Brothers Production + filtered_name: Higa Brothers + real: false + image: null + - id: 529 + name: Lapis + filtered_name: Lapis + real: false + image: null + - id: 531 + name: Elevenarts + filtered_name: Elevenarts + real: false + image: null + - id: 533 + name: N&G Production + filtered_name: N&G + real: false + image: null + - id: 537 + name: SANZIGEN + filtered_name: SANZIGEN + real: false + image: /system/studios/original/537.?1369837212 + - id: 539 + name: Ultra Super Pictures + filtered_name: Ultra Super Pictures + real: false + image: /system/studios/original/539.jpg?1382873182 + - id: 2418 + name: Imagica Digitalscape + filtered_name: Imagica Digitalscape + real: false + image: null + - id: 543 + name: Studio Saki Makura + filtered_name: Saki Makura + real: false + image: null + - id: 545 + name: Studio Deva Loka + filtered_name: Deva Loka + real: false + image: null + - id: 547 + name: Hobby Japan + filtered_name: Hobby Japan + real: false + image: null + - id: 549 + name: StudioRF Inc. + filtered_name: StudioRF Inc. + real: false + image: null + - id: 551 + name: Crossphere + filtered_name: Crossphere + real: false + image: null + - id: 553 + name: Marvy Jack + filtered_name: Marvy Jack + real: false + image: null + - id: 2891 + name: A4A Inc. + filtered_name: A4A Inc. + real: false + image: null + - id: 571 + name: Obtain Future + filtered_name: Obtain Future + real: false + image: null + - id: 573 + name: JapanAnime + filtered_name: JapanAnime + real: false + image: null + - id: 575 + name: Katsudou-manga-kan + filtered_name: Katsudou-manga-kan + real: false + image: null + - id: 579 + name: AT-2 + filtered_name: AT-2 + real: false + image: null + - id: 2429 + name: STUDIO6'oN + filtered_name: STUDIO6'oN + real: false + image: null + - id: 583 + name: Annapuru + filtered_name: Annapuru + real: false + image: null + - id: 585 + name: Arplants + filtered_name: Arplants + real: false + image: null + - id: 2347 + name: IKK Room + filtered_name: IKK Room + real: false + image: null + - id: 589 + name: Academy Productions + filtered_name: Academy + real: false + image: null + - id: 591 + name: Romanov Films + filtered_name: Romanov Films + real: false + image: null + - id: 593 + name: Egg + filtered_name: Egg + real: false + image: null + - id: 595 + name: NYAV Post + filtered_name: NYAV Post + real: false + image: null + - id: 603 + name: CLOCKUP + filtered_name: CLOCKUP + real: false + image: null + - id: 605 + name: C2C + filtered_name: C2C + real: false + image: /system/studios/original/605.jpg?1389993046 + - id: 607 + name: RAMS + filtered_name: RAMS + real: false + image: null + - id: 611 + name: Sakura Production + filtered_name: Sakura + real: false + image: null + - id: 613 + name: Jormungand Production Partners + filtered_name: Jormungand Production Partners + real: false + image: null + - id: 615 + name: Dream Creation + filtered_name: Dream Creation + real: false + image: null + - id: 617 + name: Azumanga Daioh Production Committee + filtered_name: Azumanga Daioh Production Committee + real: false + image: null + - id: 619 + name: Cospa + filtered_name: Cospa + real: false + image: null + - id: 621 + name: SoftBank Creative Corp. + filtered_name: SoftBank Creative Corp. + real: false + image: null + - id: 623 + name: Kimi To Boku Production Partners + filtered_name: Kimi To Boku Production Partners + real: false + image: null + - id: 625 + name: H.O.T.D Production Committee + filtered_name: H.O.T.D Production Committee + real: false + image: null + - id: 627 + name: Madoka Partners + filtered_name: Madoka Partners + real: false + image: null + - id: 629 + name: Studio Sign + filtered_name: Sign + real: false + image: null + - id: 631 + name: Acchi Kocchi Production Committee + filtered_name: Acchi Kocchi Production Committee + real: false + image: null + - id: 633 + name: Tasogare Otome×Amnesia Production Partners + filtered_name: Tasogare Otome×Amnesia Production Partners + real: false + image: null + - id: 635 + name: Saki Achiga-hen Production Committee + filtered_name: Saki Achiga-hen Production Committee + real: false + image: null + - id: 637 + name: Möbius Tone + filtered_name: Möbius Tone + real: false + image: null + - id: 639 + name: Hiiro No Kakera Production Committee + filtered_name: Hiiro No Kakera Production Committee + real: false + image: null + - id: 641 + name: Japan Aerospace Exploration Agency + filtered_name: Japan Aerospace Exploration Agency + real: false + image: null + - id: 643 + name: Trinity Sound + filtered_name: Trinity Sound + real: false + image: null + - id: 645 + name: Audio Highs + filtered_name: Audio Highs + real: false + image: null + - id: 647 + name: Memory-Tech + filtered_name: Memory-Tech + real: false + image: null + - id: 649 + name: Hanokiwa Academy Student Council + filtered_name: Hanokiwa Academy Student Council + real: false + image: null + - id: 651 + name: Sengoku Collection Production Committee + filtered_name: Sengoku Collection Production Committee + real: false + image: null + - id: 653 + name: tsuritama partners + filtered_name: tsuritama partners + real: false + image: null + - id: 655 + name: Volks + filtered_name: Volks + real: false + image: null + - id: 657 + name: Lucky Paradise + filtered_name: Lucky Paradise + real: false + image: null + - id: 659 + name: AKB0048 Production Committee + filtered_name: AKB0048 Production Committee + real: false + image: null + - id: 661 + name: Right Gauge + filtered_name: Right Gauge + real: false + image: null + - id: 663 + name: Dwango Music Entertainment + filtered_name: Dwango Music + real: false + image: null + - id: 665 + name: chara-ani.com + filtered_name: chara-ani.com + real: false + image: null + - id: 667 + name: AC Create + filtered_name: AC Create + real: false + image: null + - id: 669 + name: My Melody Production Committee + filtered_name: My Melody Production Committee + real: false + image: null + - id: 675 + name: Yomiuri Advertising + filtered_name: Yomiuri Advertising + real: false + image: null + - id: 677 + name: Nexon + filtered_name: Nexon + real: false + image: null + - id: 681 + name: ASCII Media Works + filtered_name: ASCII Media Works + real: false + image: null + - id: 683 + name: Astarotte no Omocha! Production Committee + filtered_name: Astarotte no Omocha! Production Committee + real: false + image: null + - id: 685 + name: Kadokawa Contents Gate + filtered_name: Kadokawa Contents Gate + real: false + image: null + - id: 687 + name: Bandai Namco Live Creative + filtered_name: Bandai Namco Live Creative + real: false + image: null + - id: 689 + name: NTT Docomo + filtered_name: NTT Docomo + real: false + image: null + - id: 691 + name: 501st JOINT FIGHTER WING + filtered_name: 501st JOINT FIGHTER WING + real: false + image: null + - id: 693 + name: BS-TBS + filtered_name: BS-TBS + real: false + image: null + - id: 695 + name: Sankarea Production Committee + filtered_name: Sankarea Production Committee + real: false + image: null + - id: 2493 + name: Studio B&M + filtered_name: B&M + real: false + image: null + - id: 697 + name: Natsuiro Kiseki Production Partners + filtered_name: Natsuiro Kiseki Production Partners + real: false + image: null + - id: 699 + name: feng + filtered_name: feng + real: false + image: null + - id: 701 + name: seikaisha + filtered_name: seikaisha + real: false + image: null + - id: 703 + name: Notes + filtered_name: Notes + real: false + image: null + - id: 705 + name: Project Railgun + filtered_name: Project Railgun + real: false + image: null + - id: 707 + name: TMS-Kyokuchi + filtered_name: TMS-Kyokuchi + real: false + image: null + - id: 709 + name: PPP + filtered_name: PPP + real: false + image: null + - id: 711 + name: Delphi Sound + filtered_name: Delphi Sound + real: false + image: null + - id: 713 + name: 12 Diary Holders + filtered_name: 12 Diary Holders + real: false + image: null + - id: 715 + name: Dwango + filtered_name: Dwango + real: false + image: null + - id: 717 + name: TV Tokyo Music + filtered_name: TV Tokyo Music + real: false + image: null + - id: 719 + name: Studio Mausu + filtered_name: Mausu + real: false + image: null + - id: 721 + name: GANSIS + filtered_name: GANSIS + real: false + image: null + - id: 723 + name: Hotline + filtered_name: Hotline + real: false + image: null + - id: 725 + name: Hatsukoi Limited Production Committee + filtered_name: Hatsukoi Limited Production Committee + real: false + image: null + - id: 727 + name: Kiyosumi High School Mahjong Club + filtered_name: Kiyosumi High School Mahjong Club + real: false + image: null + - id: 729 + name: Raku High Student Council + filtered_name: Raku High Student Council + real: false + image: null + - id: 731 + name: Inu x Boku SS Production Partners + filtered_name: Inu x Boku SS Production Partners + real: false + image: null + - id: 733 + name: Viki + filtered_name: Viki + real: false + image: null + - id: 735 + name: Slowcurve + filtered_name: Slowcurve + real: false + image: null + - id: 737 + name: Sony Music Communications + filtered_name: Sony Music Communications + real: false + image: null + - id: 739 + name: Project IS + filtered_name: Project IS + real: false + image: null + - id: 741 + name: Toshiba Entertainment + filtered_name: Toshiba + real: false + image: null + - id: 743 + name: Project Eureka AO + filtered_name: Project Eureka AO + real: false + image: null + - id: 745 + name: Cosmic Ray + filtered_name: Cosmic Ray + real: false + image: null + - id: 747 + name: Apollon + filtered_name: Apollon + real: false + image: null + - id: 749 + name: Pony Canyon Enterprises + filtered_name: Pony Canyon Enterprises + real: false + image: null + - id: 751 + name: Marvelous AQL + filtered_name: Marvelous AQL + real: false + image: null + - id: 753 + name: PRA + filtered_name: PRA + real: false + image: null + - id: 757 + name: Sony Music Entertainment + filtered_name: Sony Music + real: false + image: null + - id: 759 + name: Eye Move + filtered_name: Eye Move + real: false + image: null + - id: 761 + name: Sunny Side Up + filtered_name: Sunny Side Up + real: false + image: null + - id: 763 + name: Miracle Robo + filtered_name: Miracle Robo + real: false + image: null + - id: 765 + name: Sakura Create + filtered_name: Sakura Create + real: false + image: null + - id: 767 + name: Majin + filtered_name: Majin + real: false + image: null + - id: 769 + name: Fuji Pacific Music Publishing + filtered_name: Fuji Pacific Music Publishing + real: false + image: null + - id: 771 + name: Kyokuichi Tokyo Movie Shinsha + filtered_name: Kyokuichi Tokyo Movie Shinsha + real: false + image: null + - id: 773 + name: Peter Pan Creation + filtered_name: Peter Pan Creation + real: false + image: null + - id: 775 + name: Bushiroad Inc. + filtered_name: Bushiroad Inc. + real: false + image: null + - id: 777 + name: Showgate + filtered_name: Showgate + real: false + image: null + - id: 779 + name: AMG MUSIC + filtered_name: AMG MUSIC + real: false + image: null + - id: 781 + name: Studio NOA + filtered_name: NOA + real: false + image: null + - id: 783 + name: GKids + filtered_name: GKids + real: false + image: null + - id: 785 + name: Advance Syakujii + filtered_name: Advance Syakujii + real: false + image: null + - id: 787 + name: Happinet Pictures + filtered_name: Happinet Pictures + real: false + image: null + - id: 789 + name: BIGLOBE + filtered_name: BIGLOBE + real: false + image: null + - id: 791 + name: Dentsu Entertainment USA + filtered_name: Dentsu Entertainment USA + real: false + image: null + - id: 793 + name: Glams + filtered_name: Glams + real: false + image: null + - id: 795 + name: Yahoo! Japan + filtered_name: Yahoo! Japan + real: false + image: null + - id: 797 + name: Hobunsha + filtered_name: Hobunsha + real: false + image: null + - id: 799 + name: indigo line + filtered_name: indigo line + real: false + image: null + - id: 2374 + name: Momoi Planning + filtered_name: Momoi Planning + real: false + image: null + - id: 805 + name: AIC Frontier + filtered_name: AIC Frontier + real: false + image: null + - id: 807 + name: Po10tial + filtered_name: Po10tial + real: false + image: null + - id: 811 + name: Hang Zhou StarQ + filtered_name: Hang Zhou StarQ + real: false + image: null + - id: 813 + name: SoftCel Pictures + filtered_name: SoftCel Pictures + real: false + image: null + - id: 815 + name: EMI + filtered_name: EMI + real: false + image: null + - id: 817 + name: WField + filtered_name: WField + real: false + image: null + - id: 819 + name: Next Media Animation + filtered_name: Next Media + real: false + image: null + - id: 821 + name: Cotton Doll + filtered_name: Cotton Doll + real: false + image: null + - id: 803 + name: Trigger + filtered_name: Trigger + real: true + image: /system/studios/original/803.png?1356241771 + - id: 823 + name: Lune Pictures + filtered_name: Lune Pictures + real: false + image: null + - id: 827 + name: Amber Film Works + filtered_name: Amber Film Works + real: false + image: null + - id: 755 + name: Jumondou + filtered_name: Jumondou + real: false + image: null + - id: 829 + name: Studio Jack + filtered_name: Jack + real: false + image: null + - id: 831 + name: Otogi Production + filtered_name: Otogi + real: false + image: null + - id: 833 + name: Kyotoma + filtered_name: Kyotoma + real: false + image: null + - id: 835 + name: UNLIMITED Partners + filtered_name: UNLIMITED Partners + real: false + image: null + - id: 837 + name: Saki Zenkoku-hen Production Committee + filtered_name: Saki Zenkoku-hen Production Committee + real: false + image: null + - id: 841 + name: Saban Entertainment + filtered_name: Saban + real: false + image: null + - id: 843 + name: BS Fuji + filtered_name: BS Fuji + real: false + image: null + - id: 845 + name: Project No Name + filtered_name: Project No Name + real: false + image: null + - id: 847 + name: Senran Kagura Partners + filtered_name: Senran Kagura Partners + real: false + image: null + - id: 848 + name: Kazami Gakuen Koushiki Douga-bu + filtered_name: Kazami Gakuen Koushiki Douga-bu + real: false + image: null + - id: 850 + name: Kenji Studio + filtered_name: Kenji + real: false + image: null + - id: 854 + name: Solid Vox + filtered_name: Solid Vox + real: false + image: null + - id: 856 + name: Charaction + filtered_name: Charaction + real: false + image: null + - id: 860 + name: Triple X + filtered_name: Triple X + real: false + image: null + - id: 2541 + name: SAMG Entertainment + filtered_name: SAMG + real: false + image: null + - id: 868 + name: Devil Survivor 2 Animation Committee + filtered_name: Devil Survivor 2 Animation Committee + real: false + image: null + - id: 870 + name: Index + filtered_name: Index + real: false + image: null + - id: 872 + name: Shingeki no Kyojin Team + filtered_name: Shingeki no Kyojin Team + real: false + image: null + - id: 874 + name: Flex Comics + filtered_name: Flex Comics + real: false + image: null + - id: 876 + name: G-mode + filtered_name: G-mode + real: false + image: null + - id: 878 + name: An DerCen + filtered_name: An DerCen + real: false + image: null + - id: 880 + name: gimik + filtered_name: gimik + real: false + image: null + - id: 882 + name: Toranoana + filtered_name: Toranoana + real: false + image: null + - id: 884 + name: Strawberry Meets Pictures + filtered_name: Strawberry Meets Pictures + real: false + image: null + - id: 886 + name: Cinema Tohoku + filtered_name: Cinema Tohoku + real: false + image: null + - id: 890 + name: Karaku + filtered_name: Karaku + real: false + image: null + - id: 892 + name: NOTTV + filtered_name: NOTTV + real: false + image: null + - id: 2389 + name: G.P Entertainment + filtered_name: G.P + real: false + image: null + - id: 899 + name: Tokyo Animation Film + filtered_name: Tokyo Animation Film + real: false + image: null + - id: 901 + name: Tsubasa Entertainment + filtered_name: Tsubasa + real: false + image: null + - id: 903 + name: Studio Zealot + filtered_name: Zealot + real: false + image: null + - id: 905 + name: Tokuma Japan + filtered_name: Tokuma Japan + real: false + image: null + - id: 907 + name: AYCO + filtered_name: AYCO + real: false + image: null + - id: 898 + name: I.Gzwei + filtered_name: I.Gzwei + real: false + image: null + - id: 909 + name: Studio Kelmadick + filtered_name: Kelmadick + real: false + image: null + - id: 913 + name: Ryukyu Asahi Broadcasting + filtered_name: Ryukyu Asahi Broadcasting + real: false + image: null + - id: 917 + name: Takahashi Studio + filtered_name: Takahashi + real: false + image: null + - id: 919 + name: Ankama + filtered_name: Ankama + real: false + image: null + - id: 921 + name: Dynamic Planning + filtered_name: Dynamic Planning + real: false + image: null + - id: 923 + name: CyberStep + filtered_name: CyberStep + real: false + image: null + - id: 925 + name: Earth Star Entertainment + filtered_name: Earth Star + real: false + image: /system/studios/original/925.?1436214052 + - id: 927 + name: Dibetagurashi Production Committee + filtered_name: Dibetagurashi Production Committee + real: false + image: null + - id: 929 + name: Animation Do + filtered_name: Do + real: false + image: null + - id: 931 + name: Poncotan + filtered_name: Poncotan + real: false + image: null + - id: 933 + name: Carp Studio + filtered_name: Carp + real: false + image: null + - id: 935 + name: NHK-BS1 + filtered_name: NHK-BS1 + real: false + image: null + - id: 937 + name: Studio Kaab + filtered_name: Kaab + real: false + image: null + - id: 939 + name: Tama Production + filtered_name: Tama + real: false + image: null + - id: 941 + name: Iwatobi High School Swimming Club + filtered_name: Iwatobi High School Swimming Club + real: false + image: null + - id: 943 + name: Koichi Kikuchi + filtered_name: Koichi Kikuchi + real: false + image: null + - id: 2348 + name: KKC Animation Production + filtered_name: KKC Animation + real: false + image: null + - id: 947 + name: Manga Entertainment + filtered_name: Manga + real: false + image: null + - id: 949 + name: teamKG + filtered_name: teamKG + real: false + image: null + - id: 953 + name: Soft on Demand + filtered_name: Soft on Demand + real: false + image: null + - id: 955 + name: Watamote Production Committee + filtered_name: Watamote Production Committee + real: false + image: null + - id: 959 + name: Studio Compile + filtered_name: Compile + real: false + image: null + - id: 961 + name: Baramiri + filtered_name: Baramiri + real: false + image: null + - id: 963 + name: Mages + filtered_name: Mages + real: false + image: null + - id: 965 + name: Crimson Star Media + filtered_name: Crimson Star Media + real: false + image: null + - id: 967 + name: Pupa Production Committee + filtered_name: Pupa Production Committee + real: false + image: null + - id: 969 + name: Uchouten Kazoku Production Committee + filtered_name: Uchouten Kazoku Production Committee + real: false + image: null + - id: 971 + name: Anime R + filtered_name: Anime R + real: false + image: null + - id: 973 + name: Studio Liberty + filtered_name: Liberty + real: false + image: null + - id: 975 + name: Angelfish + filtered_name: Angelfish + real: false + image: null + - id: 2508 + name: Deck + filtered_name: Deck + real: false + image: null + - id: 979 + name: SPEED + filtered_name: SPEED + real: false + image: null + - id: 981 + name: BOOTLEG + filtered_name: BOOTLEG + real: false + image: null + - id: 983 + name: Daiko + filtered_name: Daiko + real: false + image: null + - id: 985 + name: P Productions + filtered_name: P + real: false + image: null + - id: 987 + name: Creative Bridge + filtered_name: Creative Bridge + real: false + image: null + - id: 989 + name: Nihon Hoso Eigasha + filtered_name: Nihon Hoso Eigasha + real: false + image: null + - id: 3228 + name: Shou Fan Yu Shu Gongzuoshi + filtered_name: Shou Fan Yu Shu Gongzuoshi + real: false + image: null + - id: 993 + name: Tesagure! Production Committee + filtered_name: Tesagure! Production Committee + real: false + image: null + - id: 995 + name: Coamix + filtered_name: Coamix + real: false + image: null + - id: 997 + name: Maxell E-Cube + filtered_name: Maxell E-Cube + real: false + image: null + - id: 1001 + name: Kyodo Eiga + filtered_name: Kyodo Eiga + real: false + image: null + - id: 2416 + name: Kent House + filtered_name: Kent House + real: false + image: null + - id: 1005 + name: Oddjob + filtered_name: Oddjob + real: false + image: null + - id: 3319 + name: Yanchester + filtered_name: Yanchester + real: false + image: null + - id: 1013 + name: Opera House + filtered_name: Opera House + real: false + image: null + - id: 1015 + name: T.O Entertainment + filtered_name: T.O + real: false + image: null + - id: 1017 + name: Liverpool + filtered_name: Liverpool + real: false + image: null + - id: 1019 + name: Himeyuri Alumnae Incorporated Foundation + filtered_name: Himeyuri Alumnae Incorporated Foundation + real: false + image: null + - id: 1021 + name: ASIA Documentary Productions + filtered_name: ASIA Documentary + real: false + image: null + - id: 1027 + name: Milkshake + filtered_name: Milkshake + real: false + image: null + - id: 1029 + name: BeeWorks + filtered_name: BeeWorks + real: false + image: null + - id: 1031 + name: Universal Radio Studio + filtered_name: Universal Radio + real: false + image: null + - id: 1035 + name: Mikakunin de Shinkoukei Production Committee + filtered_name: Mikakunin de Shinkoukei Production Committee + real: false + image: null + - id: 1037 + name: Japan Vistec + filtered_name: Japan Vistec + real: false + image: null + - id: 1039 + name: DIVE II Entertainment + filtered_name: DIVE II + real: false + image: null + - id: 1041 + name: Ai Addiction + filtered_name: Ai Addiction + real: false + image: null + - id: 1043 + name: Benesse Corporation + filtered_name: Benesse Corporation + real: false + image: null + - id: 1047 + name: ZIZ + filtered_name: ZIZ + real: false + image: null + - id: 1049 + name: PoPoCo + filtered_name: PoPoCo + real: false + image: null + - id: 1053 + name: Production IMS + filtered_name: Production IMS + real: false + image: /system/studios/original/1053.jpg?1404514553 + - id: 1057 + name: Kyowa Film + filtered_name: Kyowa Film + real: false + image: null + - id: 1059 + name: Studio Nem + filtered_name: Nem + real: false + image: null + - id: 1061 + name: Project Team Eikyuu Kikan + filtered_name: Project Team Eikyuu Kikan + real: false + image: null + - id: 3230 + name: Juvenage + filtered_name: Juvenage + real: false + image: null + - id: 1065 + name: Public & Basic + filtered_name: Public & Basic + real: false + image: null + - id: 1067 + name: Rising Force + filtered_name: Rising Force + real: false + image: null + - id: 1071 + name: Studio Lotus + filtered_name: Lotus + real: false + image: null + - id: 1073 + name: Magic Lantern Film + filtered_name: Magic Lantern Film + real: false + image: null + - id: 1077 + name: MMDGP + filtered_name: MMDGP + real: false + image: null + - id: 1079 + name: 3xCube + filtered_name: 3xCube + real: false + image: null + - id: 1081 + name: ZERO-A + filtered_name: ZERO-A + real: false + image: null + - id: 1083 + name: Aikikaku Center + filtered_name: Aikikaku Center + real: false + image: null + - id: 1045 + name: Space Neko Company + filtered_name: Space Neko Company + real: false + image: null + - id: 1025 + name: Dongwoo A&E + filtered_name: Dongwoo A&E + real: false + image: null + - id: 1085 + name: Cosmos + filtered_name: Cosmos + real: false + image: null + - id: 1089 + name: Studio Zain + filtered_name: Zain + real: false + image: null + - id: 1093 + name: BreakBottle + filtered_name: BreakBottle + real: false + image: null + - id: 1097 + name: Namco Bandai Games + filtered_name: Namco Bandai Games + real: false + image: null + - id: 1101 + name: Lambert + filtered_name: Lambert + real: false + image: null + - id: 1103 + name: TROYCA + filtered_name: TROYCA + real: false + image: /system/studios/original/1103.?1446387663 + - id: 1105 + name: Gendai Production + filtered_name: Gendai + real: false + image: null + - id: 1107 + name: Rabbit Gate + filtered_name: Rabbit Gate + real: false + image: null + - id: 1115 + name: Studio Korumi + filtered_name: Korumi + real: false + image: null + - id: 1117 + name: 1st PLACE + filtered_name: 1st PLACE + real: false + image: null + - id: 1121 + name: Banpresto + filtered_name: Banpresto + real: false + image: null + - id: 1123 + name: Lucent Pictures Entertainment + filtered_name: Lucent Pictures + real: false + image: null + - id: 1125 + name: Tsubu Doll Production Committee + filtered_name: Tsubu Doll Production Committee + real: false + image: null + - id: 1131 + name: Zero-G Room + filtered_name: Zero-G Room + real: false + image: null + - id: 1133 + name: dwarf + filtered_name: dwarf + real: false + image: null + - id: 1135 + name: FOREST Hunting One + filtered_name: FOREST Hunting One + real: false + image: null + - id: 1137 + name: SEK Studios + filtered_name: SEK + real: false + image: null + - id: 1139 + name: BEAM Entertainment + filtered_name: BEAM + real: false + image: null + - id: 1143 + name: TOHO animation + filtered_name: TOHO + real: false + image: null + - id: 1147 + name: Shinano Kikaku + filtered_name: Shinano Kikaku + real: false + image: null + - id: 1149 + name: Studio Cab + filtered_name: Cab + real: false + image: null + - id: 1151 + name: Sanrio Digital + filtered_name: Sanrio Digital + real: false + image: null + - id: 1153 + name: Image Kei + filtered_name: Image Kei + real: false + image: null + - id: 1157 + name: Big Bang + filtered_name: Big Bang + real: false + image: null + - id: 1159 + name: King Bee + filtered_name: King Bee + real: false + image: null + - id: 1161 + name: Allure + filtered_name: Allure + real: false + image: null + - id: 1163 + name: Flatiron Film Company + filtered_name: Flatiron Film Company + real: false + image: null + - id: 2362 + name: Aiti St. + filtered_name: Aiti St. + real: false + image: null + - id: 1165 + name: Tri-Slash + filtered_name: Tri-Slash + real: false + image: null + - id: 1167 + name: Nikkatsu Mukojima + filtered_name: Nikkatsu Mukojima + real: false + image: null + - id: 1171 + name: Olive Studio + filtered_name: Olive + real: false + image: null + - id: 1175 + name: Atelier Musa + filtered_name: Atelier Musa + real: false + image: null + - id: 1177 + name: ' Geijutsu Eigasha' + filtered_name: ' Geijutsu Eigasha' + real: false + image: null + - id: 1179 + name: MK Pictures + filtered_name: MK Pictures + real: false + image: null + - id: 1183 + name: E&G Films + filtered_name: E&G Films + real: false + image: null + - id: 1187 + name: Ripple Film + filtered_name: Ripple Film + real: false + image: null + - id: 1191 + name: Azeta Pictures + filtered_name: Azeta Pictures + real: false + image: null + - id: 1193 + name: MooGoo + filtered_name: MooGoo + real: false + image: null + - id: 1195 + name: Creators in Pack + filtered_name: Creators in Pack + real: false + image: null + - id: 1199 + name: L. + filtered_name: L. + real: false + image: null + - id: 1201 + name: Ponycan USA + filtered_name: Ponycan USA + real: false + image: null + - id: 1203 + name: Studio 1st + filtered_name: 1st + real: false + image: null + - id: 1205 + name: Answer Studio + filtered_name: Answer + real: false + image: null + - id: 1207 + name: Comic Umenohone + filtered_name: Comic Umenohone + real: false + image: null + - id: 1211 + name: Tokyo MX + filtered_name: Tokyo MX + real: false + image: null + - id: 1213 + name: Mobcast + filtered_name: Mobcast + real: false + image: null + - id: 1215 + name: Daiichi Kosho Co. + filtered_name: Daiichi Kosho Co. + real: false + image: null + - id: 1217 + name: HeART-BIT + filtered_name: HeART-BIT + real: false + image: null + - id: 1223 + name: Teichiku Entertainment + filtered_name: Teichiku + real: false + image: null + - id: 1225 + name: Age Global Networks + filtered_name: Age Global Networks + real: false + image: null + - id: 1055 + name: Yamamura Animation + filtered_name: Yamamura + real: false + image: null + - id: 1227 + name: Studio GDW + filtered_name: GDW + real: false + image: null + - id: 1231 + name: OLM Digital + filtered_name: OLM Digital + real: false + image: null + - id: 1233 + name: Bandai Namco Games + filtered_name: Bandai Namco Games + real: false + image: null + - id: 1235 + name: I was a Ballerina + filtered_name: I was a Ballerina + real: false + image: null + - id: 1237 + name: Millepensee + filtered_name: Millepensee + real: false + image: /system/studios/original/1237.png?1515415404 + - id: 1239 + name: KeyEast + filtered_name: KeyEast + real: false + image: null + - id: 1241 + name: Evil Line Records + filtered_name: Evil Line Records + real: false + image: null + - id: 1242 + name: Sakura Color Film + filtered_name: Sakura Color Film + real: false + image: null + - id: 1243 + name: AniMan + filtered_name: AniMan + real: false + image: null + - id: 1173 + name: Studio Dadashow + filtered_name: Dadashow + real: false + image: /system/studios/original/1173.png?1619360325 + - id: 1246 + name: AIR AGENCY + filtered_name: AIR AGENCY + real: false + image: null + - id: 1247 + name: Mistral Japan + filtered_name: Mistral Japan + real: false + image: null + - id: 1189 + name: Sola Digital Arts + filtered_name: Sola Digital Arts + real: false + image: /system/studios/original/1189.jpg?1622293352 + - id: 1249 + name: Mirai Film + filtered_name: Mirai Film + real: false + image: null + - id: 1250 + name: The National Film Center Japan + filtered_name: The National Film Center Japan + real: false + image: null + - id: 1251 + name: Dentsu Eigasha Tokyo + filtered_name: Dentsu Eigasha Tokyo + real: false + image: null + - id: 1252 + name: Studio Binzo + filtered_name: Binzo + real: false + image: null + - id: 1253 + name: Studio GOONEYS + filtered_name: GOONEYS + real: false + image: null + - id: 1254 + name: Grooove + filtered_name: Grooove + real: false + image: null + - id: 1255 + name: Glovision + filtered_name: Glovision + real: false + image: null + - id: 1256 + name: Harappa + filtered_name: Harappa + real: false + image: null + - id: 1257 + name: A-Real + filtered_name: A-Real + real: false + image: null + - id: 2400 + name: Executive Decision + filtered_name: Executive Decision + real: false + image: null + - id: 1245 + name: ZIZ Entertainment (ZIZ) + filtered_name: ZIZ Entertainment (ZIZ) + real: false + image: null + - id: 1259 + name: Studio Curtain + filtered_name: Curtain + real: false + image: null + - id: 1260 + name: Nakamura Production + filtered_name: Nakamura + real: false + image: null + - id: 1261 + name: Good Smile Company + filtered_name: Good Smile Company + real: false + image: null + - id: 1263 + name: Dynamo Pictures + filtered_name: Dynamo Pictures + real: false + image: null + - id: 3093 + name: Sanjie Donghua + filtered_name: Sanjie Donghua + real: false + image: null + - id: 1266 + name: Studio! Cucuri + filtered_name: Studio! Cucuri + real: false + image: null + - id: 1267 + name: Tencent Comic + filtered_name: Tencent Comic + real: false + image: null + - id: 1269 + name: K-Factory + filtered_name: K-Factory + real: false + image: null + - id: 1270 + name: Sanctuary + filtered_name: Sanctuary + real: false + image: null + - id: 1271 + name: Assez Finaud Fabric + filtered_name: Assez Finaud Fabric + real: false + image: null + - id: 1273 + name: Osaka University of Arts + filtered_name: Osaka University of Arts + real: false + image: null + - id: 1277 + name: Imagica West + filtered_name: Imagica West + real: false + image: null + - id: 1279 + name: Buemon + filtered_name: Buemon + real: false + image: null + - id: 1280 + name: Media Castle + filtered_name: Media Castle + real: false + image: null + - id: 1281 + name: Office DCI + filtered_name: Office DCI + real: false + image: null + - id: 1282 + name: Arcturus + filtered_name: Arcturus + real: false + image: null + - id: 1283 + name: TC Entertainment + filtered_name: TC + real: false + image: null + - id: 1284 + name: Avex Pictures + filtered_name: Avex Pictures + real: false + image: null + - id: 1285 + name: Being + filtered_name: Being + real: false + image: null + - id: 1286 + name: 10Gauge + filtered_name: 10Gauge + real: false + image: null + - id: 1287 + name: Q-Tec + filtered_name: Q-Tec + real: false + image: null + - id: 1288 + name: Chrono Gear Creative + filtered_name: Chrono Gear Creative + real: false + image: null + - id: 1289 + name: F.M.F + filtered_name: F.M.F + real: false + image: null + - id: 1290 + name: Pollyanna Graphics + filtered_name: Pollyanna Graphics + real: false + image: null + - id: 1291 + name: KOO-KI + filtered_name: KOO-KI + real: false + image: null + - id: 1292 + name: TUBA + filtered_name: TUBA + real: false + image: null + - id: 1293 + name: 'Romantica club !! ' + filtered_name: 'Romantica club !! ' + real: false + image: null + - id: 1294 + name: Studio Don Juan + filtered_name: Don Juan + real: false + image: null + - id: 1296 + name: Marza Animation Planet + filtered_name: Marza Animation Planet + real: false + image: null + - id: 1300 + name: Office Nobu + filtered_name: Office Nobu + real: false + image: null + - id: 1302 + name: RoiVisual + filtered_name: RoiVisual + real: false + image: null + - id: 1303 + name: PansonWorks + filtered_name: PansonWorks + real: false + image: null + - id: 1304 + name: Qualia Animation + filtered_name: Qualia + real: false + image: null + - id: 1305 + name: Milestone Music Publishing + filtered_name: Milestone Music Publishing + real: false + image: null + - id: 1306 + name: AIC Classic + filtered_name: AIC Classic + real: false + image: null + - id: 1313 + name: Amuse + filtered_name: Amuse + real: false + image: null + - id: 1317 + name: Production GoodBook + filtered_name: Production GoodBook + real: false + image: null + - id: 1320 + name: Joker Films + filtered_name: Joker Films + real: false + image: null + - id: 1321 + name: Haoliners Animation + filtered_name: Haoliners + real: false + image: null + - id: 1324 + name: Shimogumi + filtered_name: Shimogumi + real: false + image: null + - id: 1328 + name: Decovocal + filtered_name: Decovocal + real: false + image: null + - id: 1372 + name: Soeishinsha + filtered_name: Soeishinsha + real: false + image: null + - id: 1348 + name: Sugar Boy + filtered_name: Sugar Boy + real: false + image: null + - id: 1351 + name: EDGE + filtered_name: EDGE + real: false + image: null + - id: 1353 + name: Issen + filtered_name: Issen + real: false + image: null + - id: 1360 + name: Hoods Drifters Studio + filtered_name: Hoods Drifters + real: false + image: null + - id: 1361 + name: Darts + filtered_name: Darts + real: false + image: null + - id: 1362 + name: Rabbit Machine + filtered_name: Rabbit Machine + real: false + image: null + - id: 1363 + name: Marine Entertainment + filtered_name: Marine + real: false + image: null + - id: 1365 + name: Shueisha + filtered_name: Shueisha + real: false + image: null + - id: 1368 + name: Kazuki Production + filtered_name: Kazuki + real: false + image: null + - id: 1369 + name: G-Lam + filtered_name: G-Lam + real: false + image: null + - id: 1370 + name: Sprite Animation Studios + filtered_name: Sprite Animation + real: false + image: null + - id: 1371 + name: T.P.O + filtered_name: T.P.O + real: false + image: null + - id: 1375 + name: Studio Jam + filtered_name: Jam + real: false + image: null + - id: 1380 + name: domerica + filtered_name: domerica + real: false + image: null + - id: 1382 + name: Piko Studio + filtered_name: Piko + real: false + image: null + - id: 1383 + name: Studio Live + filtered_name: Live + real: false + image: null + - id: 1385 + name: Blue Cat + filtered_name: Blue Cat + real: false + image: null + - id: 1387 + name: Neft Film + filtered_name: Neft Film + real: false + image: null + - id: 1396 + name: W-Toon Studio + filtered_name: W-Toon + real: false + image: null + - id: 3233 + name: Kio Studio + filtered_name: Kio + real: false + image: null + - id: 1419 + name: GARDEN LODGE + filtered_name: GARDEN LODGE + real: false + image: null + - id: 1421 + name: Takara Tomy A.R.T.S + filtered_name: Takara Tomy A.R.T.S + real: false + image: null + - id: 1433 + name: Ekura Animal + filtered_name: Ekura Animal + real: false + image: null + - id: 1435 + name: JCF + filtered_name: JCF + real: false + image: null + - id: 1437 + name: Ishimori Entertainment + filtered_name: Ishimori + real: false + image: null + - id: 1442 + name: Mook DLE + filtered_name: Mook DLE + real: false + image: null + - id: 1444 + name: Egg Firm + filtered_name: Egg Firm + real: false + image: null + - id: 1445 + name: Arcs Create + filtered_name: Arcs Create + real: false + image: null + - id: 1454 + name: REALTHING + filtered_name: REALTHING + real: false + image: null + - id: 1456 + name: Beijing Huihuang Animation Company + filtered_name: Beijing Huihuang Animation Company + real: false + image: null + - id: 1460 + name: Coastline Animation Studio + filtered_name: Coastline Animation + real: false + image: null + - id: 1258 + name: Bandai Namco Pictures + filtered_name: Bandai Namco Pictures + real: false + image: /system/studios/original/1258.png?1589293619 + - id: 1463 + name: Anime Antenna Iinkai + filtered_name: Anime Antenna Iinkai + real: false + image: null + - id: 1464 + name: Hiro Media + filtered_name: Hiro Media + real: false + image: null + - id: 1473 + name: Odolttogi + filtered_name: Odolttogi + real: false + image: null + - id: 1476 + name: Shochiku Animation Institute + filtered_name: Shochiku Animation Institute + real: false + image: null + - id: 1479 + name: Studio Core + filtered_name: Core + real: false + image: null + - id: 1482 + name: Bouncy + filtered_name: Bouncy + real: false + image: null + - id: 1489 + name: Ripromo + filtered_name: Ripromo + real: false + image: null + - id: 1504 + name: Studio Z5 + filtered_name: Z5 + real: false + image: null + - id: 1509 + name: Studio World + filtered_name: World + real: false + image: null + - id: 1513 + name: Dongyang Animation + filtered_name: Dongyang + real: false + image: null + - id: 1522 + name: Echoes + filtered_name: Echoes + real: false + image: null + - id: 1523 + name: Studio Ponoc + filtered_name: Ponoc + real: false + image: /system/studios/original/1523.png?1518985073 + - id: 1525 + name: Moss Design Unit + filtered_name: Moss Design Unit + real: false + image: null + - id: 1527 + name: Image House + filtered_name: Image House + real: false + image: null + - id: 1530 + name: Emon + filtered_name: Emon + real: false + image: null + - id: 1531 + name: Flavors Soft + filtered_name: Flavors Soft + real: false + image: null + - id: 1533 + name: Studio WHO + filtered_name: WHO + real: false + image: null + - id: 1536 + name: Namu Animation + filtered_name: Namu + real: false + image: null + - id: 1545 + name: Japan Taps + filtered_name: Japan Taps + real: false + image: null + - id: 1546 + name: Chippai + filtered_name: Chippai + real: false + image: null + - id: 1549 + name: Dai Nippon Printing + filtered_name: Dai Nippon Printing + real: false + image: null + - id: 1558 + name: TOCSIS + filtered_name: TOCSIS + real: false + image: null + - id: 1562 + name: Team YokkyuFuman + filtered_name: Team YokkyuFuman + real: false + image: null + - id: 1572 + name: XFLAG + filtered_name: XFLAG + real: false + image: null + - id: 1587 + name: Cygames + filtered_name: Cygames + real: false + image: null + - id: 1592 + name: Kamio Japan + filtered_name: Kamio Japan + real: false + image: null + - id: 1596 + name: Will Palette + filtered_name: Will Palette + real: false + image: null + - id: 1618 + name: Rockwell Eyes + filtered_name: Rockwell Eyes + real: false + image: null + - id: 1638 + name: Tsukimidou + filtered_name: Tsukimidou + real: false + image: null + - id: 1639 + name: Chiptune + filtered_name: Chiptune + real: false + image: null + - id: 1642 + name: Circle Tribute + filtered_name: Circle Tribute + real: false + image: null + - id: 2390 + name: Concept Films + filtered_name: Concept Films + real: false + image: null + - id: 1661 + name: drop + filtered_name: drop + real: false + image: null + - id: 1662 + name: Creators Dot Com + filtered_name: Creators Dot Com + real: false + image: null + - id: 1668 + name: Karasfilms + filtered_name: Karasfilms + real: false + image: null + - id: 1349 + name: Tencent Animation & Comics + filtered_name: Tencent Animation & Comics + real: false + image: null + - id: 1357 + name: Craftar Studios + filtered_name: Craftar + real: false + image: null + - id: 1593 + name: Success Corp. + filtered_name: Success Corp. + real: false + image: null + - id: 1436 + name: Stingray + filtered_name: Stingray + real: false + image: null + - id: 1514 + name: Tengu Kobo + filtered_name: Tengu Kobo + real: false + image: null + - id: 1512 + name: Dai-Ichi Douga + filtered_name: Dai-Ichi Douga + real: false + image: null + - id: 1670 + name: Nishiki Studio + filtered_name: Nishiki + real: false + image: null + - id: 1690 + name: Imagineer + filtered_name: Imagineer + real: false + image: null + - id: 1691 + name: Studio UGOKI + filtered_name: UGOKI + real: false + image: null + - id: 1693 + name: Studio Flad + filtered_name: Flad + real: false + image: null + - id: 1705 + name: Studio Khronos + filtered_name: Khronos + real: false + image: null + - id: 1706 + name: Beijing Rocen Digital + filtered_name: Beijing Rocen Digital + real: false + image: null + - id: 1717 + name: Onionskin + filtered_name: Onionskin + real: false + image: null + - id: 1723 + name: Anime Beans + filtered_name: Anime Beans + real: false + image: null + - id: 1724 + name: Studio OX + filtered_name: OX + real: false + image: null + - id: 1725 + name: Minakata Laboratory + filtered_name: Minakata Laboratory + real: false + image: null + - id: 1726 + name: Three-d + filtered_name: Three-d + real: false + image: null + - id: 1746 + name: Pops Inc. + filtered_name: Pops Inc. + real: false + image: null + - id: 1747 + name: Twin Engine + filtered_name: Twin Engine + real: false + image: null + - id: 1750 + name: Studio CA + filtered_name: CA + real: false + image: null + - id: 1751 + name: pH Studio + filtered_name: pH + real: false + image: null + - id: 1753 + name: D & D Pictures + filtered_name: D & D Pictures + real: false + image: null + - id: 1754 + name: Meruhensha + filtered_name: Meruhensha + real: false + image: null + - id: 1758 + name: Picante Circus + filtered_name: Picante Circus + real: false + image: null + - id: 3040 + name: Durandal + filtered_name: Durandal + real: false + image: null + - id: 1393 + name: Geno Studio + filtered_name: Geno + real: true + image: /system/studios/original/1393.png?1521917884 + - id: 1440 + name: Felix Film + filtered_name: Felix Film + real: true + image: /system/studios/original/1440.png?1521916608 + - id: 1760 + name: Suiseisha + filtered_name: Suiseisha + real: false + image: null + - id: 1762 + name: Piso Studio + filtered_name: Piso + real: false + image: null + - id: 1763 + name: Studio Nanahoshi + filtered_name: Nanahoshi + real: false + image: null + - id: 1766 + name: Husio Studio + filtered_name: Husio + real: false + image: null + - id: 1767 + name: iDRAGONS Creative Studio + filtered_name: iDRAGONS Creative + real: false + image: null + - id: 1769 + name: helo.inc + filtered_name: helo.inc + real: false + image: null + - id: 1770 + name: KIZAWA Studio + filtered_name: KIZAWA + real: false + image: null + - id: 1773 + name: KJJ Animation + filtered_name: KJJ + real: false + image: null + - id: 1794 + name: EKACHI EPILKA + filtered_name: EKACHI EPILKA + real: false + image: null + - id: 1771 + name: Pb Animation + filtered_name: Pb + real: false + image: null + - id: 1795 + name: CUCURI + filtered_name: CUCURI + real: false + image: null + - id: 1797 + name: NHK Enterprises + filtered_name: NHK Enterprises + real: false + image: null + - id: 1487 + name: Bouncy + filtered_name: Bouncy + real: false + image: null + - id: 1462 + name: B&T + filtered_name: B&T + real: false + image: null + - id: 1485 + name: Light Chaser Animation Studios + filtered_name: Light Chaser Animation + real: false + image: /system/studios/original/1485.png?1622293533 + - id: 1805 + name: Thundray + filtered_name: Thundray + real: false + image: null + - id: 1808 + name: CG Year + filtered_name: CG Year + real: false + image: null + - id: 1809 + name: October Media + filtered_name: October Media + real: false + image: null + - id: 1810 + name: Mili Pictures + filtered_name: Mili Pictures + real: false + image: null + - id: 1811 + name: Boyan Pictures + filtered_name: Boyan Pictures + real: false + image: null + - id: 1813 + name: Studio Lings + filtered_name: Lings + real: false + image: null + - id: 1814 + name: Studio Hakk + filtered_name: Hakk + real: false + image: null + - id: 1828 + name: Lapin Track + filtered_name: Lapin Track + real: false + image: null + - id: 1829 + name: Lesprit + filtered_name: Lesprit + real: false + image: null + - id: 1830 + name: Seven Stone Entertainment + filtered_name: Seven Stone + real: false + image: null + - id: 1832 + name: GRIZZLY + filtered_name: GRIZZLY + real: false + image: null + - id: 1836 + name: SELFISH + filtered_name: SELFISH + real: false + image: null + - id: 1837 + name: G-angle + filtered_name: G-angle + real: false + image: null + - id: 1838 + name: 33 Collective + filtered_name: 33 Collective + real: false + image: null + - id: 1839 + name: Studio Ppuri + filtered_name: Ppuri + real: false + image: null + - id: 1842 + name: Urban Product + filtered_name: Urban Product + real: false + image: null + - id: 1843 + name: TriF Studio + filtered_name: TriF + real: false + image: null + - id: 1844 + name: Shanghai Hippo Animation + filtered_name: Shanghai Hippo + real: false + image: null + - id: 1845 + name: Guton Animation Studio + filtered_name: Guton Animation + real: false + image: null + - id: 1846 + name: Tokyo Movie + filtered_name: Tokyo Movie + real: false + image: null + - id: 1847 + name: Square Enix Visual Works + filtered_name: Square Enix Visual Works + real: false + image: null + - id: 1849 + name: MASTER LIGHTS + filtered_name: MASTER LIGHTS + real: false + image: null + - id: 1851 + name: Jumonji + filtered_name: Jumonji + real: false + image: null + - id: 1853 + name: Saetta + filtered_name: Saetta + real: false + image: null + - id: 1854 + name: monofilmo + filtered_name: monofilmo + real: false + image: null + - id: 1860 + name: Magia Doraglier + filtered_name: Magia Doraglier + real: false + image: null + - id: 1861 + name: Animation Planet + filtered_name: Planet + real: false + image: null + - id: 1866 + name: Grom + filtered_name: Grom + real: false + image: null + - id: 1867 + name: Aurum Production + filtered_name: Aurum + real: false + image: null + - id: 1871 + name: Studio W.Baba + filtered_name: W.Baba + real: false + image: null + - id: 1872 + name: P.I.C.S. + filtered_name: P.I.C.S. + real: false + image: null + - id: 1873 + name: Silver + filtered_name: Silver + real: false + image: null + - id: 1879 + name: Dangun Pictures + filtered_name: Dangun Pictures + real: false + image: null + - id: 1882 + name: UWAN Pictures + filtered_name: UWAN Pictures + real: false + image: null + - id: 1887 + name: Brio Animation + filtered_name: Brio + real: false + image: null + - id: 1893 + name: CygamesPictures + filtered_name: CygamesPictures + real: false + image: null + - id: 1897 + name: Ankama Animations + filtered_name: Ankama Animations + real: false + image: null + - id: 1910 + name: Sega Interactive + filtered_name: Sega Interactive + real: false + image: null + - id: 1812 + name: Imagica Imageworks + filtered_name: Imagica Imageworks + real: false + image: null + - id: 2529 + name: Xing Yi Kai Chen + filtered_name: Xing Yi Kai Chen + real: false + image: null + - id: 1927 + name: Studio Crocodile + filtered_name: Crocodile + real: false + image: null + - id: 1932 + name: Speed Inc. + filtered_name: Speed Inc. + real: false + image: null + - id: 1934 + name: Saigo no Shudan + filtered_name: Saigo no Shudan + real: false + image: null + - id: 1936 + name: Liberty Animation Studio + filtered_name: Liberty Animation + real: false + image: null + - id: 1937 + name: MAT + filtered_name: MAT + real: false + image: null + - id: 1943 + name: Idol + filtered_name: Idol + real: false + image: null + - id: 1944 + name: Samsara Animation Studio + filtered_name: Samsara Animation + real: false + image: null + - id: 1945 + name: Lide + filtered_name: Lide + real: false + image: null + - id: 1947 + name: Kate Arrow + filtered_name: Kate Arrow + real: false + image: null + - id: 1949 + name: Anon Pictures + filtered_name: Anon Pictures + real: false + image: null + - id: 1951 + name: ANIDO FILM + filtered_name: ANIDO FILM + real: false + image: null + - id: 1952 + name: Animation Staff Room + filtered_name: Staff Room + real: false + image: null + - id: 1953 + name: W+K Tokyo + filtered_name: W+K Tokyo + real: false + image: null + - id: 1954 + name: Welz Animation Studios + filtered_name: Welz Animation + real: false + image: null + - id: 1960 + name: StoryRiders Co. Ltd. + filtered_name: StoryRiders Co. Ltd. + real: false + image: null + - id: 3232 + name: Left Pocket Studio + filtered_name: Left Pocket + real: false + image: null + - id: 1969 + name: V-sign + filtered_name: V-sign + real: false + image: null + - id: 1970 + name: Wolf Smoke Studio + filtered_name: Wolf Smoke + real: false + image: null + - id: 1971 + name: Gainax Kyoto + filtered_name: Gainax Kyoto + real: false + image: null + - id: 1972 + name: HOTZIPANG + filtered_name: HOTZIPANG + real: false + image: null + - id: 1973 + name: Monster's Egg + filtered_name: Monster's Egg + real: false + image: null + - id: 1979 + name: Suna Kouhou + filtered_name: Suna Kouhou + real: false + image: null + - id: 2401 + name: YURUPPE Inc. + filtered_name: YURUPPE Inc. + real: false + image: null + - id: 1983 + name: Anima&Co. + filtered_name: Anima&Co. + real: false + image: null + - id: 1967 + name: Drive + filtered_name: Drive + real: false + image: /system/studios/original/1967.png?1647108152 + - id: 1768 + name: Sparkly Key Animation Studio + filtered_name: Sparkly Key Animation + real: false + image: /system/studios/original/1768.png?1622293364 + - id: 1999 + name: Albacrow + filtered_name: Albacrow + real: false + image: null + - id: 2013 + name: Peak Hunt + filtered_name: Peak Hunt + real: false + image: null + - id: 1968 + name: Studio Hokiboshi + filtered_name: Hokiboshi + real: false + image: null + - id: 1890 + name: Tear Studio + filtered_name: Tear + real: false + image: /system/studios/original/1890.png?1589291799 + - id: 2032 + name: WHOPPERS + filtered_name: WHOPPERS + real: false + image: null + - id: 1774 + name: LAN Studio + filtered_name: LAN + real: false + image: null + - id: 1966 + name: Arch + filtered_name: Arch + real: false + image: null + - id: 2820 + name: maroyaka + filtered_name: maroyaka + real: false + image: null + - id: 2894 + name: Konami animation + filtered_name: Konami + real: false + image: null + - id: 2861 + name: KWANED + filtered_name: KWANED + real: false + image: null + - id: 2860 + name: CANOPUS + filtered_name: CANOPUS + real: false + image: null + - id: 2854 + name: Volca + filtered_name: Volca + real: false + image: null + - id: 1384 + name: CinePix + filtered_name: CinePix + real: false + image: null + - id: 3073 + name: Yasuda Genshou Studio by Xenotoon + filtered_name: Yasuda Genshou Studio by Xenotoon + real: false + image: null + - id: 333 + name: TYO Animations + filtered_name: TYO Animations + real: true + image: /system/studios/original/333.jpg?1312165071 + - id: 2540 + name: Fever Creations + filtered_name: Fever Creations + real: false + image: null + - id: 163 + name: asread. + filtered_name: asread. + real: false + image: /system/studios/original/163.jpg?1311292709 + - id: 1976 + name: CGCG Studio + filtered_name: CGCG + real: false + image: /system/studios/original/1976.png?1622293588 + - id: 2188 + name: Marone + filtered_name: Marone + real: false + image: null + - id: 2264 + name: 5 Inc. + filtered_name: 5 Inc. + real: false + image: null + - id: 2546 + name: Studio Sota + filtered_name: Sota + real: false + image: null + - id: 2547 + name: Frontier Engine + filtered_name: Frontier Engine + real: false + image: null + - id: 2530 + name: Blue bread + filtered_name: Blue bread + real: false + image: null + - id: 2454 + name: Ryuu M's + filtered_name: Ryuu M's + real: false + image: null + - id: 2489 + name: Tsubo Production + filtered_name: Tsubo + real: false + image: null + - id: 1864 + name: Ezόla + filtered_name: Ezόla + real: false + image: /system/studios/original/1864.png?1634761365 + - id: 1892 + name: Sublimation + filtered_name: Sublimation + real: false + image: /system/studios/original/1892.png?1634761710 + - id: 2525 + name: Hurray! + filtered_name: Hurray! + real: false + image: null + - id: 2549 + name: StudioXD + filtered_name: StudioXD + real: false + image: null + - id: 2550 + name: ONIRO + filtered_name: ONIRO + real: false + image: null + - id: 2534 + name: studio YOG + filtered_name: YOG + real: false + image: null + - id: 2471 + name: Wonder Cat Animation + filtered_name: Wonder Cat + real: false + image: null + - id: 2375 + name: GAV Video + filtered_name: GAV Video + real: false + image: null + - id: 2491 + name: Mikimoto Production + filtered_name: Mikimoto + real: false + image: null + - id: 2393 + name: MB planning + filtered_name: MB planning + real: false + image: null + - id: 2571 + name: Griot Groove + filtered_name: Griot Groove + real: false + image: null + - id: 3 + name: Gonzo + filtered_name: Gonzo + real: true + image: /system/studios/original/3.png?1311292710 + - id: 4 + name: Bones + filtered_name: Bones + real: true + image: /system/studios/original/4.png?1311292711 + - id: 5 + name: Bee Train + filtered_name: Bee Train + real: true + image: /system/studios/original/5.png?1389209052 + - id: 6 + name: Gainax + filtered_name: Gainax + real: true + image: /system/studios/original/6.png?1452689573 + - id: 1505 + name: Studio March + filtered_name: March + real: true + image: null + - id: 8 + name: Artland + filtered_name: Artland + real: true + image: /system/studios/original/8.gif?1312165056 + - id: 2821 + name: Fugaku + filtered_name: Fugaku + real: false + image: null + - id: 2792 + name: INTERFACEDOGS + filtered_name: INTERFACEDOGS + real: false + image: null + - id: 2822 + name: Shykeumo Animation Studio + filtered_name: Shykeumo Animation + real: false + image: null + - id: 2828 + name: Studio Polon + filtered_name: Polon + real: false + image: null + - id: 2829 + name: EOTA + filtered_name: EOTA + real: false + image: null + - id: 2292 + name: Toei Advertising + filtered_name: Toei Advertising + real: false + image: null + - id: 2835 + name: ROLL2 + filtered_name: ROLL2 + real: false + image: null + - id: 2701 + name: CMC Media + filtered_name: CMC Media + real: false + image: null + - id: 2253 + name: miHoYoAnime + filtered_name: miHoYoAnime + real: false + image: null + - id: 2214 + name: Takun Manga Box + filtered_name: Takun Manga Box + real: false + image: null + - id: 7 + name: J.C.Staff + filtered_name: J.C.Staff + real: true + image: /system/studios/original/7.?1434707490 + - id: 307 + name: Sunwoo Entertainment + filtered_name: Sunwoo + real: true + image: /system/studios/original/307.png?1589290394 + - id: 1471 + name: Platinum Vision + filtered_name: Platinum Vision + real: true + image: /system/studios/original/1471.png?1589290457 + - id: 78 + name: Picture Magic + filtered_name: Picture Magic + real: false + image: /system/studios/original/78.png?1589290604 + - id: 13 + name: Studio 4°C + filtered_name: 4C + real: true + image: /system/studios/original/13.gif?1311292710 + - id: 2075 + name: Taomee + filtered_name: Taomee + real: false + image: null + - id: 2485 + name: Ezo Kobo + filtered_name: Ezo Kobo + real: false + image: null + - id: 2004 + name: Sunrise Beyond + filtered_name: Sunrise Beyond + real: false + image: /system/studios/original/2004.png?1634761033 + - id: 1687 + name: Yokohama Animation Lab + filtered_name: Yokohama Animation Lab + real: false + image: /system/studios/original/1687.png?1618485066 + - id: 15 + name: Sony Pictures Entertainment + filtered_name: Sony Pictures + real: true + image: /system/studios/original/15.jpg?1311292710 + - id: 2206 + name: Xuni Ying Ye + filtered_name: Xuni Ying Ye + real: false + image: null + - id: 18 + name: Toei Animation + filtered_name: Toei + real: true + image: /system/studios/original/18.?1446981470 + - id: 1569 + name: Seven Arcs Pictures + filtered_name: Seven Arcs Pictures + real: true + image: /system/studios/original/1569.png?1505243599 + - id: 21 + name: Studio Ghibli + filtered_name: Ghibli + real: true + image: /system/studios/original/21.png?1311292709 + - id: 809 + name: AKOM + filtered_name: AKOM + real: true + image: /system/studios/original/809.png?1589290477 + - id: 1692 + name: Revoroot + filtered_name: Revoroot + real: true + image: /system/studios/original/1692.png?1576061257 + - id: 2842 + name: Big Pine Animation Studio + filtered_name: Big Pine Animation + real: false + image: null + - id: 2893 + name: Gear Studio + filtered_name: Gear + real: false + image: null + - id: 2895 + name: Team OneOne + filtered_name: Team OneOne + real: false + image: null + - id: 2897 + name: MOJO Animation + filtered_name: MOJO + real: false + image: null + - id: 2898 + name: Manaa Animation + filtered_name: Manaa + real: false + image: null + - id: 2875 + name: Blaze Studio + filtered_name: Blaze + real: false + image: null + - id: 2888 + name: Wang Film Productions + filtered_name: Wang Film + real: false + image: null + - id: 2877 + name: D'ART Shtajio + filtered_name: D'ART Shtajio + real: false + image: null + - id: 2879 + name: Grayscale Arts + filtered_name: Grayscale Arts + real: false + image: null + - id: 2907 + name: Studio Placebo + filtered_name: Placebo + real: false + image: null + - id: 2906 + name: Kobito + filtered_name: Kobito + real: false + image: null + - id: 2909 + name: Teddy + filtered_name: Teddy + real: false + image: null + - id: 2911 + name: Studio Eight Color + filtered_name: Eight Color + real: false + image: null + - id: 1095 + name: Studio Cockpit + filtered_name: Cockpit + real: false + image: null + - id: 3221 + name: Miyajima Film + filtered_name: Miyajima Film + real: false + image: null + - id: 3234 + name: InfiniOrange Animation Studio + filtered_name: InfiniOrange Animation + real: false + image: null + - id: 3235 + name: Origin + filtered_name: Origin + real: false + image: null + - id: 2462 + name: Seasun Pictures + filtered_name: Seasun Pictures + real: false + image: null + - id: 3180 + name: Number 19 Animation + filtered_name: Number 19 + real: false + image: null + - id: 3248 + name: Igloo Studio + filtered_name: Igloo + real: false + image: null + - id: 22 + name: Nippon Animation + filtered_name: Nippon + real: true + image: /system/studios/original/22.jpg?1311292709 + - id: 24 + name: Studio Fantasia + filtered_name: Fantasia + real: true + image: /system/studios/original/24.jpg?1311292711 + - id: 32 + name: Manglobe + filtered_name: Manglobe + real: true + image: /system/studios/original/32.png?1311292714 + - id: 2914 + name: Creative House Pocket + filtered_name: Creative House Pocket + real: false + image: null + - id: 79 + name: Genco + filtered_name: Genco + real: false + image: /system/studios/original/79.jpg?1311292710 + - id: 126 + name: Studio Comet + filtered_name: Comet + real: true + image: /system/studios/original/126.png?1311292714 + - id: 30 + name: Ajia-do + filtered_name: Ajia-do + real: true + image: /system/studios/original/30.png?1521916831 + - id: 2612 + name: Fengyun Animation + filtered_name: Fengyun + real: false + image: null + - id: 38 + name: Arms + filtered_name: Arms + real: true + image: /system/studios/original/38.jpg?1402569794 + - id: 41 + name: Satelight + filtered_name: Satelight + real: true + image: /system/studios/original/41.?1434707679 + - id: 43 + name: ufotable + filtered_name: ufotable + real: true + image: /system/studios/original/43.png?1311292714 + - id: 27 + name: Xebec + filtered_name: Xebec + real: true + image: /system/studios/original/27.?1450865151 + - id: 452 + name: Knack Productions + filtered_name: Knack + real: true + image: /system/studios/original/452.png?1589290493 + - id: 45 + name: Pink Pineapple + filtered_name: Pink Pineapple + real: true + image: /system/studios/original/45.?1370373738 + - id: 567 + name: D.A.S.T Corporation + filtered_name: D.A.S.T Corporation + real: false + image: null + - id: 1694 + name: AZ Creative + filtered_name: AZ Creative + real: false + image: null + - id: 48 + name: AIC + filtered_name: AIC + real: true + image: /system/studios/original/48.png?1311292709 + - id: 54 + name: Mook Animation + filtered_name: Mook + real: true + image: /system/studios/original/54.png?1311292710 + - id: 60 + name: Actas + filtered_name: Actas + real: true + image: /system/studios/original/60.png?1311292711 + - id: 67 + name: OB Planning + filtered_name: OB Planning + real: true + image: /system/studios/original/67.jpg?1311292711 + - id: 120 + name: TNK + filtered_name: TNK + real: true + image: /system/studios/original/120.png?1311292712 + - id: 95 + name: Doga Kobo + filtered_name: Doga Kobo + real: true + image: /system/studios/original/95.png?1312164950 + - id: 2078 + name: HIDEHOMARE + filtered_name: HIDEHOMARE + real: false + image: null + - id: 2080 + name: Super Normal Studio + filtered_name: Super Normal + real: false + image: null + - id: 56 + name: A-1 Pictures + filtered_name: A-1 Pictures + real: true + image: /system/studios/original/56.?1434707196 + - id: 852 + name: Nexus + filtered_name: Nexus + real: true + image: /system/studios/original/852.png?1589290569 + - id: 1575 + name: DR Movie + filtered_name: DR Movie + real: true + image: /system/studios/original/1575.png?1589290511 + - id: 1669 + name: production doA + filtered_name: production doA + real: true + image: /system/studios/original/1669.png?1589290587 + - id: 68 + name: Mushi Production + filtered_name: Mushi + real: true + image: /system/studios/original/68.jpg?1311292714 + - id: 73 + name: TMS Entertainment + filtered_name: TMS + real: true + image: /system/studios/original/73.?1413190852 + - id: 2841 + name: Maruga Factory + filtered_name: Maruga Factory + real: false + image: null + - id: 2845 + name: Dimps + filtered_name: Dimps + real: false + image: null + - id: 2831 + name: uzupiyo Animation & Digital Works + filtered_name: uzupiyo Animation & Digital Works + real: false + image: null + - id: 2060 + name: Wulifang + filtered_name: Wulifang + real: false + image: null + - id: 2555 + name: Year Young Culture + filtered_name: Year Young Culture + real: false + image: null + - id: 2830 + name: Artner + filtered_name: Artner + real: false + image: null + - id: 77 + name: APPP + filtered_name: APPP + real: true + image: /system/studios/original/77.jpg?1311292713 + - id: 81 + name: Radix + filtered_name: Radix + real: true + image: /system/studios/original/81.jpg?1311292712 + - id: 84 + name: Studio Rikka + filtered_name: Rikka + real: true + image: /system/studios/original/84.jpg?1312165073 + - id: 86 + name: Group TAC + filtered_name: Group TAC + real: true + image: /system/studios/original/86.png?1311292712 + - id: 101 + name: Studio Hibari + filtered_name: Hibari + real: true + image: /system/studios/original/101.jpg?1311292714 + - id: 110 + name: Triangle Staff + filtered_name: Triangle Staff + real: true + image: /system/studios/original/110.?1434707010 + - id: 111 + name: NHK + filtered_name: NHK + real: true + image: /system/studios/original/111.png?1538666067 + - id: 118 + name: SynergySP + filtered_name: SynergySP + real: true + image: /system/studios/original/118.jpg?1311292710 + - id: 2079 + name: Animation Lab Japan + filtered_name: Lab Japan + real: false + image: null + - id: 75 + name: Imagin + filtered_name: Imagin + real: true + image: /system/studios/original/75.jpg?1311292712 + - id: 132 + name: P.A. Works + filtered_name: P.A. Works + real: true + image: /system/studios/original/132.?1434707384 + - id: 144 + name: Pony Canyon + filtered_name: Pony Canyon + real: true + image: /system/studios/original/144.jpg?1311292711 + - id: 179 + name: A.C.G.T. + filtered_name: A.C.G.T. + real: true + image: /system/studios/original/179.jpg?1388083492 + - id: 196 + name: Production Reed + filtered_name: Production Reed + real: true + image: /system/studios/original/196.jpg?1311292712 + - id: 242 + name: Ashi Productions + filtered_name: Ashi + real: true + image: /system/studios/original/242.png?1540563216 + - id: 215 + name: Nelvana + filtered_name: Nelvana + real: true + image: /system/studios/original/215.?1434707213 + - id: 234 + name: Oh! Production + filtered_name: Oh! + real: true + image: /system/studios/original/234.jpg?1311292713 + - id: 247 + name: Shin-Ei Animation + filtered_name: Shin-Ei + real: true + image: /system/studios/original/247.png?1510312671 + - id: 287 + name: David Production + filtered_name: David + real: true + image: /system/studios/original/287.jpg?1311292711 + - id: 200 + name: Tezuka Productions + filtered_name: Tezuka + real: true + image: /system/studios/original/200.gif?1312165075 + - id: 218 + name: Zexcs + filtered_name: Zexcs + real: true + image: /system/studios/original/218.png?1311292712 + - id: 291 + name: CoMix Wave Films + filtered_name: CoMix Wave Films + real: true + image: /system/studios/original/291.png?1456439666 + - id: 309 + name: GoHands + filtered_name: GoHands + real: true + image: /system/studios/original/309.?1434708437 + - id: 314 + name: White Fox + filtered_name: White Fox + real: true + image: /system/studios/original/314.jpg?1311292714 + - id: 329 + name: Phoenix Entertainment + filtered_name: Phoenix + real: true + image: /system/studios/original/329.gif?1311292713 + - id: 334 + name: Ordet + filtered_name: Ordet + real: true + image: /system/studios/original/334.gif?1312165042 + - id: 342 + name: Japan Home Video + filtered_name: Japan Home Video + real: true + image: /system/studios/original/342.gif?1311292713 + - id: 385 + name: Tele-Cartoon Japan + filtered_name: Tele-Cartoon Japan + real: true + image: null + - id: 406 + name: Asahi Production + filtered_name: Asahi + real: true + image: /system/studios/original/406.gif?1311292709 + - id: 228 + name: Daewon Media + filtered_name: Daewon Media + real: true + image: /system/studios/original/228.png?1499498217 + - id: 441 + name: 8bit + filtered_name: 8bit + real: true + image: /system/studios/original/441.png?1451469013 + - id: 455 + name: Palm Studio + filtered_name: Palm + real: true + image: null + - id: 456 + name: Lerche + filtered_name: Lerche + real: true + image: /system/studios/original/456.png?1538666349 + - id: 486 + name: Digital Frontier + filtered_name: Digital Frontier + real: true + image: /system/studios/original/486.jpg?1311292713 + - id: 535 + name: Knack Animation + filtered_name: Knack + real: true + image: null + - id: 569 + name: MAPPA + filtered_name: MAPPA + real: true + image: /system/studios/original/569.png?1351013196 + - id: 609 + name: Cammot + filtered_name: Cammot + real: true + image: /system/studios/original/609.jpg?1356523473 + - id: 825 + name: Fifth Avenue + filtered_name: Fifth Avenue + real: true + image: /system/studios/original/825.png?1352398063 + - id: 858 + name: Wit Studio + filtered_name: Wit + real: true + image: /system/studios/original/858.png?1366652107 + - id: 894 + name: Graphinica + filtered_name: Graphinica + real: true + image: /system/studios/original/894.?1521916447 + - id: 911 + name: Passione + filtered_name: Passione + real: true + image: /system/studios/original/911.jpg?1402343502 + - id: 951 + name: NAZ + filtered_name: NAZ + real: true + image: /system/studios/original/951.png?1390414002 + - id: 1023 + name: Polygon Pictures + filtered_name: Polygon Pictures + real: true + image: /system/studios/original/1023.png?1492152889 + - id: 1091 + name: Gakken Eigakyoku + filtered_name: Gakken Eigakyoku + real: true + image: null + - id: 1127 + name: Studio 3Hz + filtered_name: 3Hz + real: true + image: /system/studios/original/1127.?1451206542 + - id: 1129 + name: Pierrot Plus + filtered_name: Pierrot Plus + real: true + image: /system/studios/original/1129.jpg?1404514265 + - id: 112 + name: Brain's Base + filtered_name: Brain's Base + real: true + image: /system/studios/original/112.png?1311292714 + - id: 1229 + name: Pie in the sky + filtered_name: Pie in the sky + real: false + image: null + - id: 28 + name: OLM + filtered_name: OLM + real: true + image: /system/studios/original/28.png?1523482474 + - id: 443 + name: Studio PuYUKAI + filtered_name: PuYUKAI + real: true + image: /system/studios/original/443.png?1521917173 + - id: 3231 + name: Qingkong Qian Li + filtered_name: Qingkong Qian Li + real: false + image: null + - id: 839 + name: LIDENFILMS + filtered_name: LIDENFILMS + real: false + image: /system/studios/original/839.?1369247736 + - id: 37 + name: Studio Deen + filtered_name: Deen + real: true + image: /system/studios/original/37.?1434707541 + - id: 1591 + name: Science SARU + filtered_name: Science SARU + real: false + image: /system/studios/original/1591.png?1589293915 + - id: 472 + name: Usagi Ou + filtered_name: Usagi Ou + real: false + image: null + - id: 2053 + name: l-a-unch・BOX + filtered_name: l-a-unch・BOX + real: false + image: null + - id: 2081 + name: JJJOY Animation Studios + filtered_name: JJJOY Animation + real: false + image: null + - id: 1521 + name: Studio Elle + filtered_name: Elle + real: false + image: null + - id: 44 + name: Shaft + filtered_name: Shaft + real: true + image: /system/studios/original/44.png?1503215283 + - id: 103 + name: Tatsunoko Production + filtered_name: Tatsunoko + real: true + image: /system/studios/original/103.jpg?1311292713 + - id: 1529 + name: Studio M2 + filtered_name: M2 + real: false + image: null + - id: 1278 + name: Signal.MD + filtered_name: Signal.MD + real: true + image: /system/studios/original/1278.png?1454409341 + - id: 36 + name: Gallop + filtered_name: Gallop + real: true + image: /system/studios/original/36.jpg?1311292711 + - id: 2846 + name: Studio Bingo + filtered_name: Bingo + real: false + image: null + - id: 2916 + name: Reirs + filtered_name: Reirs + real: false + image: null + - id: 2917 + name: Soigne + filtered_name: Soigne + real: false + image: null + - id: 2635 + name: Escape Velocity Animation + filtered_name: Escape Velocity + real: false + image: null + - id: 1374 + name: Office TakeOut + filtered_name: Office TakeOut + real: false + image: null + - id: 2919 + name: Le-joy Animation Studio + filtered_name: Le-joy Animation + real: false + image: null + - id: 2921 + name: Public Enemies + filtered_name: Public Enemies + real: false + image: null + - id: 62 + name: Shogakukan-Shueisha Productions + filtered_name: Shogakukan-Shueisha + real: false + image: /system/studios/original/62.png?1589819032 + - id: 2928 + name: Elias + filtered_name: Elias + real: false + image: null + - id: 2387 + name: Ga-Crew + filtered_name: Ga-Crew + real: false + image: null + - id: 2929 + name: Studio Outrigger + filtered_name: Outrigger + real: false + image: null + - id: 1524 + name: Geidai Animation + filtered_name: Geidai + real: false + image: null + - id: 2832 + name: VROOOOM + filtered_name: VROOOOM + real: false + image: null + - id: 2834 + name: Hero + filtered_name: Hero + real: false + image: null + - id: 2833 + name: Sofix + filtered_name: Sofix + real: false + image: null + - id: 601 + name: lxtl + filtered_name: lxtl + real: false + image: null + - id: 1796 + name: Digital Network Animation + filtered_name: Digital Network + real: false + image: null + - id: 11 + name: Madhouse + filtered_name: Madhouse + real: true + image: /system/studios/original/11.png?1457607773 + - id: 298 + name: Anima + filtered_name: Anima + real: true + image: /system/studios/original/298.gif?1311292712 + - id: 324 + name: Directions + filtered_name: Directions + real: false + image: null + - id: 1835 + name: CloverWorks + filtered_name: CloverWorks + real: false + image: /system/studios/original/1835.png?1545379956 + - id: 113 + name: Kadokawa Shoten + filtered_name: Kadokawa Shoten + real: false + image: /system/studios/original/113.png?1589290618 + - id: 1381 + name: GEMBA + filtered_name: GEMBA + real: false + image: /system/studios/original/1381.png?1589290956 + - id: 1119 + name: Shuka + filtered_name: Shuka + real: false + image: /system/studios/original/1119.png?1589290644 + - id: 1567 + name: Nut + filtered_name: Nut + real: false + image: /system/studios/original/1567.png?1589291975 + - id: 1113 + name: NBCUniversal Entertainment + filtered_name: NBCUniversal + real: false + image: /system/studios/original/1113.png?1589290662 + - id: 1155 + name: Studio Moriken + filtered_name: Moriken + real: false + image: /system/studios/original/1155.png?1589290679 + - id: 1974 + name: ENGI + filtered_name: ENGI + real: false + image: /system/studios/original/1974.png?1589291508 + - id: 1978 + name: Maho Film + filtered_name: Maho Film + real: false + image: /system/studios/original/1978.png?1589291589 + - id: 1874 + name: Arvo Animation + filtered_name: Arvo + real: false + image: /system/studios/original/1874.png?1589292077 + - id: 1560 + name: Yaoyorozu + filtered_name: Yaoyorozu + real: false + image: /system/studios/original/1560.png?1592307504 + - id: 1722 + name: Bibury Animation Studios + filtered_name: Bibury Animation + real: false + image: /system/studios/original/1722.png?1589292455 + - id: 1407 + name: Children's Playground Entertainment + filtered_name: Children's Playground + real: false + image: /system/studios/original/1407.png?1589293184 + - id: 2076 + name: Fenz + filtered_name: Fenz + real: false + image: null + - id: 407 + name: Studio 9 Maiami + filtered_name: 9 Maiami + real: false + image: null + - id: 25 + name: Milky Animation Label + filtered_name: Milky Animation Label + real: false + image: /system/studios/original/25.png?1589819105 + - id: 2055 + name: BYMENT + filtered_name: BYMENT + real: false + image: null + - id: 72 + name: Artmic + filtered_name: Artmic + real: false + image: /system/studios/original/72.png?1589819208 + - id: 76 + name: Yomiuri Telecasting Corporation + filtered_name: Yomiuri Telecasting Corporation + real: false + image: /system/studios/original/76.png?1589819266 + - id: 2046 + name: Dazzling Star + filtered_name: Dazzling Star + real: false + image: null + - id: 2047 + name: Pancake + filtered_name: Pancake + real: false + image: null + - id: 2048 + name: ASK Animation Studio + filtered_name: ASK Animation + real: false + image: null + - id: 139 + name: Nihon Ad Systems + filtered_name: Nihon Ad Systems + real: false + image: /system/studios/original/139.jpg?1311292712 + - id: 2056 + name: DRAWIZ + filtered_name: DRAWIZ + real: false + image: null + - id: 2057 + name: Toho Interactive Animation + filtered_name: Toho Interactive + real: false + image: null + - id: 2802 + name: Yudubai Animation + filtered_name: Yudubai + real: false + image: null + - id: 2061 + name: Kaca Entertainment + filtered_name: Kaca + real: false + image: null + - id: 1998 + name: Studio Signpost + filtered_name: Signpost + real: false + image: /system/studios/original/1998.png?1592731885 + - id: 1033 + name: Studio Colorido + filtered_name: Colorido + real: false + image: /system/studios/original/1033.png?1592734014 + - id: 2063 + name: Spell Bound + filtered_name: Spell Bound + real: false + image: null + - id: 1958 + name: YHKT Entertainment + filtered_name: YHKT + real: false + image: null + - id: 2065 + name: Original Force + filtered_name: Original Force + real: false + image: null + - id: 2066 + name: Congzhuo Animation + filtered_name: Congzhuo + real: false + image: null + - id: 2068 + name: Ai Si Animation Studio + filtered_name: Ai Si Animation + real: false + image: null + - id: 2848 + name: Taiko Studios + filtered_name: Taiko + real: false + image: null + - id: 1959 + name: Green Monster Team + filtered_name: Green Monster Team + real: false + image: null + - id: 2069 + name: Making Animation + filtered_name: Making + real: false + image: null + - id: 2070 + name: Wei Chuang Jiang Xin + filtered_name: Wei Chuang Jiang Xin + real: false + image: null + - id: 325 + name: Code + filtered_name: Code + real: false + image: null + - id: 312 + name: Life Work + filtered_name: Life Work + real: false + image: null + - id: 2073 + name: Painting Dream + filtered_name: Painting Dream + real: false + image: null + - id: 1111 + name: DandeLion Animation Studio + filtered_name: DandeLion Animation + real: false + image: null + - id: 249 + name: Robot Communications + filtered_name: Robot Communications + real: false + image: /system/studios/original/249.jpg?1311292714 + - id: 2064 + name: Mokai Technology + filtered_name: Mokai Technology + real: false + image: null + - id: 318 + name: WAO World + filtered_name: WAO World + real: false + image: /system/studios/original/318.jpg?1312165039 + - id: 1276 + name: HS Pictures Studio + filtered_name: HS Pictures + real: false + image: null + - id: 1764 + name: Picona + filtered_name: Picona + real: false + image: null + - id: 64 + name: Sotsu + filtered_name: Sotsu + real: false + image: /system/studios/original/64.png?1449514256 + - id: 374 + name: Plus Heads + filtered_name: Plus Heads + real: false + image: null + - id: 2051 + name: Studio Coa + filtered_name: Coa + real: false + image: null + - id: 175 + name: Planet + filtered_name: Planet + real: false + image: /system/studios/original/175.png?1311292713 + - id: 258 + name: Echo + filtered_name: Echo + real: false + image: /system/studios/original/258.gif?1311292713 + - id: 1727 + name: Tencent Penguin Pictures + filtered_name: Tencent Penguin Pictures + real: false + image: null + - id: 2082 + name: Benlai Pictures + filtered_name: Benlai Pictures + real: false + image: null + - id: 3236 + name: Ke Yue Xue Zi + filtered_name: Ke Yue Xue Zi + real: false + image: null + - id: 2085 + name: Acca effe + filtered_name: Acca effe + real: false + image: null + - id: 2086 + name: Giga Production + filtered_name: Giga + real: false + image: null + - id: 2089 + name: Wan Wei Mao Donghua + filtered_name: Wan Wei Mao Donghua + real: false + image: null + - id: 1696 + name: Kadokawa + filtered_name: Kadokawa + real: false + image: null + - id: 2114 + name: Ether Kitten + filtered_name: Ether Kitten + real: false + image: null + - id: 2115 + name: Gosay Studio + filtered_name: Gosay + real: false + image: null + - id: 2122 + name: PERIMETRON + filtered_name: PERIMETRON + real: false + image: null + - id: 2125 + name: LICO + filtered_name: LICO + real: false + image: null + - id: 2126 + name: Red Dog Culture House + filtered_name: Red Dog Culture House + real: false + image: null + - id: 2123 + name: foodunited. + filtered_name: foodunited. + real: false + image: null + - id: 2129 + name: Visual Flight + filtered_name: Visual Flight + real: false + image: null + - id: 2130 + name: Studio Shelter + filtered_name: Shelter + real: false + image: null + - id: 2133 + name: Djinn Power + filtered_name: Djinn Power + real: false + image: null + - id: 2136 + name: Ten Tails Animation + filtered_name: Ten Tails + real: false + image: null + - id: 2137 + name: 1IN + filtered_name: 1IN + real: false + image: null + - id: 1671 + name: DMM pictures + filtered_name: DMM pictures + real: false + image: null + - id: 2140 + name: Qianqi Animation + filtered_name: Qianqi + real: false + image: null + - id: 1939 + name: Alpha Animation + filtered_name: Alpha + real: false + image: null + - id: 2141 + name: TANOsim + filtered_name: TANOsim + real: false + image: null + - id: 2142 + name: LEVELS + filtered_name: LEVELS + real: false + image: null + - id: 2143 + name: LX Animation Studio + filtered_name: LX Animation + real: false + image: null + - id: 2151 + name: Ekakiya + filtered_name: Ekakiya + real: false + image: null + - id: 16 + name: TV Tokyo + filtered_name: TV Tokyo + real: false + image: /system/studios/original/16.png?1602436319 + - id: 99 + name: Kitty Films + filtered_name: Kitty Films + real: false + image: /system/studios/original/99.png?1602436341 + - id: 119 + name: Viz Media + filtered_name: Viz Media + real: false + image: /system/studios/original/119.png?1602436368 + - id: 577 + name: Tohokushinsha Film Corporation + filtered_name: Tohokushinsha Film Corporation + real: false + image: /system/studios/original/577.png?1602436391 + - id: 1451 + name: TYO + filtered_name: TYO + real: false + image: null + - id: 2158 + name: Durufix + filtered_name: Durufix + real: false + image: null + - id: 2067 + name: Flat Studio + filtered_name: Flat + real: false + image: null + - id: 2162 + name: Maxilla + filtered_name: Maxilla + real: false + image: null + - id: 2163 + name: Teatro Nishi Tokyo Studio + filtered_name: Teatro Nishi Tokyo + real: false + image: null + - id: 2161 + name: Suspenders + filtered_name: Suspenders + real: false + image: null + - id: 2164 + name: Super Brain + filtered_name: Super Brain + real: false + image: null + - id: 2171 + name: Paper Animation + filtered_name: Paper + real: false + image: null + - id: 2172 + name: Original Dream + filtered_name: Original Dream + real: false + image: null + - id: 2210 + name: Jichitai Anime + filtered_name: Jichitai Anime + real: false + image: null + - id: 2209 + name: Reiki Eyes Animation + filtered_name: Reiki Eyes + real: false + image: null + - id: 1322 + name: Creative Power Entertaining + filtered_name: Creative Power Entertaining + real: false + image: null + - id: 513 + name: Nikkatsu + filtered_name: Nikkatsu + real: false + image: null + - id: 2168 + name: Okuroto Noboru + filtered_name: Okuroto Noboru + real: false + image: null + - id: 2213 + name: Magma Studio + filtered_name: Magma + real: false + image: null + - id: 395 + name: Oz Inc. + filtered_name: Oz Inc. + real: false + image: /system/studios/original/395.jpg?1311292712 + - id: 1424 + name: Mediabank + filtered_name: Mediabank + real: false + image: null + - id: 2216 + name: CMAY Animation + filtered_name: CMAY + real: false + image: null + - id: 397 + name: Bridge + filtered_name: Bridge + real: false + image: /system/studios/original/397.png?1618089168 + - id: 2226 + name: Gambit + filtered_name: Gambit + real: false + image: null + - id: 1772 + name: Wawayu Animation + filtered_name: Wawayu + real: false + image: /system/studios/original/1772.png?1622293492 + - id: 2054 + name: MORIE Inc. + filtered_name: MORIE Inc. + real: false + image: /system/studios/original/2054.jpg?1622293375 + - id: 235 + name: Shirogumi + filtered_name: Shirogumi + real: false + image: /system/studios/original/235.png?1622293552 + - id: 134 + name: HoriPro + filtered_name: HoriPro + real: false + image: /system/studios/original/134.jpg?1312165065 + - id: 1268 + name: L²Studio + filtered_name: L²Studio + real: false + image: /system/studios/original/1268.png?1622293459 + - id: 1181 + name: RG Animation Studios + filtered_name: RG Animation + real: false + image: /system/studios/original/1181.png?1623010269 + - id: 1848 + name: Dancing CG Studio + filtered_name: Dancing CG + real: false + image: /system/studios/original/1848.jpg?1623010295 + - id: 2265 + name: ARECT + filtered_name: ARECT + real: false + image: null + - id: 517 + name: Asmik Ace + filtered_name: Asmik Ace + real: false + image: null + - id: 2179 + name: FIREBUG + filtered_name: FIREBUG + real: false + image: null + - id: 2052 + name: Wolfsbane + filtered_name: Wolfsbane + real: false + image: /system/studios/original/2052.png?1618485056 + - id: 3237 + name: Nothing New + filtered_name: Nothing New + real: false + image: null + - id: 957 + name: Connect + filtered_name: Connect + real: false + image: /system/studios/original/957.png?1618484882 + - id: 1075 + name: C-Station + filtered_name: C-Station + real: false + image: /system/studios/original/1075.png?1618484892 + - id: 1547 + name: Blade + filtered_name: Blade + real: false + image: /system/studios/original/1547.png?1618484901 + - id: 1109 + name: Orange + filtered_name: Orange + real: false + image: /system/studios/original/1109.png?1618484926 + - id: 1264 + name: EMT Squared + filtered_name: EMT Squared + real: false + image: /system/studios/original/1264.png?1618484969 + - id: 1087 + name: Lay-duce + filtered_name: Lay-duce + real: false + image: /system/studios/original/1087.png?1618484978 + - id: 2037 + name: Okuruto Noboru + filtered_name: Okuruto Noboru + real: false + image: /system/studios/original/2037.png?1618484990 + - id: 2243 + name: Quebico + filtered_name: Quebico + real: false + image: null + - id: 1984 + name: Bakken Record + filtered_name: Bakken Record + real: false + image: /system/studios/original/1984.png?1618485001 + - id: 1209 + name: Studio A-CAT + filtered_name: A-CAT + real: false + image: /system/studios/original/1209.png?1618485018 + - id: 1993 + name: Studio Bind + filtered_name: Bind + real: false + image: /system/studios/original/1993.png?1618485032 + - id: 1244 + name: Studio VOLN + filtered_name: VOLN + real: false + image: /system/studios/original/1244.png?1618485045 + - id: 3042 + name: Project Studio Q + filtered_name: Project Studio Q + real: false + image: null + - id: 2244 + name: Studio Gohan + filtered_name: Gohan + real: false + image: null + - id: 2239 + name: Transcendence Picture + filtered_name: Transcendence Picture + real: false + image: null + - id: 2097 + name: HORNETS + filtered_name: HORNETS + real: false + image: null + - id: 2247 + name: Delight Animation + filtered_name: Delight + real: false + image: null + - id: 2248 + name: Indivision + filtered_name: Indivision + real: false + image: null + - id: 2250 + name: Spooky graphic + filtered_name: Spooky graphic + real: false + image: null + - id: 2251 + name: TthunDer Animation + filtered_name: TthunDer + real: false + image: null + - id: 2252 + name: Studio Kingyoiro + filtered_name: Kingyoiro + real: false + image: null + - id: 1991 + name: Enishiya + filtered_name: Enishiya + real: false + image: /system/studios/original/1991.png?1622293434 + - id: 2266 + name: Planet Nemo Animation + filtered_name: Planet Nemo + real: false + image: null + - id: 2267 + name: MMT Technology + filtered_name: MMT Technology + real: false + image: null + - id: 2050 + name: Trash Studio + filtered_name: Trash + real: false + image: null + - id: 1573 + name: XFLAG Pictures + filtered_name: XFLAG Pictures + real: false + image: null + - id: 2270 + name: Wise Guy + filtered_name: Wise Guy + real: false + image: null + - id: 2281 + name: Rocen + filtered_name: Rocen + real: false + image: null + - id: 1465 + name: Beijing Enlight Pictures + filtered_name: Beijing Enlight Pictures + real: false + image: null + - id: 1420 + name: SIDO LIMITED + filtered_name: SIDO LIMITED + real: false + image: null + - id: 2256 + name: Kitty Film Mitaka Studio + filtered_name: Kitty Film Mitaka + real: false + image: null + - id: 1982 + name: LIDENFILMS Osaka Studio + filtered_name: LIDENFILMS Osaka + real: false + image: null + - id: 1728 + name: China Literature Limited + filtered_name: China Literature Limited + real: false + image: null + - id: 2241 + name: Dawn Animation + filtered_name: Dawn + real: false + image: null + - id: 2033 + name: FILMONY + filtered_name: FILMONY + real: false + image: /system/studios/original/2033.png?1622293447 + - id: 1350 + name: B.CMAY PICTURES + filtered_name: B.CMAY PICTURES + real: false + image: /system/studios/original/1350.png?1622293480 + - id: 2042 + name: Ruo Hong Culture + filtered_name: Ruo Hong Culture + real: false + image: /system/studios/original/2042.png?1622293522 + - id: 2249 + name: Flagship Line + filtered_name: Flagship Line + real: false + image: null + - id: 2211 + name: Lingsanwu Animation + filtered_name: Lingsanwu + real: false + image: null + - id: 2767 + name: Euluca Lab + filtered_name: Euluca Lab + real: false + image: null + - id: 1975 + name: Qubic Pictures + filtered_name: Qubic Pictures + real: false + image: /system/studios/original/1975.png?1622293576 + - id: 1807 + name: 2:10 Animation + filtered_name: '2:10' + real: false + image: /system/studios/original/1807.png?1622293331 + - id: 3044 + name: Bellnox Films + filtered_name: Bellnox Films + real: false + image: null + - id: 3240 + name: Soul Creative + filtered_name: Soul Creative + real: false + image: null + - id: 999 + name: Studio Animal + filtered_name: Animal + real: false + image: /system/studios/original/999.png?1622293600 + - id: 555 + name: Studio Chizu + filtered_name: Chizu + real: false + image: /system/studios/original/555.jpg?1623010280 + - id: 2268 + name: Point Pictures + filtered_name: Point Pictures + real: false + image: null + - id: 1441 + name: Mippei Eigeki Kiryuukan + filtered_name: Mippei Eigeki Kiryuukan + real: false + image: null + - id: 2257 + name: XEBEC M2 + filtered_name: XEBEC M2 + real: false + image: null + - id: 2282 + name: Studio Guts + filtered_name: Guts + real: false + image: null + - id: 2277 + name: Network Kouenji Studio + filtered_name: Network Kouenji + real: false + image: null + - id: 1906 + name: animate + filtered_name: animate + real: false + image: null + - id: 274 + name: Suzuki Mirano + filtered_name: Suzuki Mirano + real: false + image: /system/studios/original/274.png?1630137135 + - id: 2049 + name: BOMB! CUTE! BOMB! + filtered_name: BOMB! CUTE! BOMB! + real: false + image: /system/studios/original/2049.jpg?1630217401 + - id: 801 + name: Nihikime no Dozeu + filtered_name: Nihikime no Dozeu + real: false + image: /system/studios/original/801.png?1634761282 + - id: 2246 + name: studio MOTHER + filtered_name: MOTHER + real: false + image: /system/studios/original/2246.png?1647107739 + - id: 2288 + name: Qzil.la + filtered_name: Qzil.la + real: false + image: /system/studios/original/2288.png?1634761052 + - id: 2212 + name: Tsumugi Akita Animation Lab + filtered_name: Tsumugi Akita Animation Lab + real: false + image: /system/studios/original/2212.png?1634761138 + - id: 2167 + name: Hololive Production + filtered_name: Hololive + real: false + image: /system/studios/original/2167.png?1634761299 + - id: 417 + name: Walt Disney Studios + filtered_name: Walt Disney + real: false + image: /system/studios/original/417.png?1634762368 + - id: 2275 + name: Drawing and Manual + filtered_name: Drawing and Manual + real: false + image: /system/studios/original/2275.jpg?1634761573 + - id: 278 + name: Daiei Film Co. Ltd. + filtered_name: Daiei Film Co. Ltd. + real: false + image: /system/studios/original/278.png?1635331219 + - id: 14 + name: Sunrise + filtered_name: Sunrise + real: true + image: /system/studios/original/14.jpg?1630137154 + - id: 1827 + name: Motion Magic + filtered_name: Motion Magic + real: false + image: /system/studios/original/1827.png?1634760933 + - id: 541 + name: Seven + filtered_name: Seven + real: false + image: /system/studios/original/541.jpg?1630217381 + - id: 581 + name: Sparky Animation + filtered_name: Sparky + real: false + image: /system/studios/original/581.png?1634761084 + - id: 862 + name: Pashmina + filtered_name: Pashmina + real: false + image: /system/studios/original/862.png?1630217416 + - id: 1800 + name: Marui Group + filtered_name: Marui Group + real: false + image: /system/studios/original/1800.png?1634760961 + - id: 1721 + name: Gold Bear + filtered_name: Gold Bear + real: false + image: /system/studios/original/1721.png?1630217488 + - id: 977 + name: Queen Bee + filtered_name: Queen Bee + real: false + image: /system/studios/original/977.png?1630217509 + - id: 2295 + name: Story Effect + filtered_name: Story Effect + real: false + image: null + - id: 2296 + name: Studio Nuck + filtered_name: Nuck + real: false + image: null + - id: 2297 + name: EXNOA + filtered_name: EXNOA + real: false + image: null + - id: 2620 + name: Manhoo Culture + filtered_name: Manhoo Culture + real: false + image: null + - id: 2304 + name: TrioPen Studio + filtered_name: TrioPen + real: false + image: null + - id: 2303 + name: Noovo + filtered_name: Noovo + real: false + image: null + - id: 2302 + name: Nostalook + filtered_name: Nostalook + real: false + image: null + - id: 2300 + name: Studio Jemi + filtered_name: Jemi + real: false + image: null + - id: 2306 + name: LIDENFILMS Kyoto Studio + filtered_name: LIDENFILMS Kyoto + real: false + image: null + - id: 2301 + name: Borutong + filtered_name: Borutong + real: false + image: null + - id: 2305 + name: Fukushima Gaina + filtered_name: Fukushima Gaina + real: false + image: null + - id: 2310 + name: Paper Plane Animation Studio + filtered_name: Paper Plane Animation + real: false + image: null + - id: 2311 + name: Gyorai Eizo Inc. + filtered_name: Gyorai Eizo Inc. + real: false + image: null + - id: 2313 + name: studio hb + filtered_name: hb + real: false + image: null + - id: 2314 + name: Quad + filtered_name: Quad + real: false + image: null + - id: 2269 + name: New Generation + filtered_name: New Generation + real: false + image: null + - id: 2318 + name: ORADA COMPANY + filtered_name: ORADA COMPANY + real: false + image: null + - id: 2316 + name: Maboroshi Koubou + filtered_name: Maboroshi Koubou + real: false + image: null + - id: 2325 + name: Bibury Animation CG + filtered_name: Bibury Animation CG + real: false + image: null + - id: 2315 + name: Office No. 8 + filtered_name: Office No. 8 + real: false + image: null + - id: 2322 + name: Mousou Senka + filtered_name: Mousou Senka + real: false + image: null + - id: 2317 + name: Dream Entertainment + filtered_name: Dream + real: false + image: null + - id: 220 + name: Youmex + filtered_name: Youmex + real: false + image: /system/studios/original/220.png?1634761102 + - id: 1299 + name: AXsiZ + filtered_name: AXsiZ + real: false + image: /system/studios/original/1299.png?1634760861 + - id: 1903 + name: IMAGICA Lab. + filtered_name: IMAGICA Lab. + real: false + image: /system/studios/original/1903.png?1634761124 + - id: 2059 + name: Suoyi Technology + filtered_name: Suoyi Technology + real: false + image: /system/studios/original/2059.png?1634761315 + - id: 1673 + name: DMM.futureworks + filtered_name: DMM.futureworks + real: false + image: /system/studios/original/1673.jpg?1634760979 + - id: 2812 + name: Zuiyo + filtered_name: Zuiyo + real: false + image: null + - id: 2184 + name: The Monk Studios + filtered_name: The Monk + real: false + image: /system/studios/original/2184.png?1634761155 + - id: 2071 + name: AQUA ARIS + filtered_name: AQUA ARIS + real: false + image: /system/studios/original/2071.png?1634760993 + - id: 154 + name: E&G Films + filtered_name: E&G Films + real: false + image: /system/studios/original/154.jpg?1634761173 + - id: 945 + name: Vasoon Animation + filtered_name: Vasoon + real: false + image: /system/studios/original/945.png?1634761013 + - id: 2309 + name: Kamitsubaki Studio + filtered_name: Kamitsubaki + real: false + image: /system/studios/original/2309.jpg?1634761753 + - id: 400 + name: Gathering + filtered_name: Gathering + real: true + image: /system/studios/original/400.png?1634761199 + - id: 1185 + name: 81 Produce + filtered_name: 81 Produce + real: false + image: /system/studios/original/1185.png?1634761215 + - id: 1995 + name: Live2D Creative Studio + filtered_name: Live2D Creative + real: false + image: /system/studios/original/1995.png?1634761229 + - id: 1197 + name: Steve N' Steven + filtered_name: Steve N' Steven + real: false + image: /system/studios/original/1197.jpg?1634761250 + - id: 270 + name: NuTech Digital + filtered_name: NuTech Digital + real: false + image: /system/studios/original/270.jpg?1634761330 + - id: 1011 + name: Warner Music Japan + filtered_name: Warner Music Japan + real: false + image: /system/studios/original/1011.png?1634761591 + - id: 2284 + name: SJYNEXCUS + filtered_name: SJYNEXCUS + real: false + image: /system/studios/original/2284.png?1634761347 + - id: 866 + name: Fanworks + filtered_name: Fanworks + real: false + image: /system/studios/original/866.jpg?1634761417 + - id: 1169 + name: ILCA + filtered_name: ILCA + real: false + image: /system/studios/original/1169.png?1634761433 + - id: 896 + name: Larx Entertainment + filtered_name: Larx + real: false + image: /system/studios/original/896.png?1634761446 + - id: 3163 + name: Woodpecker + filtered_name: Woodpecker + real: false + image: null + - id: 94 + name: Telecom Animation Film + filtered_name: Telecom Animation Film + real: false + image: /system/studios/original/94.png?1663058478 + - id: 1265 + name: Tomovies + filtered_name: Tomovies + real: false + image: /system/studios/original/1265.jpg?1634761476 + - id: 1650 + name: Twilight Studio + filtered_name: Twilight + real: false + image: /system/studios/original/1650.png?1634761512 + - id: 2014 + name: Nur + filtered_name: Nur + real: false + image: /system/studios/original/2014.png?1634761693 + - id: 1099 + name: Cyclone Graphics + filtered_name: Cyclone Graphics + real: false + image: /system/studios/original/1099.png?1634761541 + - id: 3320 + name: ZG-R + filtered_name: ZG-R + real: false + image: null + - id: 1003 + name: Nippon Television Network Corporation + filtered_name: Nippon Television Network Corporation + real: false + image: /system/studios/original/1003.png?1634761606 + - id: 33 + name: WOWOW + filtered_name: WOWOW + real: false + image: /system/studios/original/33.png?1634823411 + - id: 288 + name: Kaname Productions + filtered_name: Kaname + real: false + image: /system/studios/original/288.jpg?1634761629 + - id: 2597 + name: Wong Ping Animation Lab + filtered_name: Wong Ping Animation Lab + real: false + image: null + - id: 2596 + name: Comma Studio + filtered_name: Comma + real: false + image: null + - id: 2411 + name: Studio Massket + filtered_name: Massket + real: false + image: null + - id: 2561 + name: OTOIRO + filtered_name: OTOIRO + real: false + image: null + - id: 2528 + name: Passion Paint Animation + filtered_name: Passion Paint + real: false + image: null + - id: 2600 + name: Cloud Hearts + filtered_name: Cloud Hearts + real: false + image: null + - id: 2593 + name: Angle + filtered_name: Angle + real: false + image: null + - id: 1776 + name: Studio Mir + filtered_name: Mir + real: false + image: null + - id: 1352 + name: Studio Ten Carat + filtered_name: Ten Carat + real: false + image: null + - id: 2327 + name: Studio Boogie Nights + filtered_name: Boogie Nights + real: false + image: null + - id: 199 + name: Studio Nue + filtered_name: Nue + real: true + image: /system/studios/original/199.png?1634761645 + - id: 1517 + name: Jinnan Studio + filtered_name: Jinnan + real: false + image: null + - id: 1426 + name: Studio Meditation With a Pencil + filtered_name: Meditation With a Pencil + real: false + image: /system/studios/original/1426.jpg?1634761662 + - id: 239 + name: Y.O.U.C + filtered_name: Y.O.U.C + real: false + image: /system/studios/original/239.png?1634761676 + - id: 2009 + name: Yostar Pictures + filtered_name: Yostar Pictures + real: false + image: /system/studios/original/2009.png?1636032300 + - id: 679 + name: Soyuzmultfilm + filtered_name: Soyuzmultfilm + real: false + image: null + - id: 1876 + name: CLAP + filtered_name: CLAP + real: false + image: /system/studios/original/1876.png?1634761725 + - id: 587 + name: Tomason + filtered_name: Tomason + real: false + image: /system/studios/original/587.jpg?1636032314 + - id: 2091 + name: Xanthus Media + filtered_name: Xanthus Media + real: false + image: /system/studios/original/2091.png?1634761739 + - id: 2326 + name: OLM Team Yoshioka + filtered_name: OLM Team Yoshioka + real: false + image: null + - id: 31 + name: Geneon Universal Entertainment + filtered_name: Geneon Universal + real: false + image: /system/studios/original/31.png?1634823431 + - id: 1340 + name: Typhoon Graphics + filtered_name: Typhoon Graphics + real: false + image: /system/studios/original/1340.png?1634823445 + - id: 2320 + name: Inugoya + filtered_name: Inugoya + real: false + image: null + - id: 2323 + name: Cafe de Jeilhouse + filtered_name: Cafe de Jeilhouse + real: false + image: null + - id: 53 + name: Dentsu Inc. + filtered_name: Dentsu Inc. + real: false + image: /system/studios/original/53.png?1636032323 + - id: 2341 + name: Studio Prokion + filtered_name: Prokion + real: false + image: null + - id: 207 + name: Magic Bus + filtered_name: Magic Bus + real: true + image: /system/studios/original/207.png?1635367859 + - id: 2321 + name: Production D.M.H + filtered_name: Production D.M.H + real: false + image: null + - id: 2319 + name: Datama Film + filtered_name: Datama Film + real: false + image: null + - id: 2328 + name: Sonsan Kikaku + filtered_name: Sonsan Kikaku + real: false + image: null + - id: 2340 + name: Cutie Bee + filtered_name: Cutie Bee + real: false + image: null + - id: 2337 + name: Studio Soul + filtered_name: Soul + real: false + image: null + - id: 2339 + name: Melissa + filtered_name: Melissa + real: false + image: null + - id: 2329 + name: Shinjukuza + filtered_name: Shinjukuza + real: false + image: null + - id: 2330 + name: Meltdown + filtered_name: Meltdown + real: false + image: null + - id: 2336 + name: Lead + filtered_name: Lead + real: false + image: null + - id: 2335 + name: Shindeban Film + filtered_name: Shindeban Film + real: false + image: null + - id: 2331 + name: Shura + filtered_name: Shura + real: false + image: null + - id: 2338 + name: Studio Ten + filtered_name: Ten + real: false + image: null + - id: 2355 + name: Alfred Imageworks + filtered_name: Alfred Imageworks + real: false + image: null + - id: 2342 + name: PP Project + filtered_name: PP Project + real: false + image: null + - id: 2356 + name: Kung Fu Frog Animation + filtered_name: Kung Fu Frog + real: false + image: null + - id: 2332 + name: Shion + filtered_name: Shion + real: false + image: null + - id: 2366 + name: Kigumi + filtered_name: Kigumi + real: false + image: null + - id: 2370 + name: Hayabusa Film + filtered_name: Hayabusa Film + real: false + image: null + - id: 2371 + name: Planet Cartoon + filtered_name: Planet Cartoon + real: false + image: null + - id: 2372 + name: Flint Sugar + filtered_name: Flint Sugar + real: false + image: null + - id: 2361 + name: Okumaza + filtered_name: Okumaza + real: false + image: null + - id: 2353 + name: P core + filtered_name: P core + real: false + image: null + - id: 2358 + name: Big Wing + filtered_name: Big Wing + real: false + image: null + - id: 2349 + name: Potato House + filtered_name: Potato House + real: false + image: null + - id: 2350 + name: Kantou Douga Kai + filtered_name: Kantou Douga Kai + real: false + image: null + - id: 2359 + name: Aiko + filtered_name: Aiko + real: false + image: null + - id: 2334 + name: Mouse + filtered_name: Mouse + real: false + image: null + - id: 2363 + name: JOF + filtered_name: JOF + real: false + image: null + - id: 2352 + name: Tryforce + filtered_name: Tryforce + real: false + image: null + - id: 2364 + name: Hanjin Animation + filtered_name: Hanjin + real: false + image: null + - id: 2379 + name: Scooter Films + filtered_name: Scooter Films + real: false + image: null + - id: 2611 + name: Fantawild Animation + filtered_name: Fantawild + real: false + image: null + - id: 2554 + name: Gekkou + filtered_name: Gekkou + real: false + image: null + - id: 2613 + name: Aurora Animation + filtered_name: Aurora + real: false + image: null + - id: 2595 + name: TypeZero + filtered_name: TypeZero + real: false + image: null + - id: 2472 + name: High Energy Studio + filtered_name: High Energy + real: false + image: null + - id: 2614 + name: Chongzhuo Animation + filtered_name: Chongzhuo + real: false + image: null + - id: 1414 + name: bilibili + filtered_name: bilibili + real: false + image: null + - id: 1831 + name: Colored Pencil Animation Japan + filtered_name: Colored Pencil Animation Japan + real: false + image: null + - id: 2478 + name: Oriental Creative Color + filtered_name: Oriental Creative Color + real: false + image: null + - id: 2396 + name: Joicy Studio + filtered_name: Joicy + real: false + image: null + - id: 3045 + name: Bones Film + filtered_name: Bones Film + real: false + image: null + - id: 2636 + name: Qingxiang Culture + filtered_name: Qingxiang Culture + real: false + image: null + - id: 1793 + name: Happy Elements + filtered_name: Happy Elements + real: false + image: null + - id: 2642 + name: E&H Production + filtered_name: E&H + real: false + image: null + - id: 2399 + name: Eshoya Honpo + filtered_name: Eshoya Honpo + real: false + image: null + - id: 1684 + name: THINKR + filtered_name: THINKR + real: false + image: null + - id: 1940 + name: Da Huoniao Donghua + filtered_name: Da Huoniao Donghua + real: false + image: null + - id: 2521 + name: Qiyuan Yinghua + filtered_name: Qiyuan Yinghua + real: false + image: null + - id: 377 + name: Kuri Jikken Manga Koubou + filtered_name: Kuri Jikken Manga Koubou + real: false + image: null + - id: 2646 + name: trenova + filtered_name: trenova + real: false + image: null + - id: 2649 + name: LB Commerce + filtered_name: LB Commerce + real: false + image: null + - id: 2648 + name: Au Praxinoscope + filtered_name: Au Praxinoscope + real: false + image: null + - id: 2652 + name: Gravity Well + filtered_name: Gravity Well + real: false + image: null + - id: 2651 + name: Stereotype + filtered_name: Stereotype + real: false + image: null + - id: 2658 + name: flag Co. + filtered_name: flag Co. + real: false + image: null + - id: 2656 + name: UchuPeople + filtered_name: UchuPeople + real: false + image: null + - id: 2661 + name: Kinematics + filtered_name: Kinematics + real: false + image: null + - id: 1857 + name: Geek Toys + filtered_name: Geek Toys + real: false + image: /system/studios/original/1857.png?1589291362 + - id: 2258 + name: Sharefun Studio + filtered_name: Sharefun + real: false + image: null + - id: 2294 + name: AHA Entertainment + filtered_name: AHA + real: false + image: null + - id: 2667 + name: Keyring + filtered_name: Keyring + real: false + image: null + - id: 2660 + name: UKA + filtered_name: UKA + real: false + image: null + - id: 2674 + name: BUG FILMS + filtered_name: BUG FILMS + real: false + image: null + - id: 2647 + name: Studio A. Craft + filtered_name: A. Craft + real: false + image: null + - id: 2604 + name: DC Impression Vision + filtered_name: DC Impression Vision + real: false + image: null + - id: 2688 + name: Saber Project + filtered_name: Saber Project + real: false + image: null + - id: 2676 + name: Pmats9 studio + filtered_name: Pmats9 + real: false + image: null + - id: 2394 + name: MoMo Production + filtered_name: MoMo + real: false + image: null + - id: 2351 + name: Studio Gadget + filtered_name: Gadget + real: false + image: null + - id: 2601 + name: Sunflowers + filtered_name: Sunflowers + real: false + image: null + - id: 2509 + name: Colored Pencil Animation + filtered_name: Colored Pencil + real: false + image: null + - id: 2693 + name: 6pucks + filtered_name: 6pucks + real: false + image: null + - id: 2695 + name: SIGNIF + filtered_name: SIGNIF + real: false + image: null + - id: 2463 + name: Cloud Art + filtered_name: Cloud Art + real: false + image: null + - id: 478 + name: Studio Blanc. + filtered_name: Blanc. + real: false + image: null + - id: 1980 + name: Big Firebird Culture + filtered_name: Big Firebird Culture + real: false + image: null + - id: 2679 + name: cogitoworks + filtered_name: cogitoworks + real: false + image: null + - id: 2694 + name: studio NAGURI + filtered_name: NAGURI + real: false + image: null + - id: 2424 + name: Bandai Namco Filmworks + filtered_name: Bandai Namco Filmworks + real: false + image: null + - id: 2692 + name: Ice Butter + filtered_name: Ice Butter + real: false + image: null + - id: 2682 + name: Steamworks + filtered_name: Steamworks + real: false + image: null + - id: 2678 + name: Slow Studio + filtered_name: Slow + real: false + image: null + - id: 2449 + name: Atorie A.B.C. + filtered_name: Atorie A.B.C. + real: false + image: null + - id: 2559 + name: Guo Pengzi Studio + filtered_name: Guo Pengzi + real: false + image: null + - id: 2644 + name: Kuai Ying Hu Yu + filtered_name: Kuai Ying Hu Yu + real: false + image: null + - id: 2419 + name: d00r works + filtered_name: d00r works + real: false + image: null + - id: 2686 + name: EDP graphic works + filtered_name: EDP graphic works + real: false + image: null + - id: 2474 + name: Haneda xR Studio + filtered_name: Haneda xR + real: false + image: null + - id: 2669 + name: THINGS. + filtered_name: THINGS. + real: false + image: null + - id: 2698 + name: Voil + filtered_name: Voil + real: false + image: null + - id: 2673 + name: Goto Inc. + filtered_name: Goto Inc. + real: false + image: null + - id: 2563 + name: Studio Tumble + filtered_name: Tumble + real: false + image: null + - id: 2484 + name: Gunners + filtered_name: Gunners + real: false + image: null + - id: 2564 + name: Yamiken + filtered_name: Yamiken + real: false + image: null + - id: 2392 + name: Ishibashi Planning + filtered_name: Ishibashi Planning + real: false + image: null + - id: 2551 + name: Animation 501 + filtered_name: '501' + real: false + image: null + - id: 2457 + name: Studio Ranmaru + filtered_name: Ranmaru + real: false + image: null + - id: 2626 + name: Studio D-Volt + filtered_name: D-Volt + real: false + image: null + - id: 1248 + name: Mirai Fusion + filtered_name: Mirai Fusion + real: false + image: null + - id: 2492 + name: Studio Jin + filtered_name: Jin + real: false + image: null + - id: 2623 + name: Dyna Method + filtered_name: Dyna Method + real: false + image: null + - id: 2514 + name: AIC Project + filtered_name: AIC Project + real: false + image: null + - id: 2558 + name: Delpic + filtered_name: Delpic + real: false + image: null + - id: 2406 + name: Eallin + filtered_name: Eallin + real: false + image: null + - id: 2562 + name: Studio Himalaya + filtered_name: Himalaya + real: false + image: null + - id: 2572 + name: Adonero + filtered_name: Adonero + real: false + image: null + - id: 2677 + name: Central Animation Studio + filtered_name: Central Animation + real: false + image: null + - id: 2560 + name: Nekonigashi Inc. + filtered_name: Nekonigashi Inc. + real: false + image: null + - id: 2469 + name: HM Heros + filtered_name: HM Heros + real: false + image: null + - id: 2622 + name: Makaria + filtered_name: Makaria + real: false + image: null + - id: 2274 + name: Qiying Animation + filtered_name: Qiying + real: false + image: null + - id: 1443 + name: Overlap + filtered_name: Overlap + real: false + image: null + - id: 2569 + name: Yinhe Changxing Culture + filtered_name: Yinhe Changxing Culture + real: false + image: null + - id: 2598 + name: Bigcat Studio + filtered_name: Bigcat + real: false + image: null + - id: 2605 + name: Tonari Animation + filtered_name: Tonari + real: false + image: null + - id: 2619 + name: Quyue Technology + filtered_name: Quyue Technology + real: false + image: null + - id: 2705 + name: TOHO animation STUDIO + filtered_name: TOHO animation + real: false + image: null + - id: 2706 + name: Hananona Studio + filtered_name: Hananona + real: false + image: null + - id: 1295 + name: PINE JAM + filtered_name: PINE JAM + real: false + image: /system/studios/original/1295.png?1589291852 + - id: 2333 + name: Space-X + filtered_name: Space-X + real: false + image: null + - id: 2715 + name: Hand to Mouse. + filtered_name: Hand to Mouse. + real: false + image: null + - id: 2391 + name: Sumomo Film + filtered_name: Sumomo Film + real: false + image: null + - id: 2711 + name: Miyu Productions + filtered_name: Miyu + real: false + image: null + - id: 2553 + name: Garyuu Studio + filtered_name: Garyuu + real: false + image: null + - id: 2736 + name: Gone-zo + filtered_name: Gone-zo + real: false + image: null + - id: 2625 + name: Square Pictures + filtered_name: Square Pictures + real: false + image: null + - id: 2853 + name: ASTROBROS. + filtered_name: ASTROBROS. + real: false + image: null + - id: 2459 + name: Studio Gazelle + filtered_name: Gazelle + real: false + image: null + - id: 2450 + name: C and R + filtered_name: C and R + real: false + image: null + - id: 2410 + name: Gonzino + filtered_name: Gonzino + real: false + image: null + - id: 1678 + name: Yuhodo + filtered_name: Yuhodo + real: false + image: null + - id: 2488 + name: J.K.I + filtered_name: J.K.I + real: false + image: null + - id: 2576 + name: General Entertainment + filtered_name: General + real: false + image: null + - id: 2494 + name: Enzo Animation + filtered_name: Enzo + real: false + image: null + - id: 2487 + name: Kyushu Network Animation + filtered_name: Kyushu Network + real: false + image: null + - id: 2574 + name: Circus Production + filtered_name: Circus + real: false + image: null + - id: 2421 + name: M&M + filtered_name: M&M + real: false + image: null + - id: 2452 + name: Project Team Muu + filtered_name: Project Team Muu + real: false + image: null + - id: 2665 + name: AMGA + filtered_name: AMGA + real: false + image: null + - id: 2346 + name: Alice Production + filtered_name: Alice + real: false + image: null + - id: 2345 + name: Onion Studio + filtered_name: Onion + real: false + image: null + - id: 2360 + name: Amarcord + filtered_name: Amarcord + real: false + image: null + - id: 2388 + name: Ai Yume Mai + filtered_name: Ai Yume Mai + real: false + image: null + - id: 2451 + name: TEC + filtered_name: TEC + real: false + image: null + - id: 2552 + name: C&S Production + filtered_name: C&S + real: false + image: null + - id: 2461 + name: Twenty First + filtered_name: Twenty First + real: false + image: null + - id: 2486 + name: Blue Note + filtered_name: Blue Note + real: false + image: null + - id: 2858 + name: Makino Production + filtered_name: Makino + real: false + image: null + - id: 2859 + name: 924 Studio + filtered_name: '924' + real: false + image: null + - id: 2864 + name: Windy Studio + filtered_name: Windy + real: false + image: null + - id: 2863 + name: Miota + filtered_name: Miota + real: false + image: null + - id: 2144 + name: BloomZ + filtered_name: BloomZ + real: false + image: null + - id: 2844 + name: Imagica Infos + filtered_name: Imagica Infos + real: false + image: null + - id: 2570 + name: Ijigen Tokyo + filtered_name: Ijigen Tokyo + real: false + image: null + - id: 34 + name: HAL Film Maker + filtered_name: HAL Film Maker + real: true + image: /system/studios/original/34.png?1311292711 + - id: 2870 + name: Alke + filtered_name: Alke + real: false + image: null + - id: 2666 + name: EOEO System + filtered_name: EOEO System + real: false + image: null + - id: 2365 + name: MI + filtered_name: MI + real: false + image: null + - id: 2855 + name: Studio Moe + filtered_name: Moe + real: false + image: null + - id: 2857 + name: CELAVIE + filtered_name: CELAVIE + real: false + image: null + - id: 2460 + name: aNCHOR + filtered_name: aNCHOR + real: false + image: null + - id: 2276 + name: Project Team Sarah + filtered_name: Project Team Sarah + real: false + image: null + - id: 2544 + name: Kami Kukan + filtered_name: Kami Kukan + real: false + image: null + - id: 336 + name: JM Animation + filtered_name: JM + real: false + image: /system/studios/original/336.gif?1311292709 + - id: 2714 + name: evg + filtered_name: evg + real: false + image: null + - id: 2728 + name: New Deer + filtered_name: New Deer + real: false + image: null + - id: 2729 + name: CANON RECORDINGS + filtered_name: CANON RECORDINGS + real: false + image: null + - id: 2233 + name: Starry Cube + filtered_name: Starry Cube + real: false + image: null + - id: 2645 + name: Liyu Culture + filtered_name: Liyu Culture + real: false + image: null + - id: 2058 + name: Shengying Animation + filtered_name: Shengying + real: false + image: null + - id: 2748 + name: Sankaku + filtered_name: Sankaku + real: false + image: null + - id: 2749 + name: Anime Tokyo + filtered_name: Anime Tokyo + real: false + image: null + - id: 2750 + name: Hu Po Donghua + filtered_name: Hu Po Donghua + real: false + image: null + - id: 2684 + name: CHOCOLATE + filtered_name: CHOCOLATE + real: false + image: null + - id: 2703 + name: Oyster + filtered_name: Oyster + real: false + image: null + - id: 2744 + name: Hong Ying Animation + filtered_name: Hong Ying + real: false + image: null + - id: 2746 + name: Studio Vandal + filtered_name: Vandal + real: false + image: null + - id: 2702 + name: HuaDream + filtered_name: HuaDream + real: false + image: null + - id: 2743 + name: Shengguang Knight Culture + filtered_name: Shengguang Knight Culture + real: false + image: null + - id: 2755 + name: Congrong Film + filtered_name: Congrong Film + real: false + image: null + - id: 2760 + name: Studio Add + filtered_name: Add + real: false + image: null + - id: 2757 + name: Caviar + filtered_name: Caviar + real: false + image: null + - id: 2657 + name: NANON CREATIVE + filtered_name: NANON CREATIVE + real: false + image: null + - id: 2754 + name: Contrail + filtered_name: Contrail + real: false + image: null + - id: 2513 + name: HMCH + filtered_name: HMCH + real: false + image: null + - id: 2761 + name: ARCUS + filtered_name: ARCUS + real: false + image: null + - id: 2764 + name: Studio HUIT + filtered_name: HUIT + real: false + image: null + - id: 2447 + name: Youku + filtered_name: Youku + real: false + image: null + - id: 2762 + name: Studio Matomo + filtered_name: Matomo + real: false + image: null + - id: 2772 + name: Misogo Animation Studio + filtered_name: Misogo Animation + real: false + image: null + - id: 2773 + name: Transistor Studio + filtered_name: Transistor + real: false + image: null + - id: 2774 + name: Shadow Steps + filtered_name: Shadow Steps + real: false + image: null + - id: 2628 + name: Xiaoming Taiji + filtered_name: Xiaoming Taiji + real: false + image: null + - id: 2778 + name: Sasayuri + filtered_name: Sasayuri + real: false + image: null + - id: 2780 + name: Studio Artegg + filtered_name: Artegg + real: false + image: null + - id: 2781 + name: Cloud Culture + filtered_name: Cloud Culture + real: false + image: null + - id: 2783 + name: ANYZAC + filtered_name: ANYZAC + real: false + image: null + - id: 2785 + name: Shikachan Studio + filtered_name: Shikachan + real: false + image: null + - id: 2787 + name: Studio Lemon + filtered_name: Lemon + real: false + image: null + - id: 2784 + name: Medo + filtered_name: Medo + real: false + image: null + - id: 2790 + name: Hezmon Animation + filtered_name: Hezmon + real: false + image: null + - id: 2794 + name: BUDDHA INC. + filtered_name: BUDDHA INC. + real: false + image: null + - id: 2512 + name: Studio Easter + filtered_name: Easter + real: false + image: null + - id: 2606 + name: Toyo Links Corporation + filtered_name: Toyo Links Corporation + real: false + image: null + - id: 2725 + name: CompTown + filtered_name: CompTown + real: false + image: null + - id: 2795 + name: Xing Xing Donghua + filtered_name: Xing Xing Donghua + real: false + image: null + - id: 2765 + name: Bebow + filtered_name: Bebow + real: false + image: null + - id: 2775 + name: Production Wave + filtered_name: Production Wave + real: false + image: null + - id: 2624 + name: Village Studio + filtered_name: Village + real: false + image: null + - id: 2807 + name: ABJ COMPANY + filtered_name: ABJ COMPANY + real: false + image: null + - id: 2420 + name: Tang Kirin Culture + filtered_name: Tang Kirin Culture + real: false + image: null + - id: 2810 + name: Studio Yona + filtered_name: Yona + real: false + image: null + - id: 1379 + name: Zero-G + filtered_name: Zero-G + real: true + image: /system/studios/original/1379.png?1521916962 + - id: 2933 + name: Hutoon Animation + filtered_name: Hutoon + real: false + image: null + - id: 2934 + name: studio2 Animation Lab + filtered_name: studio2 Animation Lab + real: false + image: null + - id: 2663 + name: Rock'n Roll Mountain + filtered_name: Rock'n Roll Mountain + real: false + image: null + - id: 2939 + name: Studio Gale + filtered_name: Gale + real: false + image: null + - id: 2813 + name: Iconix Entertainment + filtered_name: Iconix + real: false + image: null + - id: 2779 + name: Studio BAZOOKA + filtered_name: BAZOOKA + real: false + image: null + - id: 2940 + name: Ocon Studio + filtered_name: Ocon + real: false + image: null + - id: 2945 + name: Studio Goindol + filtered_name: Goindol + real: false + image: null + - id: 2944 + name: Brick Studio + filtered_name: Brick + real: false + image: null + - id: 2951 + name: Pierrot Films + filtered_name: Pierrot Films + real: false + image: null + - id: 2880 + name: ORCEN + filtered_name: ORCEN + real: false + image: null + - id: 2713 + name: Infinity Animations + filtered_name: Infinity Animations + real: false + image: null + - id: 2950 + name: studio ALBLE + filtered_name: ALBLE + real: false + image: null + - id: 2957 + name: Particlefield + filtered_name: Particlefield + real: false + image: null + - id: 2953 + name: Flying Monkeys Production + filtered_name: Flying Monkeys + real: false + image: null + - id: 2954 + name: Studio Button + filtered_name: Button + real: false + image: null + - id: 2949 + name: Oriental Creative Color + filtered_name: Oriental Creative Color + real: false + image: null + - id: 3052 + name: Studio KeepFire + filtered_name: KeepFire + real: false + image: null + - id: 1667 + name: Foch Film + filtered_name: Foch Film + real: false + image: /system/studios/original/1667.png?1622293472 + - id: 3046 + name: Tsumupapa + filtered_name: Tsumupapa + real: false + image: null + - id: 433 + name: Viewworks + filtered_name: Viewworks + real: false + image: /system/studios/original/433.png?1311292712 + - id: 3033 + name: Studio Barcelona + filtered_name: Barcelona + real: false + image: null + - id: 2617 + name: Tianshi Wenhua + filtered_name: Tianshi Wenhua + real: false + image: null + - id: 2573 + name: Watanabe Promotion + filtered_name: Watanabe Promotion + real: false + image: null + - id: 3048 + name: Kachigarasu + filtered_name: Kachigarasu + real: false + image: null + - id: 3050 + name: Crew-Cell + filtered_name: Crew-Cell + real: false + image: null + - id: 3049 + name: STUDIO 8 DOGS + filtered_name: 8 DOGS + real: false + image: null + - id: 2804 + name: Seoul Movie + filtered_name: Seoul Movie + real: false + image: null + - id: 2752 + name: Youliao Studio + filtered_name: Youliao + real: false + image: null + - id: 2298 + name: Atelier Pontdarc + filtered_name: Atelier Pontdarc + real: false + image: /system/studios/original/2298.png?1695122030 + - id: 1930 + name: Zelico Film + filtered_name: Zelico Film + real: false + image: null + - id: 3022 + name: Panda Tower Studio + filtered_name: Panda Tower + real: false + image: null + - id: 3060 + name: WonderLand + filtered_name: WonderLand + real: false + image: null + - id: 3061 + name: AOI Pro. + filtered_name: AOI Pro. + real: false + image: null + - id: 2850 + name: SAFEHOUSE + filtered_name: SAFEHOUSE + real: false + image: null + - id: 2170 + name: Alpha Group + filtered_name: Alpha Group + real: false + image: null + - id: 2641 + name: Locus Corporation + filtered_name: Locus Corporation + real: false + image: null + - id: 3066 + name: Aeonium + filtered_name: Aeonium + real: false + image: null + - id: 3070 + name: Studio Clutch + filtered_name: Clutch + real: false + image: null + - id: 3071 + name: Shuiniu Dongman + filtered_name: Shuiniu Dongman + real: false + image: null + - id: 3079 + name: LinQ + filtered_name: LinQ + real: false + image: null + - id: 3078 + name: Studio LEO + filtered_name: LEO + real: false + image: null + - id: 3082 + name: teevee graphics + filtered_name: teevee graphics + real: false + image: null + - id: 3083 + name: Nagomi + filtered_name: Nagomi + real: false + image: null + - id: 3091 + name: KaKa Technology Studio + filtered_name: KaKa Technology + real: false + image: null + - id: 3085 + name: I&A + filtered_name: I&A + real: false + image: null + - id: 3074 + name: Kumarba + filtered_name: Kumarba + real: false + image: null + - id: 3089 + name: StealthWorks + filtered_name: StealthWorks + real: false + image: null + - id: 3086 + name: ILCASHIPS + filtered_name: ILCASHIPS + real: false + image: null + - id: 3090 + name: MAINCONCEPT + filtered_name: MAINCONCEPT + real: false + image: null + - id: 3097 + name: Maru Animation + filtered_name: Maru + real: false + image: null + - id: 3099 + name: sugarsaltpepper + filtered_name: sugarsaltpepper + real: false + image: null + - id: 2175 + name: GARDEN Culture + filtered_name: GARDEN Culture + real: false + image: null + - id: 3055 + name: Animation Studio Wagumi + filtered_name: Studio Wagumi + real: false + image: null + - id: 3076 + name: No Side + filtered_name: No Side + real: false + image: null + - id: 3077 + name: Axis + filtered_name: Axis + real: false + image: null + - id: 1881 + name: Friendly Land + filtered_name: Friendly Land + real: false + image: null + - id: 3081 + name: Fortes + filtered_name: Fortes + real: false + image: null + - id: 2202 + name: Front Wing + filtered_name: Front Wing + real: false + image: null + - id: 3111 + name: Raiose + filtered_name: Raiose + real: false + image: null + - id: 2742 + name: Studio N + filtered_name: N + real: false + image: null + - id: 2972 + name: Cocktail Media + filtered_name: Cocktail Media + real: false + image: null + - id: 2969 + name: Mainichi Eigasha + filtered_name: Mainichi Eigasha + real: false + image: null + - id: 2970 + name: 717 Animation Studio + filtered_name: 717 Animation + real: false + image: null + - id: 2824 + name: Production HASU + filtered_name: Production HASU + real: false + image: null + - id: 2967 + name: Digital Dream Studios + filtered_name: Digital Dream + real: false + image: null + - id: 2726 + name: Laftel + filtered_name: Laftel + real: false + image: null + - id: 2977 + name: BlueArc Animation Studios + filtered_name: BlueArc Animation + real: false + image: null + - id: 2737 + name: Painted Blade Studio + filtered_name: Painted Blade + real: false + image: null + - id: 2948 + name: Nippon TV Douga + filtered_name: Nippon TV Douga + real: false + image: null + - id: 2936 + name: G&G Direction + filtered_name: G&G Direction + real: false + image: null + - id: 2982 + name: Ginga Teikoku + filtered_name: Ginga Teikoku + real: false + image: null + - id: 2947 + name: Tokyo TV Douga + filtered_name: Tokyo TV Douga + real: false + image: null + - id: 2983 + name: Imageworks Studio + filtered_name: Imageworks + real: false + image: null + - id: 2985 + name: Saber Works + filtered_name: Saber Works + real: false + image: null + - id: 1759 + name: Lyrics + filtered_name: Lyrics + real: false + image: null + - id: 2931 + name: Buyuu + filtered_name: Buyuu + real: false + image: null + - id: 2955 + name: Sunny Gapen + filtered_name: Sunny Gapen + real: false + image: null + - id: 2988 + name: Shadow Pond Studio + filtered_name: Shadow Pond + real: false + image: null + - id: 2987 + name: Outline + filtered_name: Outline + real: false + image: null + - id: 2986 + name: Sugata Creative & Design + filtered_name: Sugata Creative & Design + real: false + image: null + - id: 2991 + name: Skydance Animation + filtered_name: Skydance + real: false + image: null + - id: 2990 + name: Higashinaka Studio + filtered_name: Higashinaka + real: false + image: null + - id: 2989 + name: LIGHTAIR Inc. + filtered_name: LIGHTAIR Inc. + real: false + image: null + - id: 2992 + name: R11R + filtered_name: R11R + real: false + image: null + - id: 2444 + name: Hanho Heung-Up + filtered_name: Hanho Heung-Up + real: false + image: null + - id: 2851 + name: Pinkfong + filtered_name: Pinkfong + real: false + image: null + - id: 2994 + name: Aurochs + filtered_name: Aurochs + real: false + image: null + - id: 2997 + name: Million Volt + filtered_name: Million Volt + real: false + image: null + - id: 3007 + name: Studio Harutonari + filtered_name: Harutonari + real: false + image: null + - id: 3009 + name: Kitchen Ltd. + filtered_name: Kitchen Ltd. + real: false + image: null + - id: 3013 + name: Rhythmos + filtered_name: Rhythmos + real: false + image: null + - id: 2283 + name: Manga Productions + filtered_name: Manga + real: false + image: null + - id: 3014 + name: STUDIOK110 + filtered_name: STUDIOK110 + real: false + image: null + - id: 3023 + name: FAB + filtered_name: FAB + real: false + image: null + - id: 3107 + name: Hifumi + filtered_name: Hifumi + real: false + image: null + - id: 3002 + name: CUEBiC + filtered_name: CUEBiC + real: false + image: null + - id: 2753 + name: Whatever + filtered_name: Whatever + real: false + image: null + - id: 2938 + name: 3D + filtered_name: 3D + real: false + image: null + - id: 3030 + name: Studio Dotou + filtered_name: Dotou + real: false + image: null + - id: 3032 + name: OutSide Directors Company + filtered_name: OutSide Directors Company + real: false + image: null + - id: 3031 + name: Kassen + filtered_name: Kassen + real: false + image: null + - id: 3035 + name: Koinrush Studio + filtered_name: Koinrush + real: false + image: null + - id: 3036 + name: MARK + filtered_name: MARK + real: false + image: null + - id: 3062 + name: DEFT + filtered_name: DEFT + real: false + image: null + - id: 2712 + name: Studio G7 + filtered_name: G7 + real: false + image: null + - id: 3120 + name: Stellar Pictures + filtered_name: Stellar Pictures + real: false + image: null + - id: 3121 + name: Happy Toon + filtered_name: Happy Toon + real: false + image: null + - id: 3124 + name: Yumao Wenhua + filtered_name: Yumao Wenhua + real: false + image: null + - id: 3125 + name: G.H.Y. Culture & Media + filtered_name: G.H.Y. Culture & Media + real: false + image: null + - id: 3126 + name: Long Zhi Gu Wenhua + filtered_name: Long Zhi Gu Wenhua + real: false + image: null + - id: 2638 + name: Yien Animation Studio + filtered_name: Yien Animation + real: false + image: null + - id: 2586 + name: D.ROCK-ART + filtered_name: D.ROCK-ART + real: false + image: null + - id: 3117 + name: Jiman Wenhua + filtered_name: Jiman Wenhua + real: false + image: null + - id: 3131 + name: Zhou Ling Wenhua + filtered_name: Zhou Ling Wenhua + real: false + image: null + - id: 3129 + name: Hei Chao Yinghua + filtered_name: Hei Chao Yinghua + real: false + image: null + - id: 3130 + name: Chenghuang Yinghua + filtered_name: Chenghuang Yinghua + real: false + image: null + - id: 3132 + name: Flying Fish Studio + filtered_name: Flying Fish + real: false + image: null + - id: 3133 + name: Bu Keneng de Shijie + filtered_name: Bu Keneng de Shijie + real: false + image: null + - id: 3134 + name: Kid+Kid Animation Studio + filtered_name: Kid+Kid Animation + real: false + image: null + - id: 3135 + name: Lan Ying Yingshi + filtered_name: Lan Ying Yingshi + real: false + image: null + - id: 3136 + name: Tang Cai Zhaopin + filtered_name: Tang Cai Zhaopin + real: false + image: null + - id: 2084 + name: Tong Mingxuan Studio + filtered_name: Tong Mingxuan + real: false + image: null + - id: 3138 + name: Honoo + filtered_name: Honoo + real: false + image: null + - id: 3139 + name: S.o.K + filtered_name: S.o.K + real: false + image: null + - id: 3127 + name: INS Studio + filtered_name: INS + real: false + image: null + - id: 1399 + name: asurafilm + filtered_name: asurafilm + real: false + image: null + - id: 2892 + name: WWWave + filtered_name: WWWave + real: false + image: null + - id: 3122 + name: Climax Studio + filtered_name: Climax + real: false + image: null + - id: 3150 + name: Ziine Studio + filtered_name: Ziine + real: false + image: null + - id: 3149 + name: Pepper Conpanna + filtered_name: Pepper Conpanna + real: false + image: null + - id: 3148 + name: OSROCTION + filtered_name: OSROCTION + real: false + image: null + - id: 3145 + name: Nulls Design + filtered_name: Nulls Design + real: false + image: null + - id: 3144 + name: Skyloong + filtered_name: Skyloong + real: false + image: null + - id: 1063 + name: CALF + filtered_name: CALF + real: false + image: null + - id: 3157 + name: Psyde Kick Studio + filtered_name: Psyde Kick + real: false + image: null + - id: 3094 + name: animation studio42 + filtered_name: studio42 + real: false + image: null + - id: 1314 + name: Gaina + filtered_name: Gaina + real: false + image: null + - id: 3173 + name: BENTEN Film + filtered_name: BENTEN Film + real: false + image: null + - id: 3167 + name: Funny Flux + filtered_name: Funny Flux + real: false + image: null + - id: 3068 + name: Manpuku Jinja + filtered_name: Manpuku Jinja + real: false + image: null + - id: 3142 + name: Kagome Company + filtered_name: Kagome Company + real: false + image: null + - id: 2010 + name: Nippon Ramayana Film + filtered_name: Nippon Ramayana Film + real: false + image: null + - id: 255 + name: Imagi + filtered_name: Imagi + real: false + image: null + - id: 216 + name: Studio Tron + filtered_name: Tron + real: false + image: null + - id: 3161 + name: Triple A + filtered_name: Triple A + real: false + image: null + - id: 1 + name: Studio Pierrot + filtered_name: Pierrot + real: true + image: /system/studios/original/1.png?1378753179 + - id: 3158 + name: Children's Corner + filtered_name: Children's Corner + real: false + image: null + - id: 991 + name: Hoso Seisaku Doga + filtered_name: Hoso Seisaku Doga + real: false + image: null + - id: 2344 + name: All Products + filtered_name: All Products + real: false + image: null + - id: 2087 + name: CEKAI + filtered_name: CEKAI + real: false + image: null + - id: 3186 + name: studio maf + filtered_name: maf + real: false + image: null + - id: 3187 + name: Cue + filtered_name: Cue + real: false + image: null + - id: 3190 + name: Studio Maybe + filtered_name: Maybe + real: false + image: null + - id: 3189 + name: mico.animation + filtered_name: mico.animation + real: false + image: null + - id: 3192 + name: Studio Graph77 + filtered_name: Graph77 + real: false + image: null + - id: 1997 + name: Studio KAI + filtered_name: KAI + real: false + image: /system/studios/original/1997.png?1618484872 + - id: 3197 + name: Toon Harbor Works + filtered_name: Toon Harbor Works + real: false + image: null + - id: 3194 + name: Nichicaline + filtered_name: Nichicaline + real: false + image: null + - id: 3195 + name: Folium + filtered_name: Folium + real: false + image: null + - id: 3196 + name: Rouseact + filtered_name: Rouseact + real: false + image: null + - id: 3201 + name: ABC Animation Studio + filtered_name: ABC Animation + real: false + image: null + - id: 3202 + name: Finger and Toe + filtered_name: Finger and Toe + real: false + image: null + - id: 1961 + name: Creatures + filtered_name: Creatures + real: false + image: null + - id: 2299 + name: Gift-o’-Animation + filtered_name: Gift-o’-Animation + real: false + image: null + - id: 3205 + name: Garage Film + filtered_name: Garage Film + real: false + image: null + - id: 3207 + name: studioDOT + filtered_name: studioDOT + real: false + image: null + - id: 3209 + name: IKIF+ + filtered_name: IKIF+ + real: false + image: null + - id: 3214 + name: Studio BETTA + filtered_name: BETTA + real: false + image: null + - id: 3217 + name: Atoonz + filtered_name: Atoonz + real: false + image: null + - id: 3244 + name: Shenli Guangyin + filtered_name: Shenli Guangyin + real: false + image: null + - id: 3128 + name: Guangzhou Liu Ling Yi + filtered_name: Guangzhou Liu Ling Yi + real: false + image: null + - id: 3212 + name: Tochka + filtered_name: Tochka + real: false + image: null + - id: 3159 + name: Newon + filtered_name: Newon + real: false + image: null + - id: 2756 + name: Equator + filtered_name: Equator + real: false + image: null + - id: 3241 + name: Project Team Argos + filtered_name: Project Team Argos + real: false + image: null + - id: 3223 + name: Office Academy + filtered_name: Office Academy + real: false + image: null + - id: 2378 + name: StarLink + filtered_name: StarLink + real: false + image: null + - id: 1009 + name: Aubeck + filtered_name: Aubeck + real: false + image: null + - id: 3249 + name: Sunshine Corporation + filtered_name: Sunshine Corporation + real: false + image: null + - id: 3245 + name: Teleimage + filtered_name: Teleimage + real: false + image: null + - id: 450 + name: Wako Production + filtered_name: Wako + real: false + image: /system/studios/original/450.jpg?1634761556 + - id: 3247 + name: bushes + filtered_name: bushes + real: false + image: null + - id: 3179 + name: TV Douga + filtered_name: TV Douga + real: false + image: null + - id: 3250 + name: Lychee Time Media + filtered_name: Lychee Time Media + real: false + image: null + - id: 2368 + name: Miyuki Production + filtered_name: Miyuki + real: false + image: null + - id: 3251 + name: B.COOL STUDIO + filtered_name: B.COOL + real: false + image: null + - id: 3252 + name: Doraku + filtered_name: Doraku + real: false + image: null + - id: 3238 + name: Tsubasa Production + filtered_name: Tsubasa + real: false + image: null + - id: 3253 + name: Liliyabi Company Introduction + filtered_name: Liliyabi Company Introduction + real: false + image: null + - id: 1325 + name: Haoliners Animation + filtered_name: Haoliners + real: true + image: /system/studios/original/1325.png?1499467056 + - id: 3254 + name: Honglu Technology + filtered_name: Honglu Technology + real: false + image: null + - id: 3255 + name: PAINTFREE + filtered_name: PAINTFREE + real: false + image: null + - id: 3257 + name: Grass Jelly Studio + filtered_name: Grass Jelly + real: false + image: null + - id: 3258 + name: OCSTUDIO + filtered_name: OCSTUDIO + real: false + image: null + - id: 3273 + name: Atelier Peuplier + filtered_name: Atelier Peuplier + real: false + image: null + - id: 3271 + name: Gugenka + filtered_name: Gugenka + real: false + image: null + - id: 3264 + name: BIGBIGSUN + filtered_name: BIGBIGSUN + real: false + image: null + - id: 3276 + name: Aura Studio + filtered_name: Aura + real: false + image: null + - id: 1804 + name: Nice Boat Animation + filtered_name: Nice Boat + real: false + image: /system/studios/original/1804.png?1634761461 + - id: 3266 + name: WINSING ANIMATION + filtered_name: WINSING + real: false + image: null + - id: 3261 + name: TRCARTOON + filtered_name: TRCARTOON + real: false + image: null + - id: 3268 + name: YNUO + filtered_name: YNUO + real: false + image: null + - id: 3278 + name: Studio Eek + filtered_name: Eek + real: false + image: null + - id: 3243 + name: Da Chenger Gongzuoshi + filtered_name: Da Chenger Gongzuoshi + real: false + image: null + - id: 3281 + name: Akatsuki Media Studio + filtered_name: Akatsuki Media + real: false + image: null + - id: 3277 + name: Mofac Studio + filtered_name: Mofac + real: false + image: null + - id: 3282 + name: Shen Fu Wenhua + filtered_name: Shen Fu Wenhua + real: false + image: null + - id: 3288 + name: A4works + filtered_name: A4works + real: false + image: null + - id: 3290 + name: Atra + filtered_name: Atra + real: false + image: null + - id: 3294 + name: Grass + filtered_name: Grass + real: false + image: null + - id: 3275 + name: FuRyu Pictures + filtered_name: FuRyu Pictures + real: false + image: null + - id: 2838 + name: San Blas Animation + filtered_name: San Blas + real: false + image: null + - id: 3293 + name: Green Leaf Animation + filtered_name: Green Leaf + real: false + image: null + - id: 3297 + name: Aisle + filtered_name: Aisle + real: false + image: null + - id: 3300 + name: Bakkka + filtered_name: Bakkka + real: false + image: null + - id: 3301 + name: Cannon Code + filtered_name: Cannon Code + real: false + image: null + - id: 3260 + name: Hui Guang Gongzuoshi + filtered_name: Hui Guang Gongzuoshi + real: false + image: null + - id: 3303 + name: Daily Plan.net + filtered_name: Daily Plan.net + real: false + image: null + - id: 3304 + name: SO-DO Creative + filtered_name: SO-DO Creative + real: false + image: null + - id: 3295 + name: Computer Technique Group + filtered_name: Computer Technique Group + real: false + image: null + - id: 3296 + name: coyote + filtered_name: coyote + real: false + image: null + - id: 3305 + name: Electric Circus + filtered_name: Electric Circus + real: false + image: null + - id: 3306 + name: Studio Keel + filtered_name: Keel + real: false + image: null + - id: 3259 + name: Moonseong Animation + filtered_name: Moonseong + real: false + image: null + - id: 2192 + name: Haianxian Donghua Gongzuoshi + filtered_name: Haianxian Donghua Gongzuoshi + real: false + image: null + - id: 3287 + name: Daicon Film + filtered_name: Daicon Film + real: false + image: null + - id: 2445 + name: Big Film Entertainment + filtered_name: Big Film + real: false + image: null + - id: 3286 + name: Cypic + filtered_name: Cypic + real: false + image: null + - id: 1641 + name: Studio AWAKE + filtered_name: AWAKE + real: false + image: null + - id: 3314 + name: Studio Wrong + filtered_name: Wrong + real: false + image: null + - id: 3316 + name: Ciwen Animation + filtered_name: Ciwen + real: false + image: null + - id: 3311 + name: Kaihuang Donghua + filtered_name: Kaihuang Donghua + real: false + image: null + - id: 3312 + name: You Hu Wenhua + filtered_name: You Hu Wenhua + real: false + image: null + - id: 3318 + name: Buzhi Dongman + filtered_name: Buzhi Dongman + real: false + image: null + body_text: null + body_b64: null diff --git a/test/models/test_aggregate.py b/test/models/test_aggregate.py new file mode 100644 index 0000000..602117c --- /dev/null +++ b/test/models/test_aggregate.py @@ -0,0 +1,51 @@ +"""Tests for aggregate result models.""" + +from __future__ import annotations + +import pytest + + +pytestmark = pytest.mark.unittest + + +class TestAggregateResult: + def test_source_status_helpers(self): + from animedex.models.aggregate import AggregateResult, AggregateSourceStatus + + result = AggregateResult( + items=[{"id": 1, "_source": "anilist"}], + sources={ + "anilist": AggregateSourceStatus(backend="anilist", status="ok", items=1), + "jikan": AggregateSourceStatus( + backend="jikan", status="failed", reason="upstream-error", message="jikan 503" + ), + }, + ) + + assert result.succeeded_count == 1 + assert set(result.failed_sources) == {"jikan"} + assert result.all_failed is False + + def test_all_failed(self): + from animedex.models.aggregate import AggregateResult, AggregateSourceStatus + + result = AggregateResult( + items=[], + sources={"anilist": AggregateSourceStatus(backend="anilist", status="failed", reason="upstream-error")}, + ) + + assert result.all_failed is True + + def test_default_containers_are_not_shared(self): + from animedex.models.aggregate import AggregateResult + + first = AggregateResult() + second = AggregateResult() + + assert first.items is not second.items + assert first.sources is not second.sources + + def test_selftest_runs(self): + from animedex.models import aggregate + + assert aggregate.selftest() is True diff --git a/test/render/test_json_renderer.py b/test/render/test_json_renderer.py index 1190249..bece33b 100644 --- a/test/render/test_json_renderer.py +++ b/test/render/test_json_renderer.py @@ -120,6 +120,35 @@ class MergedDict(AnimedexModel): assert decoded["_meta"]["sources_consulted"] == ["anilist", "legacy"] +class TestAggregateResultSources: + def test_aggregate_sources_map_reports_ok_sources_only(self): + from animedex.models.aggregate import AggregateResult, AggregateSourceStatus + from animedex.render.json_renderer import render_json + + result = AggregateResult( + items=[{"id": 1, "_source": "jikan", "_prefix_id": "mal:1"}], + sources={ + "anilist": AggregateSourceStatus(backend="anilist", status="failed", reason="upstream-error"), + "jikan": AggregateSourceStatus(backend="jikan", status="ok", items=1), + }, + ) + decoded = json.loads(render_json(result, include_source=True)) + + assert decoded["_meta"]["sources_consulted"] == ["jikan"] + assert decoded["sources"]["anilist"]["status"] == "failed" + + def test_sources_map_keeps_legacy_scalar_entries(self): + from animedex.models.common import AnimedexModel + from animedex.render.json_renderer import render_json + + class LegacyAggregate(AnimedexModel): + sources: dict + + decoded = json.loads(render_json(LegacyAggregate(sources={"legacy": True}), include_source=True)) + + assert decoded["_meta"]["sources_consulted"] == ["legacy"] + + class TestRichModelSourceAttribution: """Reviewer review B1 (PR #6). diff --git a/test/render/test_tty_phase2.py b/test/render/test_tty_phase2.py index b36cdc2..61c34b7 100644 --- a/test/render/test_tty_phase2.py +++ b/test/render/test_tty_phase2.py @@ -143,3 +143,125 @@ def test_renders(self): assert "[src: trace]" in out assert "100" in out assert "18" in out + + +class TestAggregateResultTty: + def test_renders_compact_rows_with_prefix_and_source(self): + from animedex.backends.jikan.models import JikanAnime + from animedex.models.aggregate import AggregateResult, AggregateSourceStatus + from animedex.render.tty import render_tty + + result = AggregateResult( + items=[ + JikanAnime.model_validate( + { + "mal_id": 52991, + "title": "Sousou no Frieren", + "score": 9.27, + "status": "released", + "source_tag": _src(backend="jikan"), + } + ).model_copy(update={"_source": "jikan", "_prefix_id": "mal:52991"}) + ], + sources={"jikan": AggregateSourceStatus(backend="jikan", status="ok", items=1)}, + ) + out = render_tty(result) + + assert "Aggregate results" in out + assert "[src: jikan]" in out + assert "mal:52991" in out + assert "Score:" in out + + def test_renders_failed_sources_dict_labels_and_common_shapes(self): + from animedex.models.aggregate import AggregateResult, AggregateSourceStatus + from animedex.models.character import Character, Staff, Studio + from animedex.models.common import AnimedexModel, SourceTag + from animedex.render.tty import render_tty + + class CommonProjection(AnimedexModel): + kind: str + name: str + source_tag: SourceTag + + def to_common(self): + if self.kind == "character": + return Character(id="character:1", name=self.name, source=self.source_tag) + if self.kind == "staff": + return Staff(id="staff:1", name=self.name, source=self.source_tag) + return Studio(id="studio:1", name=self.name, source=self.source_tag) + + result = AggregateResult( + items=[ + {"title": {"english": "Plain Dict"}, "_source": "dict", "_prefix_id": "dict:1"}, + CommonProjection(kind="character", name="Frieren", source_tag=_src("character")), + CommonProjection(kind="staff", name="Naoko Yamada", source_tag=_src("staff")), + CommonProjection(kind="studio", name="MADHOUSE", source_tag=_src("studio")), + ], + sources={ + "dict": AggregateSourceStatus(backend="dict", status="ok", items=1), + "broken": AggregateSourceStatus( + backend="broken", status="failed", reason="upstream-error", message="broken" + ), + }, + ) + out = render_tty(result) + + assert "Failed sources: broken" in out + assert "Plain Dict (dict:1) [src: dict]" in out + assert "Frieren [src: character]" in out + assert "Naoko Yamada [src: staff]" in out + assert "MADHOUSE [src: studio]" in out + + def test_renders_aggregate_item_when_to_common_raises(self): + from animedex.models.aggregate import AggregateResult + from animedex.models.common import AnimedexModel, SourceTag + from animedex.render.tty import render_tty + + class BrokenProjection(AnimedexModel): + name: str + source_tag: SourceTag + + def to_common(self): + raise RuntimeError("bad projection") + + result = AggregateResult(items=[BrokenProjection(name="Raw Label", source_tag=_src("raw"))], sources={}) + out = render_tty(result) + + assert "Raw Label [src: raw]" in out + + def test_renders_source_field_nested_labels_fallbacks_and_dict_scores(self): + from animedex.models.aggregate import AggregateResult + from animedex.models.common import AnimedexModel, SourceTag + from animedex.render.tty import render_tty + + class DirectSourceProjection(AnimedexModel): + name: str + source: SourceTag + + class NamelessProjection(AnimedexModel): + source_tag: SourceTag + + class TitleObject: + romaji = "Nested Title" + + class LabelObject: + def __str__(self): + return "Object Label" + + result = AggregateResult( + items=[ + DirectSourceProjection(name="Direct Source", source=_src("direct")), + {"title": TitleObject(), "score": {"score": 8.5, "scale": 10}, "_source": "nested"}, + {"name": LabelObject(), "score": {"score": 7}, "_source": "object"}, + NamelessProjection(source_tag=_src("nameless")), + ], + sources={}, + ) + out = render_tty(result) + + assert "Direct Source [src: direct]" in out + assert "Nested Title [src: nested]" in out + assert "Score: 8.5/10" in out + assert "Object Label [src: object]" in out + assert "Score: 7" in out + assert "NamelessProjection [src: nameless]" in out diff --git a/tools/fixtures/prewarm_aggregate_cache.py b/tools/fixtures/prewarm_aggregate_cache.py index f81f458..253c497 100644 --- a/tools/fixtures/prewarm_aggregate_cache.py +++ b/tools/fixtures/prewarm_aggregate_cache.py @@ -1,21 +1,22 @@ -"""Prewarm the local cache for the aggregate calendar demo. +"""Prewarm the local aggregate-command cache from committed fixtures. -This helper exists for documentation captures. It lets -``docs/source/_static/gifs/aggregate.tape`` render the real -``animedex season`` and ``animedex schedule`` commands without -depending on live AniList or Jikan availability. +This helper exists for documentation captures. It lets the aggregate +demo tapes render real ``animedex search``, ``animedex show``, +``animedex season``, and ``animedex schedule`` commands without +depending on live upstream availability, rate-limit state, or network +egress during recording. """ from __future__ import annotations +import base64 import json from pathlib import Path from typing import Any, Dict, Optional, Tuple import yaml -from animedex.api._dispatch import resolve_base_url -from animedex.api._dispatch import _signature +from animedex.api._dispatch import _signature, resolve_base_url from animedex.backends.anilist._queries import Q_SCHEDULE from animedex.cache.sqlite import SqliteCache, default_ttl_seconds @@ -23,44 +24,29 @@ REPO_ROOT = Path(__file__).resolve().parents[2] FIXTURES = REPO_ROOT / "test" / "fixtures" -FixtureSpec = Tuple[str, str, str, str, Optional[Dict[str, Any]], Optional[Dict[str, Any]], Optional[int]] - - -def _crop_json_body(body_json: Dict[str, Any], *, backend: str, kind: str, limit: int) -> Dict[str, Any]: - out = json.loads(json.dumps(body_json)) - if backend == "anilist" and kind == "season": - page = out.get("data", {}).get("Page") or {} - media = page.get("media") - if isinstance(media, list): - page["media"] = media[:limit] - elif backend == "jikan" and kind == "season": - data = out.get("data") - if isinstance(data, list): - out["data"] = data[:limit] - pagination = out.get("pagination") - if isinstance(pagination, dict): - items = pagination.get("items") - if isinstance(items, dict): - items["count"] = min(int(items.get("count", limit) or limit), limit) - items["per_page"] = limit - elif backend == "jikan" and kind == "schedules": - data = out.get("data") - if isinstance(data, list): - out["data"] = data[:limit] - pagination = out.get("pagination") - if isinstance(pagination, dict): - items = pagination.get("items") - if isinstance(items, dict): - items["count"] = min(int(items.get("count", limit) or limit), limit) - items["per_page"] = limit - return out - - -def _load_fixture(rel_path: str) -> Dict[str, Any]: - return yaml.safe_load((FIXTURES / rel_path).read_text(encoding="utf-8")) +SearchShowSpec = Tuple[str, str] +CalendarSpec = Tuple[str, str, str, str, Optional[Dict[str, Any]], Optional[Dict[str, Any]], Optional[int]] + + +SEARCH_SHOW_SPECS: Tuple[SearchShowSpec, ...] = ( + ("anilist/graphql/23-search-frieren-type-anime.yaml", "anilist"), + ("jikan/anime_search/17-frieren-tv-limit2.yaml", "jikan"), + ("kitsu/anime_search/17-frieren-limit2.yaml", "kitsu"), + ("shikimori/animes_search/17-frieren-limit2.yaml", "shikimori"), + ("anilist/graphql/28-manga-search-berserk.yaml", "anilist"), + ("mangadex/manga_search/01-berserk.yaml", "mangadex"), + ("shikimori/mangas_search/02-berserk-limit2.yaml", "shikimori"), + ("anilist/graphql/26-staff-search-yamada.yaml", "anilist"), + ("jikan/people_search/02-miyazaki-limit2.yaml", "jikan"), + ("shikimori/people_search/02-miyazaki-limit2.yaml", "shikimori"), + ("jikan/anime_full/01-frieren-52991.yaml", "jikan"), + ("shikimori/characters_by_id/01-frieren-184947.yaml", "shikimori"), + ("shikimori/studios/01-all.yaml", "shikimori"), + ("shikimori/publishers/01-all.yaml", "shikimori"), +) -SPECS: Tuple[FixtureSpec, ...] = ( +CALENDAR_SPECS: Tuple[CalendarSpec, ...] = ( ( "anilist/season_matrix/58-2024-spring.yaml", "anilist", @@ -109,33 +95,101 @@ def _load_fixture(rel_path: str) -> Dict[str, Any]: ) +def _load_fixture(rel_path: str) -> Dict[str, Any]: + return yaml.safe_load((FIXTURES / rel_path).read_text(encoding="utf-8")) + + +def _body_bytes(response: Dict[str, Any]) -> bytes: + if response.get("body_text") is not None: + return response["body_text"].encode("utf-8") + if response.get("body_json") is not None: + return json.dumps(response["body_json"], ensure_ascii=False).encode("utf-8") + if response.get("body_b64") is not None: + return base64.b64decode(response["body_b64"]) + return b"" + + +def _request_body(request: Dict[str, Any]) -> Optional[bytes]: + if request.get("raw_body_b64") is not None: + return base64.b64decode(request["raw_body_b64"]) + return None + + +def _crop_json_body(body_json: Dict[str, Any], *, backend: str, kind: str, limit: int) -> Dict[str, Any]: + out = json.loads(json.dumps(body_json)) + if backend == "anilist" and kind == "season": + page = out.get("data", {}).get("Page") or {} + media = page.get("media") + if isinstance(media, list): + page["media"] = media[:limit] + elif backend == "jikan" and kind in {"season", "schedules"}: + data = out.get("data") + if isinstance(data, list): + out["data"] = data[:limit] + pagination = out.get("pagination") + if isinstance(pagination, dict): + items = pagination.get("items") + if isinstance(items, dict): + items["count"] = min(int(items.get("count", limit) or limit), limit) + items["per_page"] = limit + return out + + +def _prewarm_search_show(cache: SqliteCache) -> int: + count = 0 + for rel_path, backend in SEARCH_SHOW_SPECS: + fixture = _load_fixture(rel_path) + request = fixture["request"] + response = fixture["response"] + signature = _signature( + request["method"], + request["url"], + request.get("params"), + request.get("json_body"), + _request_body(request), + ) + cache.set_with_meta( + backend, + signature, + _body_bytes(response), + response_headers=response.get("headers") or {}, + ttl_seconds=24 * 3600, + ) + count += 1 + return count + + +def _prewarm_calendar(cache: SqliteCache) -> int: + count = 0 + for rel_path, backend, kind, path, params, json_body, limit in CALENDAR_SPECS: + fixture = _load_fixture(rel_path) + body_json = fixture["response"]["body_json"] + if limit is not None: + body_json = _crop_json_body(body_json, backend=backend, kind=kind, limit=limit) + full_url = resolve_base_url(backend).rstrip("/") + path + signature = _signature( + "POST" if backend == "anilist" else "GET", + full_url, + params, + json_body, + None, + ) + cache.set_with_meta( + backend, + signature, + json.dumps(body_json, ensure_ascii=False).encode("utf-8"), + response_headers=fixture["response"].get("headers") or {}, + ttl_seconds=default_ttl_seconds("list" if kind == "season" else "schedule"), + ) + count += 1 + return count + + def main() -> int: - """Write aggregate demo fixtures into the platform cache.""" + """Write aggregate demo fixtures into the platform-default cache.""" cache = SqliteCache() try: - count = 0 - for rel_path, backend, kind, path, params, json_body, limit in SPECS: - fixture = _load_fixture(rel_path) - body_json = fixture["response"]["body_json"] - if limit is not None: - body_json = _crop_json_body(body_json, backend=backend, kind=kind, limit=limit) - body = json.dumps(body_json, ensure_ascii=False).encode("utf-8") - full_url = resolve_base_url(backend).rstrip("/") + path - signature = _signature( - "POST" if backend == "anilist" else "GET", - full_url, - params, - json_body, - None, - ) - cache.set_with_meta( - backend, - signature, - body, - response_headers=fixture["response"].get("headers") or {}, - ttl_seconds=default_ttl_seconds("list" if kind == "season" else "schedule"), - ) - count += 1 + count = _prewarm_search_show(cache) + _prewarm_calendar(cache) finally: cache_path = cache.path cache.close()