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), noteng. - 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13c581a0023cfbcbc5fe4e0bee65303f335dbf8b1f1f275a3d73e8fe3d79a87a
|
|
| MD5 |
4b0a4c812df419e22b6176f660664a28
|
|
| BLAKE2b-256 |
820064d543eb681f18c6c18de218c195909e29fb900adbab1e57a4e1169ec2ce
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47512d570765ef427eb170c8baf2a39938da86c728b6e355305cd63962a8c3d4
|
|
| MD5 |
d4d3122392365e77c6e743f67b925749
|
|
| BLAKE2b-256 |
4971f6b6f0a2919471c59a72d9bd103888975b24bb2d87a187cc6fa7ca9721af
|