API

Last updated on April 16, 2026

Version 1

GET /api/v1/emojis

Retrieve the list of custom emojis used in nonsense entries. This is meant to be used as a reference. :lelcube:

GET /api/v1/variables

Retrieve the list of variables used in nonsense entries.

GET /api/v1/news

Retrieve the news from Nontrinsic. Alternatively, you can get the news as an RSS feed.

GET /api/v1/nonsense

Retrieve the nonsense database as a CSV1, JSON, or TXT2 file. Append ?format=csv, ?format=json, or ?format=txt at the end to get either format.

An entry that contains variables will be replaced by the server, except for $AUTHOR$, $SERVER$, $CHANNEL$, and ${app_name}. Refer to the Entry Formatting page for those variable definitions to be implemented on the client.

If an entry contains variables, there will be original_nonsense inside the JSON response that includes the raw entry text without the server replacing the variables. This is useful as a reference.

You may append these parameters at the end of the URL:

  • q=query — Restrict entries in the database export matching a search term.
  • format=format — Export the database as a csv1, json, or txt2 file.
  • after=timestamp — Only export entries after a specified Unix timestamp.
  • before=timestamp — Only export entries before a specified Unix timestamp.

Examples:

GET /api/v1/nonsense/random

Retrieve a random nonsense entry as JSON. You can optionally append ?format=html at the end to have the nonsense Markdown parsed as HTML by the server first, useful when the client cannot use a Markdown parser but can display HTML.

An entry that contains variables will be replaced by the server, except for $AUTHOR$, $SERVER$, $CHANNEL$, and ${app_name}. Refer to the Entry Formatting page for those variable definitions to be implemented in the client.

If an entry contains variables, there will be original_nonsense inside the JSON response that includes the raw entry text without the server replacing the variables. This is useful as a reference.

GET /api/v1/nonsense/:uuid

Retrieve a specific nonsense entry as JSON by its UUID. You can optionally append ?format=html at the end to have the nonsense Markdown parsed as HTML by the server first, useful when the client cannot use a Markdown parser but can display HTML.

GET /api/v1/nonsense/:uuid.png

Retrieve a share image of a specific nonsense entry by its UUID. Note that PNG is the only supported format for now. To get a wider image, append ?format=wide at the end. To get a print-optimized version of the image, append ?theme=light at the end.

GET /api/v1/nonsense/status

Retrieve the status of the nonsense database. This is useful when the client is caching the database for offline use. In that case, the client can compare the cache with the online database based on the timestamp of the latest entry.

POST /api/v1/nonsense/report

Report a nonsense entry by its UUID with a valid reason:

Value Description
hate_speech Slurs or hate speech
sexual_content Explicit sexual content
graphic_violence Graphic violence
personal_information Private or personally identifiable information
duplicate Same or near-identical entry already exists
other Other violation (use details to elaborate)

…along with optional details text.

POST to the reporting endpoint with the following JSON structure:

{
  "entryUuid": "00000000-0000-0000-0000-000000000000",
  "reason": "other",
  "details": "Optional additional context"
}

Replace entryUuid, reason, and details with actual reporting data. entryUuid must be an existing UUID of a nonsense entry.

GET /api/v1/nonsense/galaxy

Retrieve the nonsense galaxy as a CSV1 or JSON file; this is updated every 24 hours on an external server. Append ?format=csv or ?format=json at the end to get either format.

Note that the nonsense column may contain character encoding quirks; if you want to display the galaxy along with the entries (see an example), be sure to cross-reference the entry UUIDs with entries in the nonsense database to avoid such issue.

To learn more on how the nonsense galaxy is generated, see https://codeberg.org/nontrinsic/galaxy.

GET /api/v1/nonsense/galaxy/status

Retrieve the status of the nonsense galaxy. In rare cases, if the galaxy hasn’t been generated yet by the external server, it will return an error with the 502/503 HTTP code.

EXPERIMENTAL: OData backend

This is experimental and may be removed in the future.

The (minimal) OData endpoints only exist to be used in data visualization software such as Tableau, like this dashboard for example.

/odata/v2/$metadata

Retrieve the metadata about the columns that are in the database with each of their own types.

/odata/v2/nonsense_list

Retrieve the database as Atom via OData v2. You can append ?all=true at the end of the URL to retrieve the full database.

Who’s using Nontrinsic?

Footnotes

  1. The default format for the export if the format is not explicitly included. 2 3

  2. Only single-line nonsense entries will be included in the plain text file (TXT) export. Note that even though TXT means plain text, it’s actually Markdown! You should parse the Markdown if possible to make sure the entries have proper formatting. 2