huggingface/agent-usage
Agent Usage on the Hugging Face Hub Coding agents are real users of the Hugging Face Hub. Claude Code, Codex, Cursor, and a growing list of harnesses are searching for models, building and pushing datasets, training models on Jobs, spinning up Spaces — tens of millions of requests so far (hf CLI for agents). Now there's public data on which ones. Requests made through the huggingface_hub library (including the hf CLI) carry an agent/<name> User-Agent token identifying the… See the full description on the dataset page: https://huggingface.co/datasets/huggingface/agent-usage.
Agent Usage on the Hugging Face Hub
Coding agents are real users of the Hugging Face Hub. Claude Code, Codex, Cursor, and a growing list of harnesses are searching for models, building and pushing datasets, training models on Jobs, spinning up Spaces — tens of millions of requests so far (hf CLI for agents). Now there's public data on which ones.
Requests made through the huggingface_hub library (including the hf CLI) carry an `agent/<name>` User-Agent token identifying the harness. This dataset publishes each harness's share of that agent-attributed traffic, month by month and day by day, updated by a scheduled HF Job.
Named harnesses ranked by share of requests, data through **2026-08** · updated 2026-09-07. The **Dataset Viewer** at the top of this page lets you browse, sort, and filter both tables — no code needed.
What you can see
- Who's calling the Hub — the monthly leaderboard of named harnesses, and how it shifts as new tools launch and register.
- Usage styles — compare request share with user share. An agent with 30% of requests but 8% of users is a small crowd running heavy automated pipelines; the reverse means many users, each doing a little.
- Day-by-day detail — the
dailyconfig picks up what monthly numbers smooth over: launch spikes, growth curves, weekday-vs-weekend patterns.
Get your harness on the board
If you build a harness, register it to make sure your agent isn't missed — unregistered tools are counted only as unknown.
Attribution is automatic: huggingface_hub detects registered harnesses from environment variables and reports them in the User-Agent. To register, follow Register your agent harness — a Pull Request adding your tool to `agent-harnesses.ts`. No release is needed on either side: installed clients refresh the registry within a day, and your harness appears from the next monthly snapshot.
Only traffic through the Python huggingface_hub library (including the hf CLI) is attributed; direct HTTP calls to the Hub API are not counted. To confirm detection works, run inside your harness:
python -c "from huggingface_hub.utils import build_hf_headers; print(build_hf_headers()['user-agent'])"
# should contain agent/<your-id>Columns
Loading programmatically
from datasets import load_dataset
monthly = load_dataset("huggingface/agent-usage", "monthly", split="train")-- DuckDB: full monthly history in one query
SELECT month, agent, pct_requests
FROM 'hf://datasets/huggingface/agent-usage/data/monthly/*.parquet'
WHERE agent != 'unknown'
ORDER BY month, pct_requests DESC;import polars as pl
daily = pl.scan_parquet("hf://datasets/huggingface/agent-usage/data/daily/*.parquet")New months append as new parquet files, so these queries always return the full history unchanged.
Reading the data
- This measures Hub usage, not overall agent popularity. A widely used tool that rarely touches the Hugging Face Hub will rank low here.
- Shares are zero-sum. A falling share doesn't mean falling usage — total agent traffic is growing, so a harness can double its requests while its share shrinks.
- Start month-over-month comparisons from May 2026. The
agent/token rolled out April 3 and harnesses added detection at different times, so April reflects the rollout, not relative usage. - Smooth daily shares with a 7-day rolling mean — weekends and small denominators make single days noisy.
- Attribution is self-declared (a User-Agent token set by the client library) and covers Python-library traffic only.
Built by [`buildlocal.py`](./buildlocal.py) (bundled in this repo) on a scheduled HF Job — only relative shares are published.
