Kavita Rating API
Responsible for providing external ratings for Series
Responsible for providing external ratings for Series
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/kavita:kavita-rating-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Kavita Rating API
description: Kavita provides a set of APIs authenticated via an Auth Key passed in the `x-api-key` header. Generate an Auth Key under User Settings → Manage Auth Keys, paste it into the Authorize panel, and all Try It requests will include it. Assume all fields of a payload are required unless marked optional. Built against v0.9.1.15
license:
name: GPL-3.0
url: https://github.com/Kareadita/Kavita/blob/develop/LICENSE
version: 0.9.1.15
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:5000
security:
- AuthKey: []
tags:
- name: Rating
description: Responsible for providing external ratings for Series
paths:
/api/Rating/series:
post:
tags:
- Rating
summary: Update the users' rating of the given series
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRatingDto'
text/json:
schema:
$ref: '#/components/schemas/UpdateRatingDto'
application/*+json:
schema:
$ref: '#/components/schemas/UpdateRatingDto'
responses:
'200':
description: OK
operationId: postApiRatingSeries
x-operation-id-source: derived
/api/Rating/chapter:
post:
tags:
- Rating
summary: Update the users' rating of the given chapter
requestBody:
description: chapterId must be set
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRatingDto'
text/json:
schema:
$ref: '#/components/schemas/UpdateRatingDto'
application/*+json:
schema:
$ref: '#/components/schemas/UpdateRatingDto'
responses:
'200':
description: OK
operationId: postApiRatingChapter
x-operation-id-source: derived
/api/Rating/overall-series:
get:
tags:
- Rating
summary: Overall rating from all Kavita users for a given Series
description: If the authenticated user is the only user to have rated the series, returns 0
parameters:
- name: seriesId
in: query
description: ''
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/RatingDto'
application/json:
schema:
$ref: '#/components/schemas/RatingDto'
text/json:
schema:
$ref: '#/components/schemas/RatingDto'
operationId: getApiRatingOverallSeries
x-operation-id-source: derived
/api/Rating/overall-chapter:
get:
tags:
- Rating
summary: Overall rating from all Kavita users for a given Chapter
description: If the authenticated user is the only user to have rated the chapter, returns 0
parameters:
- name: chapterId
in: query
description: ''
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/RatingDto'
application/json:
schema:
$ref: '#/components/schemas/RatingDto'
text/json:
schema:
$ref: '#/components/schemas/RatingDto'
operationId: getApiRatingOverallChapter
x-operation-id-source: derived
components:
schemas:
RatingAuthority:
enum:
- 0
- 1
type: integer
description: 'Members:
- `0` — User
- `1` — Critic'
format: int32
x-enum-varnames:
- User
- Critic
x-enum-descriptions:
- User
- Critic
ScrobbleProvider:
enum:
- 0
- 1
- 2
- 4
- 5
- 6
type: integer
description: 'Members:
- `0` — Kavita
- `1` — AniList
- `2` — Mal
- `4` — Cbr
- `5` — Hardcover
- `6` — MangaBaka'
format: int32
x-enum-varnames:
- Kavita
- AniList
- Mal
- Cbr
- Hardcover
- MangaBaka
x-enum-descriptions:
- Kavita
- AniList
- Mal
- Cbr
- Hardcover
- MangaBaka
RatingDto:
type: object
properties:
averageScore:
type: integer
format: int32
favoriteCount:
type: integer
format: int32
deprecated: true
provider:
$ref: '#/components/schemas/ScrobbleProvider'
authority:
$ref: '#/components/schemas/RatingAuthority'
providerUrl:
type:
- string
- 'null'
additionalProperties: false
UpdateRatingDto:
type: object
properties:
seriesId:
type: integer
format: int32
chapterId:
type:
- integer
- 'null'
format: int32
userRating:
type: number
format: float
additionalProperties: false
securitySchemes:
AuthKey:
type: apiKey
description: Auth Key authentication. Enter your Auth key from your user settings
name: x-api-key
in: header