# Weekly Hugging Face adoption tracker in Google Sheets

> Every Monday, log downloads and likes for every model and dataset your organization publishes into a spreadsheet, so you can chart growth over time.

- Workflow type: code
- Services: Hugging Face, Google Sheets
- Categories: Operations, Product
- Published: 2026-08-04

## What it does

- Runs every Monday morning and collects every model and dataset published under your organization's Hugging Face name.
- Records each one's download count, like count, and last updated date for that week.
- Adds one row per repository per run to a Google Sheets tab, so the tab grows into a week by week history.
- Writes a zero rather than skipping anything that reported no downloads, so your charts never end up with gaps.

## What you'll need

- A Hugging Face account with an access token, plus the organization name your models and datasets are published under.
- A Google account that can edit the spreadsheet you want to write into.
- A spreadsheet with a tab set aside for the tracker, ideally with a header row already in place.

## Prompt

Every Monday at 6am, snapshot the adoption numbers for every model and dataset my organization publishes on Hugging Face into a Google Sheets tracker, so we can watch growth over time. Run this on a weekly cron trigger. It is fully deterministic: two list calls, a fixed field mapping, and one append, with no judgement needed at any step.

Start with the Hugging Face List Models operation, setting the author filter to our organization namespace and requesting full metadata, so that download counts, like counts, and last modified dates come back on every record. Then run List Datasets with the same author filter and the same full metadata request. Together those two calls give me every repo we own.

Both list endpoints are cursor paginated. Pass a limit and then follow the Link response header's rel=next URL until it is absent, so an organization with more repos than fit on a single page is still captured in full. Do not assume one page is enough.

For every repo returned across both calls, build one row containing the run date, the repo id, the repo type (model or dataset), the download count, the like count, and the last modified date. Write those rows into the tracker tab using the Google Sheets Append Values operation, appending beneath whatever is already there so each week's snapshot stacks under the previous one and the tab becomes a time series.

Two rules keep the tab usable. First, keep the column order identical on every single run, because the charts and pivot tables built on this tab depend on that order staying stable. Second, when a repo reports no downloads for the week, write a zero rather than skipping the repo or leaving the cell blank, so every repo has an unbroken weekly series.

A weekly sweep like this sits comfortably inside Hugging Face rate limits, which are counted in five minute windows. If we later publish Spaces, the same list call shape exists for them, and they can be added as a third repo type using the identical row format.

## How to customize

- Change the schedule. The same setup works just as well for a daily or monthly snapshot.
- Track a personal Hugging Face account instead of an organization, or point it at a different namespace entirely.
- Add extra columns such as license or tags, or include Spaces alongside models and datasets as a third row type.

## FAQ

### Does this work for a personal Hugging Face account, or only an organization?

Both. Point it at your own username instead of an organization name and it will track everything you publish personally.

### Will new models and datasets get picked up automatically?

Yes. Every run reads your full list of published work from scratch, so anything you released since the last run appears without you changing anything.

### What happens to a repository that got no downloads that week?

It still gets a row, with a zero in the downloads column. Nothing is skipped, so every item keeps an unbroken weekly history and your charts stay complete.

### Does each run overwrite last week's numbers?

No. Each run adds new rows underneath what is already there, so the tab builds up into a time series you can chart or pivot.

### What if we publish hundreds of models and datasets?

That is fine. The workflow reads through your full catalog rather than stopping at the first page of results, so large portfolios are captured completely.

### Why not just use the download chart on Hugging Face?

Hugging Face shows a rolling chart for one repository at a time and gives you no export. Keeping your own log is the only way to get a portfolio wide history you can report on.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-hugging-face-adoption-tracker-in-google-sheets