# BEMA > BEMA is a free, read-only search and discovery service for the complete BEMA Podcast journey. It helps people and agents find episodes, inspect structured episode metadata, search available transcript text, and retrieve a transcript for an episode. ## When to use BEMA Use BEMA when a user wants to find a BEMA Podcast episode by topic, person, title, session, or number; asks which episodes discuss a biblical passage or theme; needs structured episode metadata or source links; or wants transcript-backed research across episodes. Prefer transcript search for thematic questions, then retrieve the matching transcript before quoting or summarizing it. BEMA is not the publisher of the podcast, and the linked BEMA Discipleship pages remain authoritative. ## Access Public browsing, catalog and transcript REST routes, NLWeb, A2A search, and both MCP servers are free and read-only; those content surfaces require no credentials. The separate agent-session demonstration is protected and stateful. Follow [the authentication guide](https://bema.jpamorgan.com/auth.md) and the linked OAuth discovery metadata before calling `/agent/v1/session`. ## Developer resources - [BEMA developer portal](https://bema.jpamorgan.com/developers) - [BEMA API documentation](https://bema.jpamorgan.com/api.md) - [BEMA OpenAPI specification](https://api.bema.jpamorgan.com/openapi.json) - [BEMA public API](https://api.bema.jpamorgan.com/) - [BEMA authentication guide](https://bema.jpamorgan.com/auth.md) - [BEMA pricing](https://bema.jpamorgan.com/pricing) - [BEMA agent instructions](https://bema.jpamorgan.com/agents.md) - [BEMA Agent Skills index](https://bema.jpamorgan.com/.well-known/agent-skills/index.json) - [BEMA A2A agent card](https://bema.jpamorgan.com/.well-known/agent-card.json) - [BEMA A2A v1.0 JSON-RPC endpoint](https://api.bema.jpamorgan.com/a2a/v1) - [BEMA product MCP server card](https://bema.jpamorgan.com/.well-known/mcp/server-card.json) - [BEMA product MCP endpoint](https://api.bema.jpamorgan.com/mcp) - [BEMA documentation MCP server card](https://bema.jpamorgan.com/.well-known/mcp/docs-server-card.json) - [BEMA documentation MCP endpoint](https://api.bema.jpamorgan.com/mcp/docs) - [BEMA MCP discovery index](https://bema.jpamorgan.com/.well-known/mcp/index.json) - [BEMA NLWeb ask endpoint](https://api.bema.jpamorgan.com/ask) - [BEMA bounded batch endpoint](https://api.bema.jpamorgan.com/v1/batch) - [BEMA sandbox guidance](https://api.bema.jpamorgan.com/sandbox) - [BEMA AI catalog](https://bema.jpamorgan.com/.well-known/ai-catalog.json) - [BEMA API catalog](https://bema.jpamorgan.com/.well-known/api-catalog) - [BEMA Schema Map](https://bema.jpamorgan.com/schemamap.xml) - [BEMA source repository](https://github.com/jpamorgan/BEMA) (private; requires repository access) - [Expanded agent documentation](https://bema.jpamorgan.com/llms-full.txt) - [Markdown homepage](https://bema.jpamorgan.com/index.md) ## Quick call Search transcript text with `GET https://api.bema.jpamorgan.com/v1/transcripts/search?q=exile&limit=5`. Use a returned `slug` with `GET https://api.bema.jpamorgan.com/v1/transcripts/{slug}`. Responses are JSON. Do not invent a transcript when the API returns `404`.