Try it

Send a live GET against this API host. Paste an app key to avoid the anonymous rate limit.

Scope: none

Response will appear here.

Authentication

App keys are optional, but anonymous traffic is tightly rate limited.

Pass a key

  • Header X-App-Key
  • Header X-API-Key
  • Query app_key
  • Query app-key
  • Query api_key
  • Query api-key

Keys must include the route scope, or the catch-all api scope.

Quick example

curl -H "X-App-Key: YOUR_KEY" \
  "https://api.furryconarchives.org/v1/documents/?page_size=5"

Rate limits

Limits are counted per minute. Exceeding them returns HTTP 429.

Anonymous

1 request / minute / IP.

With an app key

Uses the key’s configured requests-per-minute. Blank rate means unlimited for that key.

Scopes

Each keyed request must be allowed for the route it hits. Missing scope → 403.

api Full API access to every route scope below. Does not include the convention dashboard.
site Site chrome and static discovery payload.
home Homepage featured/recent documents.
pages Page catalog and page detail bodies.
documents Document list, meta, detail, and mirrors.
categories Convention browse and detail.
schedules Schedule browse, years, detail, and events.
search Cross-collection search.
vault Physical inventory browse and detail.
tags Tag list and tag detail.
stats Public stats counters.
telegram Telegram chat history feed.
telegram-user Telegram user lookup.
telegram-media Telegram media preview proxy.
discord-user Discord user-by-id lookup.
discord-search Discord lookup helper at /v1/discord/lookup/.
guidebook Guidebook event export.
sched Sched.com raw dump helper.

Core

Discovery, site chrome, and homepage payloads.

GET

API index: version, endpoint map, auth and rate-limit notes.

no scope
GET

Site name, banner, nav, footer links, pages, friends, contact, and stats.

scope: site
GET

Featured and recent documents plus public stats and banner.

scope: home
GET

Public archive totals (documents, conventions, views).

scope: stats

Pages

Static page payloads.

GET

Catalog of public pages with frontend and API URLs.

scope: pages
GET

Page detail. FAQ, contact, rights, and preservation pages include structured body fields.

  • slug path · home, faq, contact, rights, preservation-policy, preservation-tips
scope: pages

Documents

Published conbooks and related PDFs.

GET

Paginated document list with filters.

  • q / search query · Full-text style title/description search
  • category query · Category slug
  • year query · Convention year
  • convention query · Convention name contains
  • tag query · Tag slug. Matches a document when any of its tags match.
  • shuffle / featured query · 1 to shuffle results
  • seed query · Deterministic shuffle seed
  • sort query · Sort key when not shuffling
  • page query · Default 1
  • page_size query · Default 20
scope: documents
GET

Filter facets and metadata for the documents browser.

scope: documents
GET

Document detail, view count, related docs, and ConSurf fields when present.

scope: documents

Conventions & tags

Browse conventions (categories) and document tags.

GET

Paginated conventions with document and schedule counts.

  • q query · Name, location, or description
  • tag query · Convention tag slug
  • sort query · name, -name, documents, -documents, created_at, -created_at, year, -year, random, order
  • has_documents query · 1 / true
  • has_schedules query · 1 / true
  • page query · Default 1
  • page_size query · Default 50
scope: categories
GET

Convention detail with optional year filter for documents.

  • year query · Limit documents to a year
scope: categories
GET

All tags with document counts.

scope: tags
GET

Tag detail plus paginated documents.

  • page query · Default 1
  • page_size query · Default 20
scope: tags

Schedules

Convention schedule listings and event dumps.

GET

Schedule index, optionally filtered by query.

  • q query · Convention or schedule search
  • tag query · Convention tag slug
  • sort query · name, -name, schedules, -schedules, created_at, -created_at, year, -year, random
  • page query · Optional. When omitted with page_size, returns the full list
  • page_size query · Optional. Enables pagination when set
scope: schedules
GET

Schedule summary plus event day/room overview.

  • year query · Prefer a specific year when resolving the slug
scope: schedules

Search & The Vault

Cross-collection search and physical inventory.

GET

Search documents, conventions, and schedules.

  • q / query query · Required search string
scope: search
GET

Paginated physical inventory items with donor entries.

  • q query · Con, type, donors, notes
  • con query · Convention name contains
  • year query · Year filter
  • item_type query · Item type contains
  • tag query · Convention tag slug (matches holdings by convention name)
  • sort query · name, -name, year, -year, added_at, -added_at, random
  • page query · Default 1
  • page_size query · Default 50
scope: vault
GET

Vault filter facets (cons, years, types).

scope: vault

Telegram & Discord

Chat history, profile lookups, and avatar/media proxies.

GET

Serialized Furry Con Archives Telegram chat history.

  • limit query · Default 100, max 432
  • page query · Default 1
  • max_id query · Paginate older messages
scope: telegram
GET

Telegram media preview proxy (binary).

  • photo_id query · Photo id
  • peer + id query · Message peer and id
scope: telegram-media