Hugging Face Hub Scraper
Pricing
from $2.99 / 1,000 results
Hugging Face Hub Scraper
Hugging Face Hub Scraper is a Python tool designed to extract metadata on AI models, datasets, and Spaces from the Hugging Face Hub. Easily gather download counts, task tags, architectures, and author details into structured formats for machine learning research.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
real-estate-api
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Hugging Face Scraper: Export Models, Datasets, Spaces and Trending AI Repositories (Free)
Collect structured information about public Hugging Face Hub models, datasets, Spaces, trending repositories, and user or organization profiles. Export repository metadata, download counts, likes, tags, licenses, pipeline tasks, libraries, and author statistics into a dataset.
No token is required for anonymous access. You can schedule runs and export the results as CSV or JSON.
Use Cases
- AI market research: Discover models and compare their recent download counts and popularity.
- Analytics dashboards: Track downloads, likes, and trending scores for topics such as Llama.
- Developer ecosystem research: Explore public author and organization profiles, follower counts, plans, and biographies.
- Dataset discovery: Find datasets by search term, license, or language.
- Competitive monitoring: Track an organization's repositories and compare engagement over time.
- AI newsletters: Collect trending models, datasets, and Spaces for regular research updates.
What Data Does This Actor Extract?
The actor supports repository lists and details for models, datasets, and Spaces, as well as trending repositories and author profiles.
Example model record:
{"repoType": "model","id": "meta-llama/Llama-3.2-1B-Instruct","url": "SOURCE_URL","author": "meta-llama","downloads": 6882090,"likes": 1812,"pipelineTag": "text-generation","libraryName": "transformers","license": "llama3.2","languages": ["en"],"arxivIds": ["2204.05149", "2405.16406"],"createdAt": "2024-09-18T15:12:47.000Z","rank": 1}
Dataset descriptions are available as repoDescription. Author profile types are available as profileKind and type. Download counts represent the Hub's reported last-30-days figure, not all-time downloads.
Schedule runs to refresh trending lists or monitor repository statistics. Each run saves its results to the default dataset.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | models | Operation: models, datasets, spaces, repo_details, trending, or authors. |
search | string | llama | Search text for list modes. |
author | string | Empty | Restrict a list to a user or organization. |
filterTags | string[] | Empty | Filter by tags, such as text-classification or license:mit. |
pipelineTag | string | Empty | Filter by task, such as text-generation or text-to-image. |
sort | string | downloads | Sort by downloads, likes, trendingScore, lastModified, or createdAt. The latter two options were not rechecked in the live test. |
full | boolean | false | Request author, card, and trending-score data in list results. |
includeFiles | boolean | false | Include file names in repository details. Leave disabled for large datasets. |
repoIds | string[] | Empty | Repository IDs or Hugging Face repository URLs for details mode. |
authors | string[] | Empty | Usernames or organization names for authors mode. |
trendingType | string | all | Trending category: all, model, dataset, or space. Filtering is applied after retrieval. |
maxItems | integer | 200 | Maximum number of output rows, including error rows. Maximum: 10,000. |
timeoutSecs | integer | 300 | Stop after this many seconds while retaining saved rows. |
requestTimeoutSecs | integer | 30 | Timeout for an individual request. |
hfToken | string | Empty | Optional Hugging Face access token. Leave empty for anonymous access. |
Examples
Search Models
{"mode": "models","search": "llama","sort": "downloads","pipelineTag": "text-generation","maxItems": 100}
Get Repository Details
{"mode": "repo_details","repoIds": ["meta-llama/Llama-3.1-8B-Instruct","HuggingFaceFW/fineweb","spaces/black-forest-labs/FLUX.1-dev"],"includeFiles": false}
Get Trending Repositories
{"mode": "trending","trendingType": "model","maxItems": 50}
Get Author Profiles
{"mode": "authors","authors": ["meta-llama"]}
Output Fields
Repository records, trending records, and author records use different fields. Some fields are optional and appear only when the source provides them or when the selected mode requests additional details.
| Field | Type | Description |
|---|---|---|
repoType | string | Repository category: model, dataset, or space. |
id | string | Repository identifier, typically org/name. |
url | string | Public repository or profile URL. |
author | string | Repository owner. |
name | string | Repository name or user/organization slug. |
downloads | integer | Last-30-days download count, when available. |
likes | integer | Number of likes. |
trendingScore | number | Trending score, when available. |
pipelineTag | string | Model task or pipeline category. |
libraryName | string | Associated library, such as transformers. |
sdk | string | Space SDK, such as gradio. |
tags | array | Repository tags. |
license | string | License from card metadata or a license: tag. |
languages | array | Languages from tags and card metadata. |
arxivIds | array | Paper identifiers extracted from arxiv: tags. |
baseModel | string | Base model from card metadata or a base_model: tag. |
gated | string | Gating status, such as false or manual. |
private | boolean | Whether the repository is marked private. |
disabled | boolean | Whether the repository is disabled. |
createdAt | string | Repository creation timestamp. |
lastModified | string | Last modification timestamp. List-mode Spaces may omit this unless full metadata is requested. |
usedStorageBytes | integer | Storage usage reported in repository details. |
numParameters | integer | Model parameter count, when present in trending records. |
repoDescription | string | Dataset card excerpt. |
spacesUsing | array | Spaces using a model, when available in model details. |
modelsUsed | array | Models used by a Space, when available in Space details. |
files | array | File names when includeFiles is enabled. |
rank | integer | Position among repository rows in the current run. |
profileKind | string | Author type: user or org; also available as type. |
fullname | string | Author's display name. |
bio | string | Public profile overview. These records do not include email addresses. |
isPro | boolean | User Pro status, when available. |
isVerified | boolean | Organization verification status, when available. |
plan | string | Organization plan, when available. |
numModels | integer | Number of models associated with an author. |
numDatasets | integer | Number of datasets associated with an author. |
numSpaces | integer | Number of Spaces associated with an author. |
numPapers | integer | Number of papers associated with an author. |
numFollowers | integer | Follower count. |
numFollowing | integer | Number of accounts followed by a user. |
numUsers | integer | Organization member count. |
orgs | array | Organizations associated with a user. |
avatarUrl | string | Avatar image URL. |
error | string | Error information for a failed input. Processing continues where possible. |
statusCode | integer | HTTP status code associated with a failed request. |
Missing or Private Repositories
A repository that is missing or inaccessible may produce a NOT_FOUND_OR_PRIVATE error row with status code 401 during anonymous access. The actor records the error and continues processing other inputs.
How It Works
- Select a mode and configure your search, filters, repository IDs, or author names.
- List results are retrieved in pages of up to 1,000 rows. Additional pages are followed when available, subject to the configured row limit.
- Repository detail mode retrieves metadata for individual models, datasets, or Spaces. Detail requests run at a maximum concurrency of five.
- Trending mode retrieves trending repository records and applies the selected category filter.
- Authors mode attempts to retrieve organization overview data and then user overview data.
- If
hfTokenis supplied, it is used for authorization. Duplicate repository IDs are skipped. - Processing stops when
maxItemsortimeoutSecsis reached. Rows already saved are retained.
Limits and Error Handling
- Anonymous request allowance: The Hub's documented allowance for the relevant resources is 500 requests per 300 seconds per IP.
- Rate-limit handling: The actor checks rate-limit information and waits when fewer than five requests remain. When a request receives a
429response, it waits for the reset time indicated by the rate-limit headers and retries. - Concurrency: Repository detail requests run at a maximum of five at a time.
- Maximum output: Up to 10,000 rows per run, including error rows.
- Large repositories: File names can be included, but model weights and dataset contents are not downloaded. Disable
includeFilesfor very large datasets. - Private and gated content: The actor does not download private or gated files. Available gating metadata may still be recorded.
- Sorting:
lastModifiedandcreatedAtare accepted options, but they were not included in the live check conducted on October 12, 2026.
FAQ
How many repositories can one run export?
The default limit is 200 rows, and the maximum is 10,000. List modes continue through available pages until the row cap, timeout, or end of the available results.
Why does a missing repository return NOT_FOUND_OR_PRIVATE?
During anonymous access, the Hub may return status 401 for a missing or private repository. The actor records this condition as NOT_FOUND_OR_PRIVATE because the response does not reliably distinguish the two cases.
Are model download counts all-time?
No. The downloads field represents the Hub's reported download count for the last 30 days.
Does the actor download model weights or dataset files?
No. It collects metadata. When includeFiles is enabled, it records file names rather than downloading the files themselves.
Can I track trending AI models on a schedule?
Yes. Choose trending mode or sort a model search by trendingScore, then schedule runs in Apify to compare results over time.
Trademark Notice
Hugging Face and related names, logos, and trademarks belong to their respective owners. Their use in this documentation is solely to identify the source of the data and does not imply affiliation, sponsorship, endorsement, or partnership.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, sponsored by, or otherwise officially associated with Hugging Face.
Is Web Scraping Legal?
Collecting information that is already public is generally legal. Scraping is not the same thing as hacking, and there is no single law that bans it. The limits are the usual ones: do not break into accounts, do not take private or confidential data, and be careful with personal data and copyrighted works. A site's terms can also restrict how you access it. Facts such as a public name, price, or rating are not the same thing as republishing someone's article or photo.
This actor collects information from public pages. It does not log in and it does not bypass access controls.
For a longer explanation, see Apify's article Is web scraping legal?.