Gnosis Lexicon API
Free, open access to a growing corpus of gnostic and esoteric terminology. Built for researchers, developers, and anyone building tools for the study of ancient wisdom traditions.
Base URL
Authentication
None required. The API is free and open. No API key needed.
Rate Limits
100 requests per hour per IP address. Rate limit headers are included in every response.
Every response also includes an X-License header advertising the CC BY-SA 4.0 license that governs the data — so downstream tooling can detect the license without parsing this page.
Endpoints
GET /api/lexicon/public
Returns a paginated list of all lexicon terms. Supports filtering by pillar, locale, and search query.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| locale | string | "en" | Language: "en" (English) or "bg" (Bulgarian) |
| pillar | string | - | Filter by knowledge pillar (e.g. cosmology, alchemy, shadow) |
| q | string | - | Search term name (case-insensitive partial match) |
| limit | number | 50 | Results per page (1-500) |
| offset | number | 0 | Pagination offset |
Example Request
curl "https://pleroma.stefansalkimia.com/api/lexicon/public?pillar=cosmology&limit=10"Example Response
{
"data": [
{
"term": "Archon",
"slug": "archon",
"definition": "A cosmic parasitic entity in Gnostic cosmology...",
"pillar": "cosmology",
"tradition": "Gnostic",
"etymology": "Greek: archon — ruler",
"relatedTerms": [
"demiurge",
"sophia"
],
"url": "https://pleroma.stefansalkimia.com/en/lexicon/archon"
}
],
"meta": {
"total": 222,
"limit": 50,
"offset": 0,
"locale": "en",
"hasMore": true
},
"attribution": {
"source": "Pleroma Gnosis Lexicon",
"url": "https://pleroma.stefansalkimia.com",
"license": "CC BY-SA 4.0",
"required": "Attribution required: 'Powered by Pleroma Gnosis'"
}
}GET /api/lexicon/public/[slug]
Returns a single term by its slug, including full content and related blog posts that reference it.
Example Request
curl "https://pleroma.stefansalkimia.com/api/lexicon/public/archon"Example Response
{
"data": {
"term": "Archon",
"slug": "archon",
"definition": "A cosmic parasitic entity in Gnostic cosmology...",
"fullContent": "A cosmic parasitic entity in Gnostic cosmology that rules the material world...",
"pillar": "cosmology",
"tradition": "Gnostic",
"etymology": "Greek: archon — ruler",
"pronunciation": "AR-kon",
"termOriginal": null,
"relatedTerms": [
"demiurge",
"sophia"
],
"relatedPosts": [
{
"title": "What Are Archons?",
"slug": "what-are-archons",
"url": "https://pleroma.stefansalkimia.com/en/blog/what-are-archons"
}
],
"url": "https://pleroma.stefansalkimia.com/en/lexicon/archon"
},
"attribution": {
"source": "Pleroma Gnosis Lexicon",
"url": "https://pleroma.stefansalkimia.com",
"license": "CC BY-SA 4.0",
"required": "Attribution required: 'Powered by Pleroma Gnosis'"
}
}Response Fields
Every response is a JSON object with three top-level keys: data (the term or array of terms), meta (pagination + request metadata, list endpoint only), and attribution (license and credit info). The tables below document every field the API can return.
data — term object
| Field | Type | Description |
|---|---|---|
| term | string | Canonical name of the term as it appears in the lexicon. |
| slug | string | URL-safe identifier. Use this in the single-term endpoint path. |
| definition | string | Short one- or two-sentence definition suitable for cards, tooltips, and preview UIs. |
| pillar | string | The knowledge pillar this term belongs to (e.g. cosmology, alchemy, shadow). |
| tradition | string | The lineage or tradition the term originates from (e.g. Gnostic, Hermetic, Kabbalistic). |
| etymology | string | null | Origin of the word, usually including the source language. May be null when unknown. |
| relatedTerms | string[] | Slugs of other terms cross-linked to this one. Useful for graph walks and related-reading UIs. |
| url | string | Canonical URL of the term's page on Pleroma. |
| fullContent | string | Long-form prose body of the term entry, in Markdown. Single-term endpoint only. |
| pronunciation | string | null | Rough phonetic pronunciation guide. May be null. Single-term endpoint only. |
| termOriginal | string | null | Original-script form of the term (e.g. Greek, Hebrew) when applicable. May be null. Single-term endpoint only. |
| relatedPosts | object[] | Array of blog posts that reference this term, each with title, slug, and url. Single-term endpoint only. |
meta — list endpoint only
| Field | Type | Description |
|---|---|---|
| meta.total | number | Total number of terms that match the current filter, before pagination. |
| meta.limit | number | Page size that was actually applied (after clamping to the 1-500 allowed range). |
| meta.offset | number | Offset that was actually applied (after clamping). |
| meta.locale | string | Locale that was resolved for this response (en or bg). |
| meta.hasMore | boolean | True when there are additional pages after this one. Equivalent to (offset + limit) < total. |
| meta.warnings | string[] (optional) | Present only when the API silently adjusted your input — for example, clamped an out-of-range limit or fell back to the default locale. Each string explains one adjustment. |
attribution
| Field | Type | Description |
|---|---|---|
| attribution.source | string | Human-readable name of the data source. |
| attribution.url | string | URL you should link back to when attributing the data. |
| attribution.license | string | SPDX-style identifier for the license. Always CC BY-SA 4.0 today. |
| attribution.required | string | The exact attribution string we ask you to display alongside reused content. |
Fields marked as "single-term endpoint only" appear when you fetch GET /api/lexicon/public/[slug] and are omitted from the list endpoint to keep responses small.
Available Pillars
Use these values with the pillar query parameter to filter terms by knowledge domain.
Attribution
This API is licensed under CC BY-SA 4.0. You are free to use the data in any project, provided you include attribution linking back to Pleroma.
<a href="https://pleroma.stefansalkimia.com">Powered by Pleroma Gnosis</a>License
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0). You may share and adapt the data for any purpose, including commercial, as long as you provide attribution and distribute derivative works under the same license.
Error Codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request (invalid locale or parameters) |
| 404 | Term not found (single-term endpoint only) |
| 429 | Rate limit exceeded. Check the Retry-After header. |
Feedback & Contact
Found a bug, a wrong definition, or need a higher rate limit for research or a larger integration? Reach out directly — a human reads every message.
pleroma@stefansalkimia.comRate-limit increases are granted case by case. Include a short note about the project and expected request volume and you will usually hear back within a few days.