mirror of
https://github.com/Shineii86/AniKotoAPI.git
synced 2026-10-22 02:45:10 +00:00
v1.7.1: Update Vercel URL to anikototvapi.vercel.app
- Changed anikoto.vercel.app → anikototvapi.vercel.app - 80 references updated across all files
This commit is contained in:
+21
-21
@@ -261,7 +261,7 @@
|
||||
<a href="#endpoints">Endpoints</a>
|
||||
<a href="#playground">Playground</a>
|
||||
<a href="https://github.com/Shineii86/AniKotoAPI" target="_blank">GitHub</a>
|
||||
<a href="https://anikoto.vercel.app/api" target="_blank" class="nav-cta">Open API</a>
|
||||
<a href="https://anikototvapi.vercel.app/api" target="_blank" class="nav-cta">Open API</a>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
@@ -286,11 +286,11 @@
|
||||
<div class="console" id="heroConsole">
|
||||
<div class="console-bar">
|
||||
<span class="console-dot"></span><span class="console-dot"></span><span class="console-dot"></span>
|
||||
<span class="console-title">anikoto.vercel.app — API Console</span>
|
||||
<span class="console-title">anikototvapi.vercel.app — API Console</span>
|
||||
</div>
|
||||
<div class="console-body">
|
||||
<textarea class="console-input" id="consoleInput" rows="6" spellcheck="false">// Fetch trending anime
|
||||
fetch("https://anikoto.vercel.app/api")
|
||||
fetch("https://anikototvapi.vercel.app/api")
|
||||
.then(r => r.json())
|
||||
.then(data => {
|
||||
console.log(data.trending);
|
||||
@@ -408,7 +408,7 @@ fetch("https://anikoto.vercel.app/api")
|
||||
API Reference
|
||||
</div>
|
||||
<h2 class="section-title">Endpoints</h2>
|
||||
<p class="section-desc">All endpoints return JSON. Base URL: <code style="color:var(--pink);background:rgba(236,72,153,.1);padding:2px 8px;border-radius:4px">https://anikoto.vercel.app/api</code></p>
|
||||
<p class="section-desc">All endpoints return JSON. Base URL: <code style="color:var(--pink);background:rgba(236,72,153,.1);padding:2px 8px;border-radius:4px">https://anikototvapi.vercel.app/api</code></p>
|
||||
</div>
|
||||
|
||||
<div class="explorer reveal" id="explorer">
|
||||
@@ -497,7 +497,7 @@ fetch("https://anikoto.vercel.app/api")
|
||||
<h2 class="cta-title">Start building with AniKotoAPI</h2>
|
||||
<p class="cta-desc">Free, open source, no API key required. Deploy your own instance or use ours.</p>
|
||||
<div class="cta-actions">
|
||||
<a href="https://anikoto.vercel.app/api" target="_blank" class="btn btn-primary">
|
||||
<a href="https://anikototvapi.vercel.app/api" target="_blank" class="btn btn-primary">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="width:16px;height:16px"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>
|
||||
View API
|
||||
</a>
|
||||
@@ -624,7 +624,7 @@ fetch("https://anikoto.vercel.app/api")
|
||||
});
|
||||
|
||||
/* ── Console ── */
|
||||
const BASE = 'https://anikoto.vercel.app/api';
|
||||
const BASE = 'https://anikototvapi.vercel.app/api';
|
||||
const endpoints = {
|
||||
home: { url: '/api', label: 'Home' },
|
||||
search: { url: '/api/search?keyword=naruto', label: 'Search' },
|
||||
@@ -663,21 +663,21 @@ fetch("https://anikoto.vercel.app/api")
|
||||
|
||||
/* ── Explorer ── */
|
||||
const explorerData = [
|
||||
{ id: 'home', title: 'Home Info', desc: 'Spotlight, trending, popular, top-airing, genres, and more.', path: '/api', params: [], code: { curl: 'curl https://anikoto.vercel.app/api', js: 'const res = await fetch("https://anikoto.vercel.app/api");\nconst data = await res.json();\nconsole.log(data.trending);', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api")\nprint(r.json()["trending"])' } },
|
||||
{ id: 'search', title: 'Search', desc: 'Search anime by keyword with pagination.', path: '/api/search?keyword={q}&page={n}', params: [{ name: 'keyword', type: 'string', desc: 'Search query' }, { name: 'page', type: 'number', desc: 'Page (default 1)' }], code: { curl: 'curl "https://anikoto.vercel.app/api/search?keyword=naruto"', js: 'const res = await fetch("https://anikoto.vercel.app/api/search?keyword=naruto");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/search", params={"keyword": "naruto"})\nprint(r.json())' } },
|
||||
{ id: 'suggest', title: 'Search Suggest', desc: 'Autocomplete suggestions for search.', path: '/api/search/suggest?keyword={q}', params: [{ name: 'keyword', type: 'string', desc: 'Partial query' }], code: { curl: 'curl "https://anikoto.vercel.app/api/search/suggest?keyword=dea"', js: 'const res = await fetch("https://anikoto.vercel.app/api/search/suggest?keyword=dea");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/search/suggest", params={"keyword": "dea"})\nprint(r.json())' } },
|
||||
{ id: 'info', title: 'Anime Info', desc: 'Detailed info: synopsis, genres, relations, recommendations.', path: '/api/info?id={slug}', params: [{ name: 'id', type: 'string', desc: 'Anime slug' }], code: { curl: 'curl "https://anikoto.vercel.app/api/info?id=naruto"', js: 'const res = await fetch("https://anikoto.vercel.app/api/info?id=naruto");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/info", params={"id": "naruto"})\nprint(r.json())' } },
|
||||
{ id: 'episodes', title: 'Episodes', desc: 'Episode list loaded via AJAX.', path: '/api/episodes/{slug}', params: [{ name: 'slug', type: 'string', desc: 'Anime slug' }], code: { curl: 'curl "https://anikoto.vercel.app/api/episodes/naruto"', js: 'const res = await fetch("https://anikoto.vercel.app/api/episodes/naruto");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/episodes/naruto")\nprint(r.json())' } },
|
||||
{ id: 'stream', title: 'Stream Servers', desc: 'Streaming servers for an episode.', path: '/api/stream?id={episodeId}', params: [{ name: 'id', type: 'string', desc: 'Episode ID' }], code: { curl: 'curl "https://anikoto.vercel.app/api/stream?id=naruto-ep-1"', js: 'const res = await fetch("https://anikoto.vercel.app/api/stream?id=naruto-ep-1");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/stream", params={"id": "naruto-ep-1"})\nprint(r.json())' } },
|
||||
{ id: 'servers', title: 'Servers', desc: 'Resolve streaming server links.', path: '/api/servers?ids={ids}', params: [{ name: 'ids', type: 'string', desc: 'Comma-separated link IDs' }], code: { curl: 'curl "https://anikoto.vercel.app/api/servers?ids=123,456"', js: 'const res = await fetch("https://anikoto.vercel.app/api/servers?ids=123,456");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/servers", params={"ids": "123,456"})\nprint(r.json())' } },
|
||||
{ id: 'schedule', title: 'Schedule', desc: 'Anime schedule for a specific date.', path: '/api/schedule?date={YYYY-MM-DD}', params: [{ name: 'date', type: 'string', desc: 'Date (default today)' }], code: { curl: 'curl "https://anikoto.vercel.app/api/schedule"', js: 'const res = await fetch("https://anikoto.vercel.app/api/schedule");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/schedule")\nprint(r.json())' } },
|
||||
{ id: 'topten', title: 'Top 10', desc: 'Top 10 anime (today, week, month).', path: '/api/top-ten', params: [], code: { curl: 'curl "https://anikoto.vercel.app/api/top-ten"', js: 'const res = await fetch("https://anikoto.vercel.app/api/top-ten");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/top-ten")\nprint(r.json())' } },
|
||||
{ id: 'random', title: 'Random', desc: 'Random anime info.', path: '/api/random', params: [], code: { curl: 'curl "https://anikoto.vercel.app/api/random"', js: 'const res = await fetch("https://anikoto.vercel.app/api/random");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/random")\nprint(r.json())' } },
|
||||
{ id: 'filter', title: 'Filter', desc: 'Filter by genre, type, status, season.', path: '/api/filter?keyword={q}&genre[]={g}', params: [{ name: 'keyword', type: 'string', desc: 'Search keyword (required)' }, { name: 'genre[]', type: 'number', desc: 'Genre IDs' }, { name: 'type[]', type: 'number', desc: 'Type IDs' }], code: { curl: 'curl "https://anikoto.vercel.app/api/filter?keyword=&genre[]=1&genre[]=4"', js: 'const res = await fetch("https://anikoto.vercel.app/api/filter?keyword=&genre[]=1");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/filter", params={"keyword": "", "genre[]": 1})\nprint(r.json())' } },
|
||||
{ id: 'popular', title: 'Most Popular', desc: 'Most popular anime list.', path: '/api/most-popular?page={n}', params: [{ name: 'page', type: 'number', desc: 'Page (default 1)' }], code: { curl: 'curl "https://anikoto.vercel.app/api/most-popular"', js: 'const res = await fetch("https://anikoto.vercel.app/api/most-popular");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/most-popular")\nprint(r.json())' } },
|
||||
{ id: 'genre', title: 'Genre', desc: 'Anime by genre.', path: '/api/genre/{name}', params: [{ name: 'name', type: 'string', desc: 'Genre slug (action, comedy, etc.)' }], code: { curl: 'curl "https://anikoto.vercel.app/api/genre/action"', js: 'const res = await fetch("https://anikoto.vercel.app/api/genre/action");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/genre/action")\nprint(r.json())' } },
|
||||
{ id: 'type', title: 'Type', desc: 'Anime by type.', path: '/api/type/{name}', params: [{ name: 'name', type: 'string', desc: 'Type (tv, movie, ova, etc.)' }], code: { curl: 'curl "https://anikoto.vercel.app/api/type/tv"', js: 'const res = await fetch("https://anikoto.vercel.app/api/type/tv");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/type/tv")\nprint(r.json())' } },
|
||||
{ id: 'status', title: 'Status', desc: 'Anime by status.', path: '/api/status/{name}', params: [{ name: 'name', type: 'string', desc: 'Status (currently-airing, finished-airing)' }], code: { curl: 'curl "https://anikoto.vercel.app/api/status/currently-airing"', js: 'const res = await fetch("https://anikoto.vercel.app/api/status/currently-airing");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikoto.vercel.app/api/status/currently-airing")\nprint(r.json())' } },
|
||||
{ id: 'home', title: 'Home Info', desc: 'Spotlight, trending, popular, top-airing, genres, and more.', path: '/api', params: [], code: { curl: 'curl https://anikototvapi.vercel.app/api', js: 'const res = await fetch("https://anikototvapi.vercel.app/api");\nconst data = await res.json();\nconsole.log(data.trending);', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api")\nprint(r.json()["trending"])' } },
|
||||
{ id: 'search', title: 'Search', desc: 'Search anime by keyword with pagination.', path: '/api/search?keyword={q}&page={n}', params: [{ name: 'keyword', type: 'string', desc: 'Search query' }, { name: 'page', type: 'number', desc: 'Page (default 1)' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/search?keyword=naruto"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/search?keyword=naruto");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/search", params={"keyword": "naruto"})\nprint(r.json())' } },
|
||||
{ id: 'suggest', title: 'Search Suggest', desc: 'Autocomplete suggestions for search.', path: '/api/search/suggest?keyword={q}', params: [{ name: 'keyword', type: 'string', desc: 'Partial query' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/search/suggest?keyword=dea"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/search/suggest?keyword=dea");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/search/suggest", params={"keyword": "dea"})\nprint(r.json())' } },
|
||||
{ id: 'info', title: 'Anime Info', desc: 'Detailed info: synopsis, genres, relations, recommendations.', path: '/api/info?id={slug}', params: [{ name: 'id', type: 'string', desc: 'Anime slug' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/info?id=naruto"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/info?id=naruto");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/info", params={"id": "naruto"})\nprint(r.json())' } },
|
||||
{ id: 'episodes', title: 'Episodes', desc: 'Episode list loaded via AJAX.', path: '/api/episodes/{slug}', params: [{ name: 'slug', type: 'string', desc: 'Anime slug' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/episodes/naruto"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/episodes/naruto");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/episodes/naruto")\nprint(r.json())' } },
|
||||
{ id: 'stream', title: 'Stream Servers', desc: 'Streaming servers for an episode.', path: '/api/stream?id={episodeId}', params: [{ name: 'id', type: 'string', desc: 'Episode ID' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/stream?id=naruto-ep-1"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/stream?id=naruto-ep-1");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/stream", params={"id": "naruto-ep-1"})\nprint(r.json())' } },
|
||||
{ id: 'servers', title: 'Servers', desc: 'Resolve streaming server links.', path: '/api/servers?ids={ids}', params: [{ name: 'ids', type: 'string', desc: 'Comma-separated link IDs' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/servers?ids=123,456"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/servers?ids=123,456");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/servers", params={"ids": "123,456"})\nprint(r.json())' } },
|
||||
{ id: 'schedule', title: 'Schedule', desc: 'Anime schedule for a specific date.', path: '/api/schedule?date={YYYY-MM-DD}', params: [{ name: 'date', type: 'string', desc: 'Date (default today)' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/schedule"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/schedule");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/schedule")\nprint(r.json())' } },
|
||||
{ id: 'topten', title: 'Top 10', desc: 'Top 10 anime (today, week, month).', path: '/api/top-ten', params: [], code: { curl: 'curl "https://anikototvapi.vercel.app/api/top-ten"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/top-ten");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/top-ten")\nprint(r.json())' } },
|
||||
{ id: 'random', title: 'Random', desc: 'Random anime info.', path: '/api/random', params: [], code: { curl: 'curl "https://anikototvapi.vercel.app/api/random"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/random");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/random")\nprint(r.json())' } },
|
||||
{ id: 'filter', title: 'Filter', desc: 'Filter by genre, type, status, season.', path: '/api/filter?keyword={q}&genre[]={g}', params: [{ name: 'keyword', type: 'string', desc: 'Search keyword (required)' }, { name: 'genre[]', type: 'number', desc: 'Genre IDs' }, { name: 'type[]', type: 'number', desc: 'Type IDs' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/filter?keyword=&genre[]=1&genre[]=4"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/filter?keyword=&genre[]=1");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/filter", params={"keyword": "", "genre[]": 1})\nprint(r.json())' } },
|
||||
{ id: 'popular', title: 'Most Popular', desc: 'Most popular anime list.', path: '/api/most-popular?page={n}', params: [{ name: 'page', type: 'number', desc: 'Page (default 1)' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/most-popular"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/most-popular");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/most-popular")\nprint(r.json())' } },
|
||||
{ id: 'genre', title: 'Genre', desc: 'Anime by genre.', path: '/api/genre/{name}', params: [{ name: 'name', type: 'string', desc: 'Genre slug (action, comedy, etc.)' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/genre/action"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/genre/action");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/genre/action")\nprint(r.json())' } },
|
||||
{ id: 'type', title: 'Type', desc: 'Anime by type.', path: '/api/type/{name}', params: [{ name: 'name', type: 'string', desc: 'Type (tv, movie, ova, etc.)' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/type/tv"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/type/tv");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/type/tv")\nprint(r.json())' } },
|
||||
{ id: 'status', title: 'Status', desc: 'Anime by status.', path: '/api/status/{name}', params: [{ name: 'name', type: 'string', desc: 'Status (currently-airing, finished-airing)' }], code: { curl: 'curl "https://anikototvapi.vercel.app/api/status/currently-airing"', js: 'const res = await fetch("https://anikototvapi.vercel.app/api/status/currently-airing");\nconst data = await res.json();', python: 'import requests\nr = requests.get("https://anikototvapi.vercel.app/api/status/currently-airing")\nprint(r.json())' } },
|
||||
];
|
||||
const navEl = document.getElementById('explorerNav');
|
||||
const panelEl = document.getElementById('explorerPanel');
|
||||
|
||||
Reference in New Issue
Block a user