# Microsoft SharePoint Reader
```bash
pip install llama-index-readers-microsoft-sharepoint
```
The loader loads the files from a folder in sharepoint site.
It also supports traversing recursively through the sub-folders.
## Prequsites
### App Authentication using Microsoft Entra ID(formerly Azure AD)
1. You need to create an App Registration in Microsoft Entra ID. Refer [here](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application)
2. API Permissions for the created app.
1. Microsoft Graph --> Application Permissions --> Sites.ReadAll (**Grant Admin Consent**)
2. Microsoft Graph --> Application Permissions --> Files.ReadAll (**Grant Admin Consent**)
3. Microsoft Graph --> Application Permissions --> BrowserSiteLists.Read.All (**Grant Admin Consent**)
More info on Microsoft Graph APIs - [Refer here](https://learn.microsoft.com/en-us/graph/permissions-reference)
## Usage
To use this loader `client_id`, `client_secret` and `tenant_id` of the registered app in Microsoft Azure Portal is required.
This loader loads the files present in a specific folder in sharepoint.
If the files are present in the `Test` folder in SharePoint Site under `root` directory, then the input for the loader for `file_path` is `Test`

```python
from llama_index.readers.microsoft_sharepoint import SharePointReader
loader = SharePointReader(
client_id="<Client ID of the app>",
client_secret="<Client Secret of the app>",
tenant_id="<Tenant ID of the Microsoft Azure Directory>",
)
documents = loader.load_data(
sharepoint_site_name="<Sharepoint Site Name>",
sharepoint_folder_path="<Folder Path>",
recursive=True,
)
```
The loader doesn't access other components of the `SharePoint Site`.
Raw data
{
"_id": null,
"home_page": null,
"name": "llama-index-readers-microsoft-sharepoint",
"maintainer": "arun-soliton",
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "microsoft 365, microsoft365, sharepoint",
"author": null,
"author_email": "Your Name <you@example.com>",
"download_url": "https://files.pythonhosted.org/packages/77/e0/6653e128e4f784f347b71d6a4dc12835102904aa7ec8929b7dd8f110c59c/llama_index_readers_microsoft_sharepoint-0.6.0.tar.gz",
"platform": null,
"description": "# Microsoft SharePoint Reader\n\n```bash\npip install llama-index-readers-microsoft-sharepoint\n```\n\nThe loader loads the files from a folder in sharepoint site.\n\nIt also supports traversing recursively through the sub-folders.\n\n## Prequsites\n\n### App Authentication using Microsoft Entra ID(formerly Azure AD)\n\n1. You need to create an App Registration in Microsoft Entra ID. Refer [here](https://learn.microsoft.com/en-us/azure/healthcare-apis/register-application)\n2. API Permissions for the created app.\n 1. Microsoft Graph --> Application Permissions --> Sites.ReadAll (**Grant Admin Consent**)\n 2. Microsoft Graph --> Application Permissions --> Files.ReadAll (**Grant Admin Consent**)\n 3. Microsoft Graph --> Application Permissions --> BrowserSiteLists.Read.All (**Grant Admin Consent**)\n\nMore info on Microsoft Graph APIs - [Refer here](https://learn.microsoft.com/en-us/graph/permissions-reference)\n\n## Usage\n\nTo use this loader `client_id`, `client_secret` and `tenant_id` of the registered app in Microsoft Azure Portal is required.\n\nThis loader loads the files present in a specific folder in sharepoint.\n\nIf the files are present in the `Test` folder in SharePoint Site under `root` directory, then the input for the loader for `file_path` is `Test`\n\n\n\n```python\nfrom llama_index.readers.microsoft_sharepoint import SharePointReader\n\nloader = SharePointReader(\n client_id=\"<Client ID of the app>\",\n client_secret=\"<Client Secret of the app>\",\n tenant_id=\"<Tenant ID of the Microsoft Azure Directory>\",\n)\n\ndocuments = loader.load_data(\n sharepoint_site_name=\"<Sharepoint Site Name>\",\n sharepoint_folder_path=\"<Folder Path>\",\n recursive=True,\n)\n```\n\nThe loader doesn't access other components of the `SharePoint Site`.\n",
"bugtrack_url": null,
"license": null,
"summary": "llama-index readers microsoft_sharepoint integration",
"version": "0.6.0",
"project_urls": null,
"split_keywords": [
"microsoft 365",
" microsoft365",
" sharepoint"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5bdc719a1aa3dee9990845c768665ac6221742008e8853df0adf7cfc0d44f148",
"md5": "4c80b36285978a409bf3b926600268c8",
"sha256": "d9aa0ab6b7fa22592be4bbbe2f688a27ed2b38376a8716446b61ed2776998c46"
},
"downloads": -1,
"filename": "llama_index_readers_microsoft_sharepoint-0.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4c80b36285978a409bf3b926600268c8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 48897,
"upload_time": "2025-07-31T02:52:10",
"upload_time_iso_8601": "2025-07-31T02:52:10.002245Z",
"url": "https://files.pythonhosted.org/packages/5b/dc/719a1aa3dee9990845c768665ac6221742008e8853df0adf7cfc0d44f148/llama_index_readers_microsoft_sharepoint-0.6.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "77e06653e128e4f784f347b71d6a4dc12835102904aa7ec8929b7dd8f110c59c",
"md5": "4ae25499493c2413d5685b800453c762",
"sha256": "7c59946d60ec8281e09cf62f67e49ca5a46a9295c6f1b89827a5d154d008cf3a"
},
"downloads": -1,
"filename": "llama_index_readers_microsoft_sharepoint-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "4ae25499493c2413d5685b800453c762",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 50607,
"upload_time": "2025-07-31T02:52:10",
"upload_time_iso_8601": "2025-07-31T02:52:10.923029Z",
"url": "https://files.pythonhosted.org/packages/77/e0/6653e128e4f784f347b71d6a4dc12835102904aa7ec8929b7dd8f110c59c/llama_index_readers_microsoft_sharepoint-0.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-31 02:52:10",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "llama-index-readers-microsoft-sharepoint"
}