Skip to main content
Two npm packages for building apps with the Urantia Papers API:
PackageDescriptionInstall
@urantia/apiTyped client for api.urantia.devnpm install @urantia/api
@urantia/authOAuth client for accounts.urantiahub.comnpm install @urantia/auth
Both are zero-dependency, TypeScript-first, and use native fetch under the hood.

When to Use Which

  • Public data only (papers, search, entities, audio) → install just @urantia/api
  • User features (bookmarks, notes, reading progress) → install both @urantia/api and @urantia/auth

Quick Install

# Public endpoints only
npm install @urantia/api

# Public + authenticated endpoints
npm install @urantia/api @urantia/auth

Using Both Together

The typical flow: authenticate with @urantia/auth, then pass the token to @urantia/api.
import { UrantiaAuth } from '@urantia/auth'
import { UrantiaAPI } from '@urantia/api'

// 1. Sign in
const auth = new UrantiaAuth({
  appId: 'my-app',
  redirectUri: 'https://myapp.com/callback',
})
const session = await auth.signIn()

// 2. Create an authenticated API client
const api = new UrantiaAPI({ token: session.accessToken })

// 3. Use authenticated endpoints
await api.me.bookmarks.create({ ref: '2:0.1', category: 'Favorites' })
const { data: bookmarks } = await api.me.bookmarks.list()
const { data: progress } = await api.me.readingProgress.get()

See It in Action

The Interactive Demo is built entirely with these SDKs. The Account section shows the full OAuth flow — sign in, manage bookmarks, notes, reading progress, and preferences. The demo app is open source — see how @urantia/api and @urantia/auth are used in a real Next.js app.