# List Lead Tags

> Retrieve all lead tags in the workspace, sorted by name, with lead counts.

Returns every tag that has been applied to at least one lead in the workspace, plus tags that exist but have no leads yet. Tags are sorted alphabetically.

## Response

<ResponseField name="data" type="array">
  Array of tag objects.

  <Expandable title="Tag object">
    <ResponseField name="name" type="string">Tag name.</ResponseField>
    <ResponseField name="leadCount" type="integer">Number of leads in this workspace that carry this tag.</ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
```bash cURL
curl -X GET "https://api.foxreach.io/api/v1/leads/tags" \
  -H "X-API-Key: otr_your_key"
```

```python Python SDK (beta)
from foxreach import FoxReach

client = FoxReach(api_key="otr_your_key")
tags = client.leads.list_tags()
```

```typescript TypeScript SDK (beta)
import { FoxReach } from "foxreach";

const client = new FoxReach({ apiKey: "otr_your_key" });
const tags = await client.leads.listTags();
```
</RequestExample>

<ResponseExample>
```json
{
  "data": [
    { "name": "hot-lead", "leadCount": 42 },
    { "name": "q4-prospect", "leadCount": 17 },
    { "name": "unresponsive", "leadCount": 5 }
  ]
}
```
</ResponseExample>

## Rate Limit

- **100 requests per minute, per API key.** Fixed 60-second window.
- Every response includes `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset` (unix epoch seconds).
- A `429` response includes a `Retry-After` header (seconds until the bucket resets).

For client-side patterns, see [Rate Limiting](/rate-limiting).
