> For a complete page index of the Captain API documentation, fetch https://docs.captain.dev/llms.txt?excludeSpec=true # Guides > Captain is a fully managed API for deterministic file search over unstructured data. Connect cloud storage (S3, GCS, Azure, R2), index files, and query retrieved chunks with metadata. ## Docs - [Welcome Aboard](https://docs.captain.dev/guides/introduction.md): Captain is a fully managed, high-accuracy API for natural language search over unstructured data in cloud storage (S3, GCS, Azure, R2). Supports text, images, video, audio. - [Quickstart](https://docs.captain.dev/guides/quickstart.md): Create a collection, index files from S3/GCS/Azure, and query with natural language in 3 steps. Includes curl, Python, TypeScript, and Ruby examples. - [Cloud Storage Config](https://docs.captain.dev/guides/connect-cloud-storage.md): Step-by-step credentials setup for AWS S3 (access key + secret), Google Cloud Storage (service account JSON), Azure Blob Storage (account name + key), and Cloudflare R2 (account ID + API token). - [PII Masking](https://docs.captain.dev/guides/pii-masking.md): Mask personally identifiable information at index time. Set mask_pii on any indexing request and Captain masks PII in parsed text, document regions, and image pixels before anything is embedded or stored. - [File Size Limits](https://docs.captain.dev/guides/file-size-limits.md): Per-file and per-request size limits for indexing, broken down by how the file reaches Captain (dashboard upload, direct API upload, raw text, or a cloud storage connector) and by file type. - [Webhooks](https://docs.captain.dev/guides/webhooks.md): Receive a signed HTTPS request when an indexing job finishes, instead of polling the job status endpoint. - [AWS S3 with cross-account IAM role](https://docs.captain.dev/guides/s3-cross-account-iam.md): Set up Captain to index your S3 buckets using cross-account role assumption. Captain authenticates to your bucket via short-lived AWS session credentials it mints on demand. Recommended for production indexing. - [Google Drive Indexing API](https://docs.captain.dev/guides/google-drive-headless.md): Index a Google Workspace user's Drive (a single file, a folder recursively, or their entire Drive) with no OAuth pop-up. Captain reads Drive as the user via a service account your Workspace admin authorizes once. - [SharePoint Indexing API](https://docs.captain.dev/guides/sharepoint-indexing.md): Index a SharePoint site's documents (a single file, a folder recursively, or a whole document library) with no OAuth pop-up. Captain reads via a Microsoft Entra ID app your IT admin authorizes once. - [OneDrive Indexing API](https://docs.captain.dev/guides/onedrive-indexing.md): Index a user's OneDrive for Business (a single file, a folder recursively, or the whole drive) with no OAuth pop-up. Captain reads via a Microsoft Entra ID app your IT admin authorizes once. - [Backblaze B2 Indexing API](https://docs.captain.dev/guides/backblaze-indexing.md): Index a Backblaze B2 bucket, a directory, or a single file using a read-only application key. Captain reads B2 through its S3-compatible API. - [Supported File Types](https://docs.captain.dev/guides/supported-file-types.md): Every file type and extension Captain indexes, grouped by category. - [Documents](https://docs.captain.dev/guides/file-types/documents.md): How Captain indexes PDF and Word files. Basic, advanced or automatic processing, layout-labelled chunks with page ranges, tables and figures kept as searchable text, and block-level citations. - [Sheets](https://docs.captain.dev/guides/file-types/sheets.md): How Captain indexes Excel, CSV and TSV files. Tables detected per sheet, row bands with their header on every chunk, cell-level provenance, formulas and figures, and summaries that only state numbers computed from the table. - [Text and Code](https://docs.captain.dev/guides/file-types/text-and-code.md): How Captain indexes plain text, Markdown, JSON, YAML, logs, and source code. One lane for 156 extensions, read as text, with a parsing script for JSON that needs shaping first. - [Images](https://docs.captain.dev/guides/file-types/images.md): How Captain indexes PNG, JPEG, GIF, BMP, TIFF and WebP files. One native image embedding plus a full written description, so a query matches what the image shows and what it says. - [Video](https://docs.captain.dev/guides/file-types/video.md): How Captain indexes video files. Clips of up to 120 seconds, each with a transcript and a written description of what is on screen, so a query lands on a time offset. - [Audio](https://docs.captain.dev/guides/file-types/audio.md): How Captain indexes audio files. Clips of up to 80 seconds, each with a transcript and a short description of the sound, so podcasts, calls and recordings are searchable by what was said. - [Email](https://docs.captain.dev/guides/file-types/email.md): How Captain indexes .msg and .eml files. The message becomes a text document, each attachment becomes a document of its own, and relations and metadata keep the thread together. - [File Search API](https://docs.captain.dev/guides/file-search-api.md): Query indexed files with deterministic retrieval. Use v3 for new applications and v2 for compatibility. - [Advanced Search & Relations](https://docs.captain.dev/guides/advanced-querying.md): Use metadata filters, chunk custom metadata, layout regions, and chunk relations in v3 File Search. - [Multimodal Search](https://docs.captain.dev/guides/multimodal-search.md): Search across text, images, video, and audio in a single query. Captain uses native multimodal embeddings with cross-modal reranking for state-of-the-art retrieval quality. - [Batch Metadata & Relations](https://docs.captain.dev/guides/batch-writes.md): Update document metadata, chunk metadata, and chunk relations in batches of up to 100 items with per-item results. - [Evaluations](https://docs.captain.dev/guides/evaluations.md): Run a set of test questions against a collection under several query settings at once, and get a scorecard that shows which settings retrieve the right documents. - [Query latency](https://docs.captain.dev/guides/query-latency.md): See where query processing time goes, compare reranking and context settings, and distinguish processing from the full round trip. - [Edge Routing](https://docs.captain.dev/guides/edge-routing.md): Requests to api.captain.dev connect at an edge location near the caller and travel a private backbone to Captain, reducing median query time by 16-39% in fresh-connection tests. - [Set Up Sync](https://docs.captain.dev/guides/sync/set-up.md): Connect a cloud storage source to a Captain collection and keep its files up to date automatically. Add one source or several, and Captain keeps the collection current as files are added, changed, and removed. - [MCP Server](https://docs.captain.dev/guides/mcp.md): Connect Captain to Claude Code, Codex, Cursor, GitHub Copilot, Devin, or any MCP client. Search your indexed files and save project notes without leaving your editor. - [Compare Query Configs](https://docs.captain.dev/guides/mcp/evaluate-and-tune.md): Build a labeled test set from your own collection, score retrieval, and tune query settings from any MCP client. - [Integrations](https://docs.captain.dev/guides/integrations/overview.md): Captain connects to cloud storage and SaaS data sources via Indexed Search (S3, GCS, Azure, Google Drive, SharePoint, Notion, Dropbox, Snowflake) and Live Search (Slack, Linear, Jira, Confluence, Gmail, HubSpot, NetSuite). - [OpenClaw & Hermes](https://docs.captain.dev/guides/integrations/openclaw-hermes.md): Run Captain inside OpenClaw or Hermes. Multimodal search across text, images, video, and audio from an agent runtime. - [Product Search](https://docs.captain.dev/guides/product-search/introduction.md): Search inside applications and websites. The endpoint, keys, errors and limits for each customer's dedicated deployment. - [Quickstart](https://docs.captain.dev/guides/product-search/quickstart.md): Create an index, add records, and run your first search, in four calls. - [Search](https://docs.captain.dev/guides/product-search/search.md): Full search, typeahead, browse, similar records and several searches in one request. - [Search Widget](https://docs.captain.dev/guides/product-search/search-widget.md): Add a search box with instant results to any website with one script tag. - [Records](https://docs.captain.dev/guides/product-search/records.md): Structure records, then get, add, update and delete them. Every change reaches search on its own. - [Index settings](https://docs.captain.dev/guides/product-search/settings.md): Which fields are searched and how much each counts, facets, sort, synonyms and rules. What you set, what Captain sets, and how Algolia settings carry over. - [Analytics](https://docs.captain.dev/guides/product-search/analytics.md): Send click, conversion and view events, and read search analytics for an index. - [Algolia compatibility](https://docs.captain.dev/guides/product-search/algolia-compatibility.md): Point an existing Algolia search or indexing client at a Captain tenant. - [Connections and retries](https://docs.captain.dev/guides/product-search/connections-and-retries.md): Reuse connections, and send a read once more on a new connection when the old one closes before any answer.