Track public Hugging Face model metadata, popularity, tags, licenses, and update signals from one clean Apify Actor.
What does Hugging Face Models Scraper do?
Hugging Face Models Scraper collects public model catalog records from Hugging Face and saves normalized rows to an Apify dataset. It is built for users who need repeatable model monitoring without manually browsing model pages. You can search by keyword, filter by author, filter by task pipeline, filter by library, and sort by popularity or recency.
Who is it for?
- ๐ค AI teams tracking model ecosystems and popular checkpoints.
- ๐ Market researchers measuring adoption of open-source models.
- ๐งช MLOps teams monitoring competitor model updates.
- ๐ง OSS intelligence teams watching licenses, tags, and download movement.
- ๐ฐ Analysts building reports about AI model trends.
Why use this actor?
The Hugging Face catalog changes constantly. A scheduled scraper gives you repeatable snapshots, structured exports, and automation-ready data. Instead of copying model names, likes, downloads, tags, and licenses by hand, run this actor and export JSON, CSV, Excel, or connect it to your workflow.
Key features
- ๐ Search public models by keyword.
- ๐ค Limit results to an author or organization.
- ๐งฉ Filter by pipeline tag such as
text-generation. - ๐ ๏ธ Filter by library such as
transformersordiffusers. - ๐ Sort by downloads, likes, trending score, or last modified date.
- ๐งพ Optional model-card metadata enrichment.
- ๐ Pagination support for larger model lists.
- ๐ฆ Clean one-row-per-model dataset output.
What data can you extract?
| Field | Description |
|---|---|
modelId |
Full Hugging Face model ID. |
author |
Owner namespace or organization. |
name |
Model name without namespace. |
url |
Public model URL. |
likes |
Like count. |
downloads |
Download count reported by Hugging Face. |
trendingScore |
Trending score when available. |
tags |
Public tags for the model. |
pipelineTag |
Primary task / pipeline. |
libraryName |
Main library or framework. |
license |
License parsed from tags or card metadata. |
createdAt |
Creation timestamp. |
lastModified |
Last modification timestamp. |
private |
Private flag when reported. |
gated |
Gated-access flag when reported. |
sha |
Latest repository commit SHA. |
siblingsCount |
Number of repository files when available. |
cardData |
Optional model-card metadata. |
How to use Hugging Face Models Scraper
- Open the actor on Apify.
- Enter a search keyword such as
llama,bert, orstable diffusion. - Optionally set an author such as
google,microsoft, ormeta-llama. - Optionally set a pipeline tag such as
text-generation. - Choose a sort order.
- Set a maximum number of models.
- Run the actor.
- Export the dataset or connect it to another system.
Input options
Search query
Use search to find models by names and tags.
Examples:
llamabertspeech recognitionstable diffusionembedding
Author / organization
Use author to focus on one Hugging Face namespace.
Examples:
googlemicrosoftmeta-llamastabilityaisentence-transformers
Pipeline tag
Use pipelineTag to filter by task.
Examples:
text-generationimage-classificationtext-to-imageautomatic-speech-recognitionsentence-similarity
Library / framework
Use library to filter by framework.
Examples:
transformersdiffuserssentence-transformerstimmpytorch
Sort order
Choose one of:
downloadslikestrendinglastModified
Maximum models
Set limit to control output size.
Start with 25 for a quick test.
Use larger values for monitoring or market research exports.
Include detail data
Enable includeDetails when you need richer model-card metadata.
This can add cardData and more complete file-count information.
It may take longer because the actor checks individual model records.
Example input
{
"search": "llama",
"pipelineTag": "text-generation",
"sort": "downloads",
"limit": 25,
"includeDetails": false
}
Example output
{
"modelId": "meta-llama/Llama-3.1-8B-Instruct",
"author": "meta-llama",
"name": "Llama-3.1-8B-Instruct",
"url": "https://huggingface.co/meta-llama/Llama-3.1-8B-Instruct",
"likes": 6214,
"downloads": 9489535,
"trendingScore": 24,
"tags": ["transformers", "text-generation"],
"pipelineTag": "text-generation",
"libraryName": "transformers",
"license": "llama3.1",
"createdAt": "2024-07-18T08:56:00.000Z",
"lastModified": null,
"private": false,
"gated": false,
"sha": "...",
"siblingsCount": 12
}
Tips for better results
- โ Use a specific keyword when you want focused results.
- โ
Combine
authorandpipelineTagfor organization-level monitoring. - โ
Sort by
lastModifiedfor update-monitoring workflows. - โ
Sort by
downloadsfor popularity research. - โ Turn on detail data only when you need richer metadata.
Common use cases
Model popularity tracking
Run the actor daily or weekly with the same query and compare downloads, likes, and trendingScore over time.
Competitive intelligence
Track models from specific organizations and monitor releases, tags, and licenses.
License monitoring
Export license and tags fields to find models that match or conflict with your internal compliance policies.
AI catalog enrichment
Use modelId, url, pipelineTag, and libraryName to enrich internal model catalogs or discovery products.
Integrations
Send results to Google Sheets, Slack, Make, Zapier, Airtable, BigQuery, Snowflake, or any system that accepts Apify dataset exports. Use scheduled runs for recurring snapshots. Use webhooks to trigger downstream processing when a scrape completes.
API usage with Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/hugging-face-models-scraper').call({
search: 'llama',
pipelineTag: 'text-generation',
limit: 25
});
console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/hugging-face-models-scraper').call(run_input={
'search': 'llama',
'pipelineTag': 'text-generation',
'limit': 25,
})
print(run['defaultDatasetId'])
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~hugging-face-models-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"search":"llama","pipelineTag":"text-generation","limit":25}'
MCP usage
Connect Apify MCP to Claude Desktop or Claude Code and enable this actor as a tool. Use this MCP URL pattern:
https://mcp.apify.com/?tools=fetch_cat/hugging-face-models-scraper
Claude Code setup example:
claude mcp add apify-hugging-face-models "https://mcp.apify.com/?tools=fetch_cat/hugging-face-models-scraper"
Claude Desktop JSON configuration example:
{
"mcpServers": {
"apify-hugging-face-models": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.apify.com/?tools=fetch_cat/hugging-face-models-scraper"
]
}
}
}
Example prompts:
- "Find the top downloaded Hugging Face text-generation models for llama."
- "Track the latest models from google on Hugging Face."
- "Create a CSV of popular sentence-transformers models with licenses."
Scheduling
Create an Apify schedule to run the same input daily, weekly, or monthly. Scheduled snapshots are useful for trend dashboards and model-change monitoring.
Data quality notes
The actor returns public metadata as reported by Hugging Face. Some fields may be missing for certain models. Gated models can still appear in public catalog data, but inaccessible private details are skipped.
Limits
The input limit is capped to keep runs predictable.
Very broad searches can return many models, so choose a reasonable limit for your workflow.
If you need very large recurring exports, start with a small test run and then increase gradually.
Troubleshooting
Why did I get fewer models than requested?
The selected filters may have fewer public results than your limit, or duplicate records may have been skipped. Try a broader query or remove one filter.
Why is cardData missing?
cardData is included only when Hugging Face returns it.
Enable includeDetails for richer metadata, but remember detail runs take longer.
What if I see a rate-limit error?
Retry later or lower the limit. For frequent monitoring, schedule smaller runs rather than one very large run.
Legality
This actor collects publicly available metadata from Hugging Face. Make sure your usage complies with Hugging Face terms, Apify terms, and applicable laws. Do not use scraped data to violate model licenses or access restrictions.
Support
If a run fails or output looks wrong, open an issue with the run ID and the input you used. Include the expected result and a sample model URL if possible.