Skip to main content

A Command line interface for interacting with the YouVersion Bible API

Project description

YouVersion Bible API Client

Python client for the YouVersion Bible API. Use it to read scripture, export your notes and highlights, and work with moments, plans, events, and social features.

Please use responsibly.

Installation

pip install youversion-bible-client

Features

  • verse of the day
  • moments / feeds
  • notes
  • verse highlights
  • bookmarks
  • plan subscriptions
  • plan progress
  • plan completions
  • verse search

Credentials

Set credentials via environment variables or a .env file:

YOUVERSION_USERNAME=your_username
YOUVERSION_PASSWORD=your_password

Quick start

Async (recommended)

import asyncio
from youversion.clients import AsyncClient

async def main():
    async with AsyncClient() as client:
        votd = await client.verse_of_the_day()
        print(votd.usfm)

        chapter = await client.get_bible_chapter("GEN.1", version_id=1)
        print(chapter["reference"]["human"])

asyncio.run(main())

Sync

from youversion.clients import SyncClient

with SyncClient() as client:
    notes = client.notes(page=1)
    print(len(notes))

Common tasks

Task Method
Verse of the day verse_of_the_day()
Highlights, notes, bookmarks highlights(), notes(), bookmarks()
Bible search search_bible("love", version_id=1)
Bible chapter get_bible_chapter("GEN.1", version_id=1)
Audio chapter get_audio_chapter("GEN.1", version_id=1)
Reading plans plan_progress(), search_plans("daily")
Friends get_friends(), get_friend_suggestions(language_tag="en")
Notifications get_notifications()
Events search_events("church"), get_event_details(event_id)

Sample responses

Values below are trimmed from live integration tests. User-specific fields are anonymized.

Verse of the day (verse_of_the_day()):

{
  "day": 178,
  "usfm": ["ISA.43.18", "ISA.43.19"],
  "image_id": null
}

Bible chapter (get_bible_chapter("GEN.1", version_id=1)):

{
  "reference": {
    "usfm": ["GEN.1"],
    "human": "Genesis 1",
    "version_id": 1
  },
  "content": "<div>... verse HTML ...</div>",
  "next": {"usfm": ["GEN.2"], "human": "Genesis 2"}
}

Bible configuration (get_bible_configuration()):

{
  "short_url": "https://www.bible.com/",
  "totals": {"versions": 3809, "languages": 2439}
}

Note: default_versions[].id is a language id, not a Bible version id. Resolve a version id via get_bible_versions("eng") or use a known id such as 1 (KJV).

API notes

  • Public endpoints (no Bearer token): get_bible_chapter, get_audio_chapter, get_moments_configuration, get_moments_votd. The client handles this automatically.
  • Friend suggestions require language_tag="en" (ISO 639-1), not eng.
  • User badges come from badges() via the moments feed, not a separate badges service.

CLI

uv run youversion votd
uv run youversion highlights --page 1
uv run youversion get-bible-chapter --reference GEN.1 --version-id 1

See DOCS.md for the full method list and docs/ for Sphinx documentation.

Development

uv sync
uv run pytest
uv run pytest tests/test_api_integration.py -m integration  # requires .env credentials

Integration runs save request/response JSON under results/integration/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

youversion_bible_client-0.4.0.tar.gz (214.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

youversion_bible_client-0.4.0-py3-none-any.whl (51.4 kB view details)

Uploaded Python 3

File details

Details for the file youversion_bible_client-0.4.0.tar.gz.

File metadata

  • Download URL: youversion_bible_client-0.4.0.tar.gz
  • Upload date:
  • Size: 214.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for youversion_bible_client-0.4.0.tar.gz
Algorithm Hash digest
SHA256 13c581a0023cfbcbc5fe4e0bee65303f335dbf8b1f1f275a3d73e8fe3d79a87a
MD5 4b0a4c812df419e22b6176f660664a28
BLAKE2b-256 820064d543eb681f18c6c18de218c195909e29fb900adbab1e57a4e1169ec2ce

See more details on using hashes here.

File details

Details for the file youversion_bible_client-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: youversion_bible_client-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 51.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for youversion_bible_client-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 47512d570765ef427eb170c8baf2a39938da86c728b6e355305cd63962a8c3d4
MD5 d4d3122392365e77c6e743f67b925749
BLAKE2b-256 4971f6b6f0a2919471c59a72d9bd103888975b24bb2d87a187cc6fa7ca9721af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page