rickmortyapi - v2.3.0

Tests Coverage Status npm version npm downloads Twitter Follow

The Rick and Morty API JavaScript client

A zero dependency client for retrieving content from The Rick and Morty API.


Node 18 or above is required.

npm i rickmortyapi or yarn add rickmortyapi


import { getCharacter } from 'rickmortyapi'
// or
import * as shlaami from 'rickmortyapi' // shlaami.getCharacter()
// or
const plumbus = require('rickmortyapi')
// a Plumbus will provide you with a lifetime of better living and happiness.

Client Reference

Response schema

The response for each method contains the following structure.

// The HTTP status code from the API response
data: {},

// The HTTP status message from the API response
status: 200,

// The response that was provided by the API
statusMessage: 'OK',


All methods return a promise.

Get by Id

const rick = await getCharacter(1)
const earth = await getLocation(1)
const episodeOne = await getEpisode(1)

Get by Ids

const theSmiths = await getCharacter([ 2, 3, 4, 5 ])
const [ earth, citadel ] = await getLocation([ 1 , 3 ])
const s01 = await getEpisode(Array.from({ length: 11 }, (v, i) => i + 1))

Get all

const characters = await getCharacters()
const locations = await getLocations()
const episodes = await getEpisodes()


To know more about filtering check the API documentation or the client reference.

const aliveRicks = await getCharacters({
name: 'rick',
status: 'alive'

const planets = await getLocations({
type: 'planet',
page: 2

const seasonOne = await getEpisodes({
episode: 's01'

In methods that return a paginated response (getCharacters, getLocations and getEpisodes), you can use a page property to access different pages.

const moreCharacters = await getCharacters({ page: 2 })

Get endpoints

getEndpoints(): This method will response with the available resouces, you can use it to ping the server status.


Help to maintain The Rick and Morty API's infrastructure.

If you want to know more about The Rick and Morty API click here.