# Sefaria Documentation > Expand Digital Torah! Leverage the largest open-source database of Jewish texts in history to build apps and services for the People of the Book. ## Guides - [Welcome to Sefaria's Technical Documentation](https://developers.sefaria.org/docs/welcome.md): Explore Sefaria's technical documentation, including API insights, details about text structure, and more. - [Projects Powered By Sefaria](https://developers.sefaria.org/docs/powered-by-sefaria.md): Below is a partial list of third-party projects created by using Sefaria's API and open-source data. We love to see what other people are building with our materials. If you'd like to be featured on this page, [please tell us about your project!](https://sefaria.formstack.com/forms/powered_by_sefaria_submission_form) - [Copyright and Data Use](https://developers.sefaria.org/docs/usage-of-our-name-and-logo.md): Learn about how to find copyright details for texts in the Library and proper usage of Sefaria's name and logo. - [The Structure of a Book in the Sefaria Library](https://developers.sefaria.org/docs/the-structure-of-a-text-on-sefaria.md): Learn about the structure the data corresponding to individual texts in the Sefaria Library. - [Index and Versions](https://developers.sefaria.org/docs/index-and-versions.md): In the Sefaria Library, titles are represented by an Index, while editions of titles are represented by Versions. - [The Index Schema](https://developers.sefaria.org/docs/the-index-schema.md): Learn about how we define the structure of a book in the Sefaria Library. - [JaggedArray and JaggedArray Nodes](https://developers.sefaria.org/docs/jaggedarray-and-jaggedarray-nodes.md): JaggedArray and JaggedArrayNodes are objects used for representing both the text content and the structure of simple texts. - [SchemaNode](https://developers.sefaria.org/docs/schemanode.md): These intermediate nodes are used to define the schema of an Index, thereby creating the structure of a book. - [The Structure of a Simple Text](https://developers.sefaria.org/docs/the-structure-of-a-simple-text.md): Learn more about the index schema for "simple" texts in the Sefaria Library. - [The Structure of a Complex Text](https://developers.sefaria.org/docs/the-structure-of-a-complex-text.md): Learn more about the Index schema of "complex" texts and how they work in the context of the structures of texts in the Sefaria Library. - [Node Titles](https://developers.sefaria.org/docs/node-titles.md): Learn how node titles work at Sefaria for books and sections of books, and how they work together in building text citations. - [Alternate Structures](https://developers.sefaria.org/docs/alternate-structures.md): Learn how to work with texts that feature alternate structures. - [Commentaries](https://developers.sefaria.org/docs/commentaries.md): Learn about working with commentaries in Sefaria's database. - [Terms](https://developers.sefaria.org/docs/terms.md): Learn about these objects, used for grouping titles, alternate titles, and other bilingual terms. - [Lexicon](https://developers.sefaria.org/docs/lexicon-docs.md): Learn about the structure of dictionaries in the Sefaria Library - [Text References](https://developers.sefaria.org/docs/text-references.md): The core of Sefaria's system is the system of text references. Understanding how they work is key to using our API and our broader codebase. - [Categories](https://developers.sefaria.org/docs/categories.md): Learn about how texts are categorized in the Sefaria Library. - [Topic Ontology](https://developers.sefaria.org/docs/topic-ontology.md): Learn how Topics on Sefaria are organized, and how to access them using the Sefaria API. - [Linear Integer Programming For Topic Page Sources Selection](https://developers.sefaria.org/docs/linear-integer-programming-for-topic-pages-sources-selection.md): See the integer programming used for selecting sources featured on Topic pages - [Formatting within Sefaria Texts](https://developers.sefaria.org/docs/text-formatting-beyond-the-segment-level.md): Learn more about the HTML supported by Sefaria, used for in-line text formatting, as well as adding footnotes, commentaries, and other in-text emphasis. - [Additional API Endpoints](https://developers.sefaria.org/docs/api-wiki.md): Learn more about various API endpoints that are not yet listed in Sefaria's API playground. - [ElasticSearch Proxy API](https://developers.sefaria.org/docs/search-api.md): Understand how to use the Sefaria proxy API to query the ElasticSearch API. - [The Sefaria Linker](https://developers.sefaria.org/docs/linker.md): Learn about using Sefaria's powerful citation tool to link your website to source texts. - [Embed Linker v2 In Your Site](https://developers.sefaria.org/docs/linker-v2.md): Learn how to embed version two of Sefaria's powerful citation linking tool into your website. - [Embed Linker v3 on Your Site](https://developers.sefaria.org/docs/linker-v3.md): Learn about the Sefaria Linker: A tool that links references on external webpages and links them to corresponding texts in the Sefaria Library. - [How to Format Citations for the Linker](https://developers.sefaria.org/docs/how-to-format-citations-for-the-linker.md): Learn about formatting citations to ensure they're recognized by the Sefaria Linker. - [איך ליצור מראי מקורות להפניה - How to Format Citations (HE)](https://developers.sefaria.org/docs/איך-ליצור-מראי-מקורות-להפניה.md) - [The Sefaria Linker API](https://developers.sefaria.org/docs/linker-api.md): Learn how to use the Sefaria Linker API. - [The Sefaria Linker Async Task API](https://developers.sefaria.org/docs/async-task-api.md): Learn how to use the Sefaria Linker Async Task API - [Websites Using the Linker](https://developers.sefaria.org/docs/sites-using-the-linker.md): The Sefaria Linker is a free JavaScript plugin for websites that cite Jewish texts. With just a few lines of code, textual citations on your website automatically become clickable, allowing users to view the original source in a pop-up. On Sefaria, users can view your web content as related resources when exploring specific texts. Over 150 websites currently use the Linker to connect their content with the Sefaria library: - [The Sefaria MCPs](https://developers.sefaria.org/docs/the-sefaria-mcp.md): Use our MCPs to integrate your LLM of choice with the texts in the Sefaria Library and with our open-source data. - [Getting Started](https://developers.sefaria.org/docs/getting-started-with-local-installation.md) - [Local Installation Instructions](https://developers.sefaria.org/docs/local-installation-instructions.md): Learn about how set up a local Sefaria environment in order to run a local copy of the application and web server. - [Run Sefaria with Docker-Compose](https://developers.sefaria.org/docs/docker-compose-sefaria.md) - [Workflowy](https://developers.sefaria.org/docs/workflowy.md): When working with local installation, tools like our Workflowy Parser may be helpful for creating indices and adding text on Sefaria. - [Command-Line-Interface (CLI)](https://developers.sefaria.org/docs/cli.md): Learn more about Sefaria's Command-Line-Interface tool. - [Technical Notes](https://developers.sefaria.org/docs/technical-notes.md) - [Term Creation](https://developers.sefaria.org/docs/term-creation.md): Two ways of creating a Term on a local instance of Sefaria - [Titles for Index](https://developers.sefaria.org/docs/titles-for-index.md): How to initialize a new Index on a local instance of Sefaria - [Category Creation](https://developers.sefaria.org/docs/category-creation.md): Creating categories on a local installation of the project. - [The Sefaria Developer Community Archive](https://developers.sefaria.org/docs/the-sefaria-developer-community-archive.md) - [All About Texts, Volunteering for Tests (June 2024, Issue 1)](https://developers.sefaria.org/docs/june-2024.md): How to strip nikkud from Tanakh via the Texts API, the known limitation with complex text retrieval and how to work around it, plus a developer who projected Talmud translations onto a physical page using Sefaria's data and a webcam. - [Celery Queues, Local Install and the Shape API (September 2024, Issue 2)](https://developers.sefaria.org/docs/september-2024.md): Sefaria's citation detection upgraded from regex to a CNN-based ML model (Linker v3, available on HuggingFace), plus the underrated Shape API explained and how Celery queues solved text upload timeouts. - [Linear Programming, Topic Curation, and API Tips (December 2024, Issue 3)](https://developers.sefaria.org/docs/linear-programming-topic-curation-and-api-tips.md): How Sefaria used linear programming to optimize topic page curation across the Jewish canon, plus a trick for deriving Texts API refs from the site URL and calculating verse numbers using nested arrays. - [Top Tech Tips, New Projects, and More! (March 2025, Issue 4)](https://developers.sefaria.org/docs/top-tech-tips-new-projects-and-more-march-2025-issue-4.md): How to fetch Hebrew author names via the v2/index API, a zero-ellipsis CSS trick for clamped topic grids, and an interesting community project for a clean read of the Talmud building on Sefaria's data. - [Calendar API, a User-Requested feature, and More! (June 2025, Issue 5)](https://developers.sefaria.org/docs/calendar-api-a-user-requested-feature-and-more.md): Sefaria's Calendar API quirk explained, how a state-management overhaul saved half a million user sheets from data loss, and a tool that turns Torah verses into sound waves via Gematria. - [Accessibility, Interns, and the Passages API (September 2025, Issue 6)](https://developers.sefaria.org/docs/accessibility-interns-and-the-passages-api-september-2025.md): Pass a Talmud reference, get back the full sugya — Sefaria's underrated Passages API explained, plus accessibility work making every element keyboard-navigable, and a community project that mapped 30M Hebrew words of commentary across the entire Babylonian Talmud. - [Django middleware innovation & MCPs (January 2026, Issue 7)](https://developers.sefaria.org/docs/django-middleware-innovation-mcps-january-2026-issue-7.md): How do you split one monolith into three products without touching the codebase? Sefaria's engineering team did it with subdomain-aware Django middleware — read how a single dictionary lookup powers module-aware routing across 100+ views. - [Sefaria-Export, A Data Puzzle and Deep Wiki (April 2026, Issue 8)](https://developers.sefaria.org/docs/sefaria-export-a-data-puzzle-and-deep-wiki.md) - [The Disambiguator](https://developers.sefaria.org/docs/the-disambiguator.md): Precise linking improvements through citation disambiguation - [Patot](https://developers.sefaria.org/docs/patot.md): A Python toolkit for Hebrew/English-aware semantic chunking for model-ready units for downstream AI workflows - [Beyond KMeans - PyCon 2024](https://developers.sefaria.org/docs/sefaria-research-at-pyconn-2024.md): Using LLMs to improve text clustering - [General FAQ](https://developers.sefaria.org/docs/general-faq.md) - [Guide to Contributing](https://developers.sefaria.org/docs/guide-to-contributing.md) - [How to Report a Mistake](https://developers.sefaria.org/docs/how-to-report-a-mistake.md) ## API Reference - [Getting Started With the Sefaria API](https://developers.sefaria.org/reference/getting-started.md): Learn how to use the Sefaria API to access Jewish texts and their interconnections. Get started without needing API keys or authorization. - [Tutorials](https://developers.sefaria.org/reference/tutorials.md) - [Tutorial: The Dvar Torah Outliner](https://developers.sefaria.org/reference/tutorial-dvar-torah-outliner.md): This beginner tutorial is great for beginners looking to get started working with the Sefaria API Reference. - [Tutorial: Tanakh Trivia Game](https://developers.sefaria.org/reference/tutorial-tanakh-trivia-game.md): This tutorial demonstrates a proof-of-concept for a Tanakh trivia game powered by the Sefaria API, in approximately 100 lines of code. - [Tutorial: Data Visualization](https://developers.sefaria.org/reference/data-visualization.md): This basic tutorials explain how to use the Sefaria API to create a few possible data visualizations. - [Writing Playwright Tests for Sefaria](https://developers.sefaria.org/reference/playwright-tests-for-sefaria.md): Learn how to contribute to Sefaria's test coverage with this comprehensive guide. - [Frequently Asked Questions](https://developers.sefaria.org/reference/others-have-asked.md): Looking to get started, but want a rundown of the basics? Here are some common questions we get in our inbox — along with some quick answers to help you get started. - [Texts (v3)](https://developers.sefaria.org/reference/get-v3-texts.md): The most up-to-date way to retrieve texts from Sefaria via the API, with enhanced control over language, language direction, and other parameters. - [Texts (v1)](https://developers.sefaria.org/reference/get-v1-texts.md): Retrieve the text and some additional metadata for a specific Sefaria textual `Ref` - [Versions](https://developers.sefaria.org/reference/get-versions.md): The versions API takes a title of a valid Sefaria `index` as a parameter, and will return all available versions of the text in the Sefaria database, alongside metadata for each version. A version can be a translation of the text, an alternative language, or any other text associated with that index. *Note:* In order to see the expected results, you need to make sure you are passing a recognized `index`. For example, `Rashi on Genesis` is a valid `index` but `Rashi` is not. To see the entire list of valid Sefaria indices, click [here](https://www.sefaria.org/api/index/) - [Languages](https://developers.sefaria.org/reference/get-translations.md): Returns a list of distinct languages for which translations exist in the database. - [Translations](https://developers.sefaria.org/reference/get-translations-lang.md): Returns a dictionary of texts translated into `lang`, organized by the Sefaria category & secondary category of each title. - [Manuscripts](https://developers.sefaria.org/reference/get-manuscripts.md): This call retrieves all associated manuscript data and metadata for a given Sefaria `tref`. - [Random Text](https://developers.sefaria.org/reference/get-texts-random.md): Returns a random text reference from the Sefaria library. Results can be limited to a specific category or from a selection of titles given the correct query params. - [Bulk Text](https://developers.sefaria.org/reference/get-bulktext.md): Returns the English and Hebrew text plus metadata such as the language, ref for the url, etc. for many refs at once. The path parameter is a pipe-delimited list of refs. - [Passages](https://developers.sefaria.org/reference/get-passages.md): Maps each requested ref to the canonical passage that contains it. Particularly useful for Talmud sugyot — a single amud ref is mapped to the full sugya boundary. Also works for Tanakh, where a verse maps to its parasha-style passage. Pass a pipe-delimited list of refs. - [Index (v2)](https://developers.sefaria.org/reference/get-v2-index.md): This API endpoint will retrieve the full mongo record of the given `Index` as it appears in the database. - [Table of Contents](https://developers.sefaria.org/reference/get-index.md): This API endpoint returns the titles of all the books in the Sefaria Library arranged by their category along with some additional metadata. This is a large and rarely changing request and should be cached locally if you utilize it. By default, author metadata is omitted from text entries; set `include_authors=1` to include it. - [Shape](https://developers.sefaria.org/reference/get-shape.md): Retrieve basic statistics and information about the "shape" of an `Index` on Sefaria. - [Related](https://developers.sefaria.org/reference/get-related.md): A single API endpoint to return all of the content (links, sheets, notes, media, manuscripts, and topics) related to the given `Ref` in the query. - [Links](https://developers.sefaria.org/reference/get-links.md): Returns a list of known connections for the submitted text `ref` along with some additional metadata. Category filters apply to the derived `category` value returned in the API payload, such as `Commentary`, `Midrash`, `Essay`, or `Quoting Commentary`. - [Ref-Topic-Links](https://developers.sefaria.org/reference/get-ref-topic-links.md): An API endpoint where, given a `Ref`, all of the topics linked to that `Ref` are retrieved along with the respective metadata. - [Related Web Pages](https://developers.sefaria.org/reference/get-related-websites.md): A single API endpoint to return the webpages related to a segment-level `Ref` in the query. - [Link Summary](https://developers.sefaria.org/reference/get-link-summary.md): Returns a summary of all links targeting a ref, grouped by category, with per-book breakdowns. - [Calendars](https://developers.sefaria.org/reference/get-calendars.md): Returns the daily or weekly learning schedule for a given date. - [Next Read](https://developers.sefaria.org/reference/get-next-read.md): Given a Parasha name in English, this API returns the next Hebrew and English dates that it is read, along with details about the Torah and Haftarah readings for that date. - [Aliyot for Parasha](https://developers.sefaria.org/reference/get-aliyot-by-parasha.md): Returns the seven aliyot ranges for a given parasha. Used by the source sheet builder when seeding a sheet from a weekly reading. - [Parasha Topic](https://developers.sefaria.org/reference/get-calendar-parasha-topic.md): Returns topic metadata for the current week's parasha — title, ref, category ordering, and bilingual display values. - [Holiday Topic](https://developers.sefaria.org/reference/get-calendar-holiday-topic.md): Returns topic metadata for the active holiday on the requested date. Returns 404 when no holiday is in season for the given day. Use the `year`, `month`, `day` query params (all three required together) to query a specific date; otherwise the current date is used. - [Lexicon](https://developers.sefaria.org/reference/get-words.md): Searches Sefaria lexicon entries (i.e. dictionaries) for the query string passed as `word` to the endpoint. - [Word Completion](https://developers.sefaria.org/reference/get-words-completion.md): Serves primarily as an autocompleter, returning potential lexicon entries for a given input. Returns an array of arrays, each containing two strings. The first is a completion entry in Hebrew without vowels, and the second is an entry with vowels. - [Topic (v2)](https://developers.sefaria.org/reference/get-v2-topics.md): Retrieve a specific topic from the `v2` version of the topics API. - [Topic (v1)](https://developers.sefaria.org/reference/get-topic-slug.md): When this endpoint is called with a specific `topic_slug`, it returns a JSON object containing the metadata for the topic. - [All Topics](https://developers.sefaria.org/reference/get-all-topics.md): The topics API returns a list of JSON objects, with each object containing metadata for every topic in the Sefaria database. By default, responses are minified to reduce payload size. Use `minify=0` to get the full topic data including images and all other fields. - [Topic Graph](https://developers.sefaria.org/reference/get-topics-graph.md): Endpoint to retrieve topics and their links between other topics. As opposed to topic links to refs, this endpoint retrieve connections between one topic to another topic. - [Recommended Topics](https://developers.sefaria.org/reference/get-recommend-topics.md): Given a list of `Ref`s this API returns the most used topics associated with them. This is a fast way of identifying potential shared topics amongst disparate `Ref`s. - [Random By Topic](https://developers.sefaria.org/reference/get-random-by-topic.md): Returns Texts API data for a random text taken from popular topic tags. - [Terms](https://developers.sefaria.org/reference/get-terms.md): A Term is a shared title node. It can be referenced and used by many different `Index` nodes. Terms that use the same `TermScheme` can be ordered within that scheme. So for example, _Parsha_ terms who all share the `TermScheme` of `parsha`, can be ordered within that scheme. Examples of valid terms: `Noah`, `HaChovel` - [Name](https://developers.sefaria.org/reference/get-name.md): Serves primarily as an autocompleter, returning potential keyword matches for `Ref`s, book titles, authors, topics, and collections available on Sefaria. - [Sheet](https://developers.sefaria.org/reference/get-sheet.md): Retrieves the full content and metadata of a single Sefaria source sheet. - [Trending Sheet Tags](https://developers.sefaria.org/reference/get-sheets-trending-tags.md): Returns the most-used sheet tags from recent activity. - [Sheet Modified Check](https://developers.sefaria.org/reference/get-sheet-modified.md): Returns the full sheet if it has been modified since the given timestamp; otherwise returns an empty/unchanged response. Useful for clients that cache sheets. - [User's Sheets](https://developers.sefaria.org/reference/get-user-sheets.md): Returns a user's public sheets. For anonymous callers, only public sheets are returned. An authenticated user requesting their own user_id additionally sees their private sheets. - [User's Sheets (Paginated)](https://developers.sefaria.org/reference/get-user-sheets-paginated.md): Returns a user's public sheets, paginated and sorted. Same response shape as the unparameterized variant. - [Bulk Sheets](https://developers.sefaria.org/reference/get-sheets-bulk.md): Fetches lightweight summaries for many sheets at once. The path parameter is a pipe-delimited (`|`) list of sheet IDs. Each ID is found the same way as for single-sheet endpoints (the number in the sheet's URL on `voices.sefaria.org`). - [Sheet Tag List](https://developers.sefaria.org/reference/get-sheets-tag-list.md): Returns all sheet tags with their usage counts. Sorted by count (descending) by default. - [Sheet Tag List (Sorted)](https://developers.sefaria.org/reference/get-sheets-tag-list-sorted.md): Returns all sheet tags with their usage counts, sorted by the given key. - [User's Sheet Tags](https://developers.sefaria.org/reference/get-user-sheet-tags.md): Returns the topic tags used on a specific user's public sheets. - [Sheets by Ref](https://developers.sefaria.org/reference/get-sheets-by-ref.md): Returns public sheets that cite the given Sefaria ref. - [All Public Sheets](https://developers.sefaria.org/reference/get-all-sheets.md): Returns a paginated list of all public sheets. - [Author Indexes](https://developers.sefaria.org/reference/get-author-indexes.md): Returns the list of indexes (works) attributed to a given Sefaria author. - [Index Titles](https://developers.sefaria.org/reference/get-index-titles.md): Returns the complete list of recognized title strings on Sefaria, including alternate titles and abbreviations. Useful for client-side autocomplete and ref recognition. Note: this response is multiple megabytes. - [Index Metadata](https://developers.sefaria.org/reference/get-index-by-title.md): Returns metadata for a single index (work) by title — categories, schema (text structure), authors, descriptive copy, and ordering hints. - [Index Metadata (v2)](https://developers.sefaria.org/reference/get-index-v2.md): Same as `GET /api/index/{title}`. Returns metadata for a single index (work) by title. - [Counts](https://developers.sefaria.org/reference/get-counts.md): Returns word and segment counts for a text, broken down by language. - [Link Counts Between Categories](https://developers.sefaria.org/reference/get-counts-links.md): Returns the number of links between every book in `cat1` and every book in `cat2`. Returns an error response if no links exist between the requested category pair. - [Word Count for Version](https://developers.sefaria.org/reference/get-counts-words.md): Returns the word count for a specific text version. Example: title=`Genesis`, version=`Miqra according to the Masorah`, language=`he`. - [Collections](https://developers.sefaria.org/reference/get-collections.md): Returns the list of Sefaria collections. Unauthenticated callers see only publicly-listed collections in `public`; the `private` array is empty. Authenticated users additionally see private collections they belong to. - [Collection](https://developers.sefaria.org/reference/get-collection.md): Returns the full content of a single collection, including its member sheets. For unauthenticated callers, only publicly-listed collections are accessible. - [User's Collections](https://developers.sefaria.org/reference/get-user-collections.md): Returns the collections that a specific user owns or belongs to. - [Ref](https://developers.sefaria.org/reference/get-ref.md): Validates a text reference (`tref`) and returns structured metadata about it. The response varies based on the `node_type` of the referenced text: - **JaggedArrayNode**: Standard text nodes (e.g. biblical chapters/verses, Talmud pages). Returns `depth`, `address_types`, `section_names`, and positional indexes/labels. - **SchemaNode**: Nodes with named children (e.g. a commentary with an introduction and main text). Returns `children` list. - **DictionaryEntryNode**: Individual dictionary entries. Returns `lexicon_name` and `headword`, plus the JaggedArrayNode fields. - **DictionaryNode**: Dictionary root nodes. Returns `lexicon_name`. - **SheetNode**: User-created source sheets. Returns `sheet_id`. If the node has a default child (a child node that represents the primary content), the response includes a `default_child_node` object with the child's `node_type`, `node_index`, and optionally `depth`, `address_types` and `sectionNames` (for JaggedArrayNode children) or `lexicon_name` (for DictionaryNode parents). All types include `navigation_refs` with `shortest_path_to_root` (array of ancestor refs from immediate parent to book level) and `first_available_section_ref`. Segment-level refs also get `prev_segment_ref`/`next_segment_ref`, and section-level refs get `prev_section_ref`/`next_section_ref`. - [Find Refs](https://developers.sefaria.org/reference/post-find-refs.md): Initially designed to find links on websites using [Sefaria's Linker](https://www.sefaria.org/linker), the Find Refs API can identify textual references in any arbitrary text that gets sent to it via a structured POST request. **This is an asynchronous API.** The endpoint immediately returns a `task_id` with HTTP 202. You must poll `GET /api/async/{task_id}` to retrieve the task status. When the task completes successfully, the `/api/async/{task_id}` response will include a `result` field containing the same `FindRefsAPIResponse` object described in the 200 response schema below. - [Search](https://developers.sefaria.org/reference/post-search-wrapper.md): An [elastic search](https://www.elastic.co/guide/en/elasticsearch/reference/current/) endpoint for Sefaria's data. Given a properly formated POST request this endpoint will return search results for appropriate Sefaria records. - [Social Media Image](https://developers.sefaria.org/reference/get-img-gen.md): Given a Sefaria text `Ref` or page path and some other optional parameters, this endpoint returns a .png image ready to share on social media. At Sefaria.org we use it primarily to auto-generate social media images for any page. If no path is provided, the endpoint returns a fallback image for the request host. - [Category](https://developers.sefaria.org/reference/get-category.md): GET requests take a full category path in the request, e.g. `/api/category/Tanakh/Torah/Genesis`, and return the full category object found. If the category is not found, the returned object will have an error attribute. If any element of the path is found, the API will return the closest parent in an attribute called `closest_parent`. This is useful for proactively looking up a category before posting an `Index` to it. - [Public Profile](https://developers.sefaria.org/reference/get-profile.md): Returns the public profile for a Sefaria user. - [Get Async Task Status](https://developers.sefaria.org/reference/get-async-task-status.md): Poll the status of an asynchronous task. Returns the current state of the task and, when complete, the result or error. This endpoint is generic — it works for any task enqueued by an asynchronous Sefaria API (e.g. `POST /api/find-refs`). **States:** - `PENDING` — The task has not yet started (or the task ID is unknown). - `STARTED` — The task is currently being executed. - `RETRY` — The task failed and is being retried. - `SUCCESS` — The task completed successfully. The `result` field contains the task output; its shape depends on which API enqueued the task. - `FAILURE` — The task failed permanently. The `error` field contains the error message. **HTTP status codes:** - `202` — Task is still running (state is `PENDING`, `STARTED`, or `RETRY`). - `200` — Task completed successfully. - `500` — Task failed permanently. ## Pages - [Contact Us](https://developers.sefaria.org/page/contact-us.md)