Discover/royalroad.com API
live

royalroad.com APIwww.royalroad.com

Access Royal Road fiction data via API. Search by title, tags, and genre. Retrieve ratings, chapter lists, stats, and content warnings for any fiction.

Endpoints
3
Updated
4h ago
Try it
Page number for pagination.
Genre filter. Accepts: action, adventure, comedy, contemporary, drama, fantasy, historical, horror, mystery, psychological, romance, satire, sci_fi, short_story, thriller, tragedy.
Title or keyword to search for in fiction titles and descriptions.
Sort order for results. Accepts: relevance, popularity, rating, name, pages, readers, date.
Tag to include in results. Use snake_case tag identifiers such as: litrpg, summoned_hero, male_lead, female_lead, sci_fi, strong_lead, adventure, fantasy, reader_interactive, supernatural, magic, progression, action, gamelit, high_fantasy, deck_building, post_apocalyptic, low_fantasy, dungeon_crawler, urban_fantasy, contemporary, grimdark, mystery, survival, crafting, comedy, slice_of_life, local_protagonist, apocalypse, villainous_lead, multiple_lead, drama, romance, space_opera, psychological, first_contact, soft_sci-fi, strategy, harem, non-human_lead, secret_identity, attractive_lead, war_and_military, mythos, kingdom_building, technologically_engineered, artificial_intelligence, modern_knowledge, magitech, anti-hero_lead, super_heroes, horror, satire, system_invasion, school_life, martial_arts, historical, dystopia.
Tag to exclude from results. Uses the same tag identifiers as tags_add.
api.parse.bot/scraper/195f0514-c4a2-4100-87c0-84b79b177517/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/195f0514-c4a2-4100-87c0-84b79b177517/search_fictions' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 3 totalclick to expand

Search fictions by title keyword, tags, genre, and ordering. Returns paginated results with 20 items per page. Supports filtering by included/excluded tags and genre.

Input
ParamTypeDescription
pagestringPage number for pagination.
genrestringGenre filter. Accepts: action, adventure, comedy, contemporary, drama, fantasy, historical, horror, mystery, psychological, romance, satire, sci_fi, short_story, thriller, tragedy.
titlestringTitle or keyword to search for in fiction titles and descriptions.
order_bystringSort order for results. Accepts: relevance, popularity, rating, name, pages, readers, date.
tags_addstringTag to include in results. Use snake_case tag identifiers such as: litrpg, summoned_hero, male_lead, female_lead, sci_fi, strong_lead, adventure, fantasy, reader_interactive, supernatural, magic, progression, action, gamelit, high_fantasy, deck_building, post_apocalyptic, low_fantasy, dungeon_crawler, urban_fantasy, contemporary, grimdark, mystery, survival, crafting, comedy, slice_of_life, local_protagonist, apocalypse, villainous_lead, multiple_lead, drama, romance, space_opera, psychological, first_contact, soft_sci-fi, strategy, harem, non-human_lead, secret_identity, attractive_lead, war_and_military, mythos, kingdom_building, technologically_engineered, artificial_intelligence, modern_knowledge, magitech, anti-hero_lead, super_heroes, horror, satire, system_invasion, school_life, martial_arts, historical, dystopia.
tags_removestringTag to exclude from results. Uses the same tag identifiers as tags_add.
Response
{
  "type": "object",
  "fields": {
    "page": "integer",
    "count": "integer",
    "results": "array of fiction summaries with fiction_id, title, url, cover_url, tags, labels, rating, followers, pages, views, chapters",
    "total_pages": "integer"
  },
  "sample": {
    "page": 1,
    "count": 20,
    "results": [
      {
        "url": "https://www.royalroad.com/fiction/65629/the-game-at-carousel-a-horror-movie-litrpg",
        "tags": [
          "LitRPG",
          "Urban Fantasy",
          "Progression"
        ],
        "pages": 4306,
        "title": "The Game at Carousel: A Horror Movie LitRPG",
        "views": 7954762,
        "labels": [
          "Original",
          "STUB"
        ],
        "rating": 4.81,
        "chapters": 443,
        "cover_url": "https://www.royalroadcdn.com/public/covers-large/65629-the-game-at-carousel-a-horror-movie-litrpg.jpg?time=1681708250",
        "followers": 10603,
        "fiction_id": "65629"
      }
    ],
    "total_pages": 1068
  }
}

About the royalroad.com API

The Royal Road API exposes 3 endpoints for discovering and retrieving web fiction data from royalroad.com. Use search_fictions to query by title keyword, genre, or tag filters, list_fictions to pull ranked category feeds like best-rated or trending, and get_fiction to fetch a full detail record including five-dimension ratings, follower counts, chapter lists, and content warnings.

Search and Browse Fictions

The search_fictions endpoint accepts a title keyword along with optional genre, tags_add, and tags_remove parameters. Tags use snake_case identifiers (e.g. litrpg, summoned_hero, female_lead). Results are paginated at 20 items per page and can be sorted via order_by using values like relevance, popularity, rating, pages, or date. Each result in the results array includes fiction_id, title, url, cover_url, tags, labels, rating, followers, pages, views, and chapters.

Category Listings

The list_fictions endpoint retrieves fictions from Royal Road's ranking and browsing pages. The category parameter accepts values including best-rated, trending, active-popular, complete, and weekly-popular. Response pagination varies by category (20–50 items per page). The response shape mirrors search_fictions, returning the same fiction summary fields plus a category string confirming which feed was queried.

Fiction Detail Records

The get_fiction endpoint takes a numeric fiction_id (available from either listing endpoint) and returns a full detail record. The ratings object breaks down into five scores: overall_score, style_score, story_score, grammar_score, and character_score. Additional fields include author, warnings (content warnings as an array of strings), favorites, followers, cover_url, labels, tags, and a chapters array where each entry contains title, url, and date.

Common use cases
  • Build a fiction recommendation engine filtered by genre and tags like litrpg or summoned_hero
  • Track weekly trending fictions using list_fictions with the weekly-popular category
  • Monitor follower and favorites growth for specific fiction IDs over time via get_fiction
  • Aggregate Royal Road's five-dimension rating scores to rank authors by grammar_score or character_score
  • Compile chapter release histories for a fiction using the chapters array with publication dates
  • Filter out fictions with specific content warnings when building a reader-facing discovery tool
  • Index Royal Road's best-rated and complete categories to surface finished, high-quality stories
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Royal Road have an official developer API?+
Royal Road does not publish an official public developer API or documented REST endpoints for third-party use.
What does `get_fiction` return for ratings, and how granular is the breakdown?+
The ratings object contains five fields: overall_score, style_score, story_score, grammar_score, and character_score. These correspond directly to the rating dimensions Royal Road displays on each fiction page. Raw vote counts are not included in the current response.
Can I retrieve the full text content of individual chapters?+
Not currently. The chapters array in get_fiction returns each chapter's title, url, and date, but not the body text. The API covers search, listing, and fiction-level metadata. You can fork it on Parse and revise to add a chapter-content endpoint.
How does tag filtering work in `search_fictions`?+
The tags_add parameter includes only fictions that carry the specified tag, while tags_remove excludes fictions with that tag. Both use the same snake_case identifiers. Currently only a single tag value is accepted per parameter per request; multi-tag filtering in one call is not supported. You can fork the API on Parse and revise it to support passing multiple tag values simultaneously.
Are author profile pages or reader reviews accessible through the API?+
Not currently. The API covers fiction metadata, ratings, chapter lists, and category rankings. Author profile data and individual reader reviews are not exposed. You can fork it on Parse and revise to add endpoints for author profiles or review listings.
Page content last updated . Spec covers 3 endpoints from www.royalroad.com.
Related APIs in EntertainmentSee all →
store.steampowered.com API
Search Steam Store listings, fetch featured categories (specials, top sellers, new releases), and retrieve app details and user reviews by Steam AppID.
justwatch.com API
Search for movies and TV shows, retrieve streaming availability and detailed metadata, browse trending content, and discover similar titles — all via JustWatch.
seatgeek.com API
Search for events and performers, view ticket listings with pricing data, and explore venue information across multiple event categories. Get real-time insights into event details, ticket price trends, and what's currently trending to help you find and compare tickets.
poe.ninja API
Access real-time Path of Exile economy data from poe.ninja, including item prices, currency exchange rates, divination card values, market trends, and build statistics by class.
rcdb.com API
Discover and explore roller coasters and amusement parks with detailed information including coaster specifications, park details, images, and search capabilities. Find random coasters for inspiration or quickly search for specific rides to compare features and view photos from the world's largest roller coaster database.
stubhub.com API
Search and discover tickets across StubHub's marketplace by looking up events, performers, and categories to find exactly what you want to attend. Browse event details, performer schedules, and curated category collections to compare available tickets and make informed purchasing decisions.
rottentomatoes.com API
Search for movies and TV shows, get detailed information like ratings and reviews, and browse curated collections to discover what to watch. Access comprehensive Rotten Tomatoes data including critic and audience scores, plot details, and user reviews all in one place.
atomtickets.com API
Find movie showtimes, theater locations, and ticket prices in your area, then browse current and upcoming films with detailed information. Search for specific movies or theaters to compare showtimes and pricing across venues near you.