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

# Tags

> List and retrieve compliance tags with the Rust SDK.

## Methods

```rust theme={null}
client.tags.list(page: Option<u32>, per_page: Option<u32>)
    -> Result<Page<Tag>, Law4DevsError>

client.tags.get(slug: &str)
    -> Result<Tag, Law4DevsError>

client.tags.iter(per_page: u32)
    -> impl Stream<Item = Result<Tag, Law4DevsError>>
```

***

## List Tags

```rust theme={null}
let page = client.tags.list(None, None).await?;
for tag in &page.data {
    println!("{} — {} articles", tag.name, tag.article_count);
}
```

***

## Get a Tag

```rust theme={null}
let tag = client.tags.get("data-protection").await?;
println!("{}: {} frameworks", tag.name, tag.framework_count);
```

***

## Auto-Paginate

```rust theme={null}
use futures::StreamExt;

let mut stream = Box::pin(client.tags.iter(50));
while let Some(result) = stream.next().await {
    let t = result?;
    println!("{}", t.slug);
}
```

***

## `Tag` Fields

| Field             | Type             | Description               |
| ----------------- | ---------------- | ------------------------- |
| `id`              | `u32`            | Internal ID               |
| `slug`            | `String`         | URL-safe identifier       |
| `name`            | `String`         | Display name              |
| `description`     | `Option<String>` | Tag description           |
| `framework_count` | `u32`            | Frameworks using this tag |
| `article_count`   | `u32`            | Articles with this tag    |
