Vedabase APIvedabase.io ↗
Access Bhagavad-gita, Srimad-Bhagavatam, and Caitanya-caritamrta verses, purports, transcripts, and letters via the Vedabase.io API.
What is the Vedabase API?
The Vedabase.io API gives programmatic access to the full Vedabase library across 14 endpoints, covering Sanskrit verses in Devanagari and IAST transliteration, word-for-word synonym indexes, English translations, and Prabhupada's purports. The get_verse endpoint returns six structured fields per verse — devanagari, verse_text, synonyms, translation, purport, and title — for the three major canonical texts. Separate endpoints cover transcripts and letters with pagination and filtering.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/e83a450a-a65b-4a73-98d1-e853df9bb882/get_library' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace vedabase-io-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Vedabase SDK — browse scripture, search, drill into verses."""
from parse_apis.vedabase_api import Vedabase, MatchType, LilaSlug, VerseNotFound
client = Vedabase()
# List available books in the library.
for book in client.books.list(limit=5):
print(book.title, book.slug)
# Construct a book by slug and browse its table of contents.
bg = client.book("bg")
toc = bg.contents()
print(toc.book, len(toc.chapters) if toc.chapters else 0)
# Get verses in chapter 1 of Bhagavad-gita.
for verse in bg.chapters(chapter_slug="1", limit=3):
print(verse.title, verse.slug)
# Fetch full verse detail via the convenience shortcut.
detail = client.books.gita_verse(chapter_slug="1", verse_slug="1")
print(detail.title, detail.translation[:80])
# Search the verse index by transliterated text with a match type enum.
for hit in client.verseindexresults.search(text="yoga", match_type=MatchType.CONTAINS, limit=3):
print(hit.reference, hit.verse_snippet[:60])
# Typed error handling: catch VerseNotFound for a non-existent verse.
try:
client.book("bg").verse(chapter_slug="99", verse_slug="999")
except VerseNotFound as exc:
print(f"verse not found: {exc}")
print("exercised: books.list / book.contents / book.chapters / books.gita_verse / verseindexresults.search")
Returns the full list of books available in the Vedabase library. Each book includes a title, slug identifier, and URL. Use the slug to drill into a book's table of contents via get_book.
No input parameters required.
{
"type": "object",
"fields": {
"books": "array of book objects with title, slug, and url"
},
"sample": {
"data": {
"books": [
{
"url": "https://vedabase.io/en/library/bg/",
"slug": "bg",
"title": "Bhagavad-gītā As It Is"
},
{
"url": "https://vedabase.io/en/library/sb/",
"slug": "sb",
"title": "Śrīmad-Bhāgavatam"
},
{
"url": "https://vedabase.io/en/library/cc/",
"slug": "cc",
"title": "Śrī Caitanya-caritāmṛta"
}
]
},
"status": "success"
}
}About the Vedabase API
Verse and Book Navigation
The API is structured around three navigational tiers. get_library returns all available books as slugs and URLs. get_book takes a book_slug (bg, sb, or cc) and returns the table of contents — chapters for Bhagavad-gita, cantos for Srimad-Bhagavatam, or lilas for Caitanya-caritamrta. get_chapter then lists all verses in a given chapter, accepting canto_slug for SB and lila_slug (adi, madhya, antya) for CC.
Verse Content
get_verse is the core endpoint. It returns the devanagari script text, verse_text in IAST transliteration, a synonyms string with word-for-word meanings, an English translation, and purport as an array of paragraph strings. Dedicated shorthand endpoints — get_bhagavad_gita_verse, get_srimad_bhagavatam_verse, and get_caitanya_caritamrta_verse — accept the same fields but omit the book_slug parameter, reducing the number of required inputs for single-text applications.
Search and Indexes
search runs full-text queries across the entire library with optional filters for type (Book, Transcript, Letter) and text_type (Text, Purport), returning paginated results with title, url, and snippet. search_synonyms queries the Word-for-Word Index by Sanskrit word or English translation, returning word, definition, and reference per result. search_verse_index matches IAST transliterated text with match_type options of contains, exact-word, or starts.
Transcripts and Letters
get_transcripts returns paginated listings of Prabhupada's lectures filterable by type, year, and location. get_transcript fetches the full text of a single talk as an array of paragraph strings. get_letters similarly lists letters filterable by year, location, and recipient, with get_letter retrieving full letter content by slug.
The Vedabase API is a managed, monitored endpoint for vedabase.io — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when vedabase.io changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official vedabase.io API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Bhagavad-gita study app that displays Devanagari, transliteration, and purport side by side using
get_bhagavad_gita_verse - Create a Sanskrit vocabulary tool by querying the Word-for-Word Index via
search_synonymswith Sanskrit or English terms - Generate a daily verse digest by iterating chapters and verses from
get_bookandget_verse - Index all of Prabhupada's letters by recipient and year using
get_lettersfilters for archival or research purposes - Build a full-text search interface over the entire Vedabase corpus using the
searchendpoint withtypeandtext_typefilters - Locate verses from partial IAST transliterated text using
search_verse_indexwithstartsorcontainsmatch types - Compile transcripts of lectures from a specific city and year using
get_transcriptslocation and year filters
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Vedabase.io have an official developer API?+
What does `get_verse` return, and how does it differ from the book-specific shorthand endpoints?+
get_verse returns six fields: devanagari, verse_text (IAST), synonyms, translation, purport (array of paragraphs), and title. It requires book_slug plus either canto_slug (for SB) or lila_slug (for CC). The shorthand endpoints — get_bhagavad_gita_verse, get_srimad_bhagavatam_verse, and get_caitanya_caritamrta_verse — return identical fields but omit book_slug since it is implied.Does the API cover books other than Bhagavad-gita, Srimad-Bhagavatam, and Caitanya-caritamrta?+
get_library endpoint lists all books available in the Vedabase library, and get_book accepts any valid slug from that list. The dedicated verse endpoints and their slug parameters are documented for BG, SB, and CC specifically. If the library contains additional titles, you can fork this API on Parse and revise it to add explicit verse endpoints for those books.Can I filter transcripts by topic or scripture reference?+
get_transcripts supports filtering by type (e.g., Conversation, Walk), year, and location. Filtering by topic keyword or scripture reference is not currently exposed as a parameter. You can fork this API on Parse and revise it to add topic-based filtering if the source supports it.How does pagination work across endpoints that return lists?+
search, search_synonyms, search_verse_index, get_transcripts, and get_letters endpoints all accept an integer page parameter. Responses echo back the current page value alongside the results array. There is no total_pages or total_results field in the current response shape, so iterating requires checking whether a page returns an empty results array.