Home

Awesome

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.

<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->

Installation

Node 18 or above is required.

npm i rickmortyapi or yarn add rickmortyapi

Usage

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',
}

Examples

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()

Filter

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'
})

Pagination

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.

Support

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

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