> ## Documentation Index
> Fetch the complete documentation index at: https://docs.unstructured.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List source connectors

> Retrieve a list of available source connectors.

## Query parameters

<ParamField query="source_type" type="string">
  Filter by connector type. One of: `azure`, `box`, `confluence`, `couchbase`, `databricks_volumes`, `dropbox`, `elasticsearch`, `gcs`, `google_drive`, `kafka-cloud`, `mongodb`, `onedrive`, `opensearch`, `outlook`, `postgres`, `s3`, `salesforce`, `sharepoint`, `snowflake`, `teradata`, `jira`, `zendesk`.
</ParamField>

## Response

<ResponseField name="id" type="string" required>
  Unique identifier for the source connector.
</ResponseField>

<ResponseField name="name" type="string" required>
  Source connector name.
</ResponseField>

<ResponseField name="type" type="string" required>
  Connector type.
</ResponseField>

<ResponseField name="config" type="object" required>
  Connector configuration. Fields vary by connector `type`.
</ResponseField>

<ResponseField name="created_at" type="string" required>
  ISO 8601 timestamp when the connector was created.
</ResponseField>

<ResponseField name="updated_at" type="string">
  ISO 8601 timestamp when the connector was last updated.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url "${UNSTRUCTURED_API_URL}/api/v1/sources/" \
    --header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}"
  ```

  ```python Python SDK theme={null}
  import os
  from unstructured_client import UnstructuredClient
  from unstructured_client.models.operations import ListSourcesRequest

  client = UnstructuredClient(
      api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
      server_url=os.getenv("UNSTRUCTURED_API_URL"),
  )

  response = client.sources.list_sources(
      request=ListSourcesRequest()
  )
  print(response)
  ```

  ```python Python SDK (async) theme={null}
  import asyncio
  import os
  from unstructured_client import UnstructuredClient
  from unstructured_client.models.operations import ListSourcesRequest

  async def list_sources():
      client = UnstructuredClient(
          api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
          server_url=os.getenv("UNSTRUCTURED_API_URL"),
      )
      response = await client.sources.list_sources_async(
          request=ListSourcesRequest()
      )
      print(response)

  asyncio.run(list_sources())
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  [
    {
      "id": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
      "name": "My S3 Source",
      "type": "s3",
      "config": {
        "remote_url": "s3://my-bucket/input/",
        "access_key_id": "AKIAIOSFODNN7EXAMPLE",
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
        "recursive": true
      },
      "created_at": "2026-01-01T00:00:00Z",
      "updated_at": "2026-01-15T12:00:00Z"
    }
  ]
  ```
</ResponseExample>
