# Infino > Infino is an open-source retrieval engine for full-text, vector, and SQL search, with your data stored as Apache Parquet on object storage. - [Infino: open-source retrieval engine for AI apps](https://infino.ai/docs/index.md): Infino is an open-source retrieval engine for full-text, vector, and SQL search, with your data stored as Apache Parquet on object storage. - [Quickstart: install Infino and run your first search](https://infino.ai/docs/quickstart.md): Install Infino, then index a small knowledge base and retrieve over it four ways (BM25, vector, hybrid, and SQL) in Python, Node.js, or Rust. - [Core concepts: how Infino indexes and queries Parquet](https://infino.ai/docs/core-concepts.md): How Infino works. One copy of your data as Apache Parquet with built-in search indexes, queryable four ways (full-text, vector, SQL, hybrid) in-process. - [Connect & storage: memory, disk, S3, and Azure](https://infino.ai/docs/guides/storage.md): Run Infino against in-memory, local disk, or object storage backends like S3 and Azure Blob, picked at runtime by the connect URI scheme. - [Tables: schemas, rows, updates, and compaction](https://infino.ai/docs/guides/tables.md): Manage Infino tables. Define schemas, append rows, update and delete by predicate, compact Parquet files, reclaim storage, and inspect the table catalog. - [Embeddings: bring your own vectors to Infino](https://infino.ai/docs/guides/embeddings.md): Bring your own embeddings to Infino. Supply vectors from any model, store them alongside your data, and index them for fast kNN vector search. - [Indexing: BM25 full-text and IVF vector indexes](https://infino.ai/docs/guides/indexing.md): Declare full-text BM25 and vector IVF indexes on your Infino tables, and pick the dimension and distance metric that match your embeddings. - [Search: BM25, vector, hybrid, and SQL retrieval](https://infino.ai/docs/guides/search.md): Search Infino five ways from one table, BM25 full-text, vector kNN, hybrid, exact lookups, and SQL, and pick the right mode for your retrieval workload. - [Implementing hybrid search on Apache Parquet files](https://infino.ai/docs/guides/hybrid-search-on-parquet.md): Implement hybrid search, full-text, and SQL analytics directly on Apache Parquet data, without moving it into a specialized vector database. A runnable walkthrough with a real dataset and real embeddings. - [Integrating SQL analytics with vector and full-text search](https://infino.ai/docs/guides/sql-analytics-with-search.md): Run vector, BM25, and hybrid search as SQL table functions, then join, filter, group, and window over the ranked results in one query. A runnable walkthrough on real data, over Parquet files on disk or object storage. - [Building a hybrid RAG pipeline over company documents](https://infino.ai/docs/guides/hybrid-rag-over-documents.md): Chunk a folder of Markdown and PDF documents, index them for BM25 and vector search in one table on local disk or object storage, retrieve with hybrid search and SQL filters, rerank, and build a cited prompt. A runnable walkthrough in Python. - [Parquet interop: read Infino tables with DuckDB and pandas](https://infino.ai/docs/guides/parquet-interop.md): Infino stores your data as standard Apache Parquet, so you can read tables directly from DuckDB, pandas, or pyarrow with no export step and no Infino runtime. - [Infino Cloud](https://infino.ai/docs/cloud/index.md): Infino Cloud is the Infino retrieval engine served as a fully-managed, object-storage-native hosted service. No servers to run or size, usage-based, same API as the open-source engine. - [Quickstart](https://infino.ai/docs/cloud/quickstart.md): Run the same Infino retrieval API against Infino Cloud, the hosted service. Only the connect target changes; every table and search call stays the same. - [Authentication](https://infino.ai/docs/cloud/authentication.md): How Infino Cloud authenticates requests — API keys, the INFINO_API_KEY environment variable, the Authorization Bearer header, the https requirement, and key rotation. - [Architecture](https://infino.ai/docs/cloud/architecture.md): How Infino Cloud is structured at a high level — a control plane, a serving layer, and object storage holding your data as Parquet, separating control, compute, and storage. - [Errors & retries](https://infino.ai/docs/cloud/errors.md): Infino Cloud starts databases on demand, so the first request to an idle or brand-new database can briefly return a transient 503. Learn which errors clear on a retry and how to handle them. - [Limits](https://infino.ai/docs/cloud/limits.md): Request-size limits on Infino Cloud, what happens when you exceed them, and how to size append batches. - [FAQ](https://infino.ai/docs/cloud/faq.md): Frequently asked questions about Infino Cloud — how it differs from the open-source engine, where data lives, durability, data isolation, Parquet access, and API keys. - [SQL reference for Infino queries and search functions](https://infino.ai/docs/sql-reference.md): Query Infino with SQL via query_sql, covering the supported dialect, the bm25_search, vector_search, and hybrid_search table functions, and how to compose them. - [Infino FAQ: servers, durability, search, and embeddings](https://infino.ai/docs/faq.md): Operational and usage answers for evaluating and building on Infino, covering servers, durability, concurrency, embeddings, search, languages, and more. - [Infino tradeoffs: where it fits and where it doesn't](https://infino.ai/docs/tradeoffs.md): What Infino optimizes for and what it doesn't, an honest look at where this retrieval engine fits your workload and where another tool is a better choice. - [Troubleshooting common Infino errors and fixes](https://infino.ai/docs/troubleshooting.md): Common Infino errors and their fixes, covering in-memory update limits, schema and vector dimension mismatches, SQL query syntax, and language-specific gotchas. - [Infino MCP server: retrieval for Claude, Cursor, and more](https://infino.ai/docs/integrations/mcp.md): Expose Infino retrieval (keyword, vector, hybrid, and SQL) to any Model Context Protocol client — Claude Code, Claude Desktop, Cursor, VS Code — over a local catalog, your own bucket, or Infino Cloud. - [LlamaIndex integration with Infino vector store](https://infino.ai/docs/integrations/llama-index.md): Use Infino as a LlamaIndex vector store for vector, BM25 full-text, hybrid (RRF), and SQL retrieval over one copy of your data on object storage. - [Infino tutorials: RAG, agent memory, hybrid search](https://infino.ai/docs/tutorials/index.md): Runnable, end-to-end Infino tutorials covering RAG pipelines, agent memory, hybrid search, code search, analytics over Parquet, and more examples. - [Use cases: agent memory and retrieval with Infino](https://infino.ai/docs/use-cases/index.md): What Infino is used for, starting with agent memory. Runnable RAG and hybrid-search examples live in the tutorials. - [Agent memory: long-term recall for AI agents](https://infino.ai/docs/use-cases/agent-memory.md): Give AI agents long-term memory with Infino. Hybrid BM25 and vector recall over an agent's history, with SQL over the same store, on object storage. - [Demos](https://infino.ai/docs/demos/index.md): Live demos built on Infino. Try the retrieval engine in your browser without installing anything, from Lantern, which answers questions about any public GitHub repo, to Pharos, which searches nearly 100 million scholarly papers off object storage. - [Lantern](https://infino.ai/docs/demos/lantern.md): Ask any public GitHub repo questions in plain English. Answers come from Infino search, with sources you can click. - [Pharos](https://infino.ai/docs/demos/pharos.md): Search nearly 100 million scholarly papers stored as plain Parquet on a bucket. Keyword, semantic, and hybrid retrieval, then analytics over the results in one SQL pass. - [Overview](https://infino.ai/docs/api-reference/index.md): API reference for the Infino SDKs — Rust, Python, and Node.js. The same client connects to a local store or to Infino Cloud; only the connect target changes. For the HTTP API, see the REST API section (Infino Cloud). - [Local vs Infino Cloud](https://infino.ai/docs/api-reference/parity.md): Which operations are available on a local Infino connection versus Infino Cloud, and where behavior differs. - [Infino CLI: create tables, ingest, and search](https://infino.ai/docs/cli.md): The infino command-line interface — create tables, ingest data, and run BM25, vector, and SQL search from your terminal or a coding agent. - [Append rows](https://infino.ai/docs/api-reference/rows/append-rows.md): Append rows to a table. The body is an Arrow IPC stream, or a JSON `{"data": [...]}` envelope. A column the table does not have is added, typed from the rows; a value that disagrees with a column it does have is rejected. - [Delete rows](https://infino.ai/docs/api-reference/rows/delete-rows.md): Delete rows matching a predicate. `table` and `predicate` are query parameters; no body. - [Update rows](https://infino.ai/docs/api-reference/rows/update-rows.md): Replace rows matching a predicate. `table` and `predicate` are query parameters; the body carries the replacement rows (Arrow IPC or JSON), which add and are checked against the table's columns exactly as an append's are. - [BM25 full-text search](https://infino.ai/docs/api-reference/search/bm25-full-text-search.md): Ranked BM25 full-text search over a full-text-indexed column. - [Count matches](https://infino.ai/docs/api-reference/search/count-matches.md): Count the rows matching a full-text query. - [Exact match](https://infino.ai/docs/api-reference/search/exact-match.md): Exact-value match over a column. - [Hybrid search](https://infino.ai/docs/api-reference/search/hybrid-search.md): Hybrid BM25 and vector search, fused with reciprocal-rank fusion. - [Run a SQL query](https://infino.ai/docs/api-reference/search/run-a-sql-query.md): Run a read-only SQL query across the database's tables. - [Token match](https://infino.ai/docs/api-reference/search/token-match.md): Unranked token match over a full-text-indexed column. - [Vector search](https://infino.ai/docs/api-reference/search/vector-search.md): Vector (kNN) search over a vector column, with an optional full-text pre-filter. - [Create a table](https://infino.ai/docs/api-reference/tables/create-a-table.md): Create a table with an Arrow schema and optional full-text and vector indexes. - [Drop a table](https://infino.ai/docs/api-reference/tables/drop-a-table.md): Drop a table from the database. - [List tables](https://infino.ai/docs/api-reference/tables/list-tables.md): List the tables in the database. - [Describe or change a table's schema](https://infino.ai/docs/api-reference/tables/describe-or-change-a-tables-schema.md): With `table_name` alone, return the table's columns. With `patch`, change the schema — adding, retyping, renaming, indexing or retiring a column, or creating the table when there is none — and return the schema document that results. A patch needs the `manage` capability. - [List databases](https://infino.ai/docs/api-reference/databases/list-databases.md): List your account's databases and their state. - [Create a database](https://infino.ai/docs/api-reference/databases/create-a-database.md): Register a new database for your account. - [Delete a database](https://infino.ai/docs/api-reference/databases/delete-a-database.md): Begin deleting a database. Idempotent. - [Verify a storage binding](https://infino.ai/docs/api-reference/databases/verify-a-storage-binding.md): Prove the database's bring-your-own-bucket grant end to end; workers start only after this passes. ## OpenAPI Specs - [openapi](/docs/api-reference/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.