azure-search-documents
Microsoft Corporation Azure Search Documents Client Library for Python
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
Client library for querying, indexing, and managing documents in Azure AI Search, with support for vector, keyword, and hybrid search queries.
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
pip
pip install azure-search-documentsuv
uv add azure-search-documentspoetry
poetry add azure-search-documentsInstalling azure-search-documents
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.
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>")
)
Requires an active Azure AI Search service instance and valid API key or Azure credentials; Python 3.9 or later.
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 — isodate, azure-core, typing-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) |
Evidence: azure_search_documents-12.0.0-py3-none-any.whl
Keywords: azure, azure sdk
Tags
More Dynamic Content packages
MarkupSafe provides a text object that escapes…
permissive · top 100 on PyPI
Jinja2Jinja2 is a templating engine that renders…
permissive · top 100 on PyPI
soupsieveSoupsieve is a CSS selector library designed to…
permissive · top 100 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
FlaskFlask is a lightweight WSGI web application…
permissive · top 1,000 on PyPI
MakoMako compiles Python-embedded templates into…
permissive · top 1,000 on PyPI
agent-framework-azure-ai-searchProvides RAG (Retrieval Augmented Generation)…
permissive · top 15,000 on PyPI
azure-ai-documentintelligencePython client for Azure AI Document…
permissive · top 5,000 on PyPI
azure-mgmt-searchManages Azure Cognitive Search services through…
permissive · top 5,000 on PyPI
azure-ai-translation-documentTranslates documents stored in Azure Blob…
permissive · top 15,000 on PyPI
azure-ai-agentsBuild and deploy AI agents on Azure using…
permissive · top 5,000 on PyPI
azure-ai-formrecognizerExtracts text, structure, and key-value pairs…
permissive · top 5,000 on PyPI
algoliasearchA Python HTTP client for interacting with…
permissive · top 5,000 on PyPI
azure-ai-language-questionansweringPython client library for Azure's Question…
permissive · top 15,000 on PyPI
brave-searchWrapper for the Brave Search API that provides…
unclear · top 15,000 on PyPI
azure-searchProvides a Python client library for…
permissive · top 15,000 on PyPI