Plume API

Quick Start

Discover Plume API and how to integrate it into your service.

Overview

This API offers a wide range of fun and easy-to-use features, designed for your Discord bots or similar applications.

All API endpoints follow the OpenAPI v3 specification and return data in JSON format.

API Versioning

VersionBase URLRelease DateDeprecation Date
v1https://plume.sodiumlabs.xyz/api08/03/2025Not deprecated

Error Handling

You may encounter errors if you send an invalid or malformed request. Errors always use non-2XX status codes and typically contain a JSON object with a message field explaining the issue.

Common codes you may encounter are:

CodeReason
400Something with your request was invalid. The reason should be explained in the API docs or in the message field.
422Validation of your query parameters failed. Required parameters are missing or invalid. Check the errors field in the response, which is an array of objects like { message: string }.
429You are being rate-limited. Wait before querying the API again.
5XXThe endpoint or the API is down. Try again later.

Rate Limits

Plume API has a rate-limiting system to prevent abuse. Every response from the API includes three special headers so you know how close you are to the limit.

HeaderMeaning
X-Ratelimit-LimitThe maximum number of requests you can make in the window.
X-Ratelimit-RemainingThe number of requests remaining until the next reset.
X-Ratelimit-ResetSeconds until the Remaining count resets.

Please avoid making unnecessary requests to our API, as they can degrade service for other users.

How to use the API

If you are using JavaScript or TypeScript, check out the official NPM package

Here is a basic example to fetch a random quote from the API:

import { PlumeAPI } from "@sodiumlabs/plume-api";
// or: const { PlumeAPI } = require("@sodiumlabs/plume-api");

const plumeAPI = new PlumeAPI();

// fetch a random quote:
const data = await plumeAPI.quote();
console.log(`Quote by ${data.author}: ${data.quote}`);
import requests

response = requests.get(f"https://plume.sodiumlabs.xyz/api/quote?locale=en")
if response.status_code != 200:
    raise Exception("Invalid response")

data = response.json()
print(f"Quote by {data['author']}: {data['quote']}")

That's it! If you need more help, join the Discord.

On this page