azure-search-documents
Microsoft Corporation Azure Search Documents Client Library for Python
Decision gist · record as of 2026-08-14
Yes. The package is production-stable, actively maintained, has low install friction, and is the official client for a major Azure service. Install it if you need to integrate Azure AI Search into a Python application. The only caveat is that it requires an Azure subscription and a configured search service instance—it is not useful without external Azure infrastructure.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires an active Azure AI Search service instance and valid API key or Azure credentials; Python 3.9 or later.
- Low install friction with three lightweight runtime dependencies (isodate, azure-core, typing-extensions).
- Active maintenance with a recent release on 2026-05-01 and continued repository activity.
License · maintenance · safety
(unclear)
last release 2026-05-01 (105 days) · last repo commit 2026-08-14 · 5,588 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 6,675,459 downloads/mo, #1,873 on PyPI
Alternatives
Verify before relying
from azure.core.credentials import AzureKeyCredential
from azure.search.documents import SearchClient
search_client = SearchClient(
service_endpoint="https://<service>.search.windows.net",
index_name="my-index",
credential=AzureKeyCredential("<api-key>")
)- Whether the package supports all query types (vector, keyword, hybrid) equally or with different maturity levels.
- Performance characteristics for large-scale indexing or high-volume query workloads.
- Specific AI enrichment capabilities and whether they require additional Azure AI Services configuration.
What it is and what it does
Azure Search Documents is the official Python client for Azure AI Search, an enterprise information retrieval platform. It provides three main client types: SearchClient for querying indexed documents, SearchIndexClient for managing indexes, and SearchIndexerClient for setting up data ingestion pipelines. The library supports vector, keyword, and hybrid search queries, filtered queries with metadata and geospatial constraints, faceted navigation, and semantic ranking.
The package integrates with Azure's AI enrichment pipeline, allowing you to attach skillsets for OCR, entity recognition, key phrase extraction, language detection, and sentiment analysis during data ingestion. It handles authentication via API keys or Azure role-based access control (RBAC), and depends on azure-core for common Azure SDK patterns. It is actively maintained and production-ready, supporting Python 3.9 and later.
Use it for
- Build a search interface over consolidated enterprise documents (PDFs, images, web content) indexed in Azure AI Search.
- Implement vector similarity search for semantic document retrieval using embeddings alongside traditional keyword queries.
- Set up an automated data ingestion pipeline that pulls data from Azure sources and enriches it with OCR and NLP during indexing.
- Create a faceted search experience with filtered navigation and geospatial queries over large document collections.
- Develop a chat-style application that combines large language models with enterprise data via hybrid search queries.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is production-stable, actively maintained, has low install friction, and is the official client for a major Azure service. Install it if you need to integrate Azure AI Search into a Python application. The only caveat is that it requires an Azure subscription and a configured search service instance—it is not useful without external Azure infrastructure.
Install
azure-search-documents on PyPI
Before you install
Low install friction with three lightweight runtime dependencies (isodate, azure-core, typing-extensions). Active maintenance with a recent release on 2026-05-01 and continued repository activity.
Requires an active Azure AI Search service instance and valid API key or Azure credentials; Python 3.9 or later.
Quickstart
from azure.core.credentials import AzureKeyCredential
from azure.search.documents import SearchClient
search_client = SearchClient(
service_endpoint="https://<service>.search.windows.net",
index_name="my-index",
credential=AzureKeyCredential("<api-key>")
)
Verify before relying
- Whether the package supports all query types (vector, keyword, hybrid) equally or with different maturity levels.
- Performance characteristics for large-scale indexing or high-volume query workloads.
- Specific AI enrichment capabilities and whether they require additional Azure AI Services configuration.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesisodateazure-coretyping-extensions |
| Maintenance | Actively maintained 105 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,675,459 / month, #1,873 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9 |
Evidence: azure_search_documents-12.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “vector and keyword search”
- azure-search-documentsClient library for querying, indexing, and managing documents in…
- databricks-ai-searchPython client for Databricks AI Search, a managed vector and keyword…
- agent-framework-azure-ai-searchProvides RAG (Retrieval Augmented Generation) context providers for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Dynamic Content packages
MarkupSafe provides a text object that escapes special characters so untrusted strings can be safely embedded in HTML and XML without injection attacks.
Jinja2 is a templating engine that renders dynamic content by combining templates with Python-like syntax and data, supporting template inheritance, macros, autoescaping, and sandboxed execution.
Soupsieve is a CSS selector library designed to work with Beautiful Soup 4 to select, match, and filter HTML and XML elements using modern CSS selectors from CSS level 1 through CSS level 4 specifications.
Install it if you use Beautiful Soup for HTML or XML parsing and want modern CSS selector support.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
Flask is a lightweight WSGI web application framework for building web applications in Python, from simple single-page sites to complex multi-route applications.
Mako compiles Python-embedded templates into Python modules for fast rendering, supporting layout inheritance, custom functions, and direct Python expressions within template syntax.
See also agent-framework-azure-ai-search · azure-ai-documentintelligence · azure-mgmt-search · azure-ai-translation-document · azure-ai-agents · azure-ai-formrecognizer · algoliasearch · azure-ai-language-questionanswering · brave-search · azure-search