Hugging Face Models & Datasets Search avatar

Hugging Face Models & Datasets Search

Pricing

$1.00 / 1,000 hub items

Go to Apify Store
Hugging Face Models & Datasets Search

Hugging Face Models & Datasets Search

Hugging Face repository search for model and dataset discovery. Export public model, dataset and Space metadata as JSON with source links.

Pricing

$1.00 / 1,000 hub items

Rating

0.0

(0)

Developer

Grit

Grit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Hugging Face models scraper returns public model, dataset, or Space repository metadata and source links.

Hugging Face models scraper uses the public source named below and writes its results to the Actor dataset.

Use keyword search with task, library, author, license and tag filters to prepare model shortlists, dataset inventories and lists of public demos. The actor uses the official Hugging Face Hub API. It retrieves repository metadata rather than model weights or dataset records.

What it returns

Fields vary by result type and optional enrichment. The examples below are from sample_output.json.

Output fieldTypeExample value or excerpt from saved sample
statusstring"ok"
typestring"model"
idstring"google-bert/bert-base-uncased"
urlstring"https://huggingface.co/google-bert/bert-base-uncased"
authorstring"google-bert"
downloadsinteger or null38734727
likesinteger3386
lastModifiedstring"2024-02-19T11:06:12.000Z"
createdAtstring"2022-03-02T23:29:04.000Z"
licensestring or null"apache-2.0"
licensesarray["apache-2.0"]
taskstring or null"fill-mask"
tasksarray["fill-mask"]
librarystring or null"transformers"
librariesarray["transformers"]
sdkstring or null"gradio"
tagsarray["transformers"]
gatedboolean or nullfalse
privatebooleanfalse
shastring"86b5e0934494bd15c9632b12f734a8a67f723594"
titlestring"google-bert/bert-base-uncased"
descriptionstring or null"\n\t\n\t\t\n\t\tBERTIN Alpaca Spanish\n\t\n\nThis dataset is a translation to Spanish of alpaca_dat…
fetchedAtstring"2026-10-05T13:18:21.941894+00:00"
errorCodenullnull
errornullnull

One row per repository, deduplicated by repository type and id. Missing metadata is null or an empty array.

FieldMeaning
statusok or error; inspect this before consuming a row
typemodel, dataset or space
id, urlPublic repository id and Hugging Face page URL
authorPublished user or organization handle
title, descriptionCard title and description when published
downloads, likesCounts published by the Hub; unavailable counts are null
lastModified, createdAtHub timestamps, when available
license, licensesFirst published license and the complete license list
task, tasksModel pipeline tag or dataset task categories
library, librariesPublished libraries; Space SDK is included here
sdkSpace SDK, such as gradio; null for other types
tagsPublished Hub tags
gated, privatePublished access flags; private repositories are excluded
shaPublished repository revision
fetchedAtTime the actor normalized the metadata, in UTC
errorCode, errorDiagnostic fields; null on successful rows

Dataset views show repository metrics and detailed tags. The RUN_SUMMARY key-value record reports saved item/error counts, the configured limits, processing time and whether charging stopped the run.

Input example

Search model repositories with all filters applied together:

{
"query": "bert",
"resourceTypes": ["models"],
"task": "fill-mask",
"library": "transformers",
"author": "google-bert",
"license": "apache-2.0",
"tags": ["pytorch"],
"minDownloads": 1,
"minLikes": 1,
"modifiedAfter": "2024-01-01",
"sortBy": "likes",
"sortDirection": "desc",
"maxItems": 25,
"pageSize": 50,
"maxPagesPerType": 10,
"concurrency": 3
}

For datasets, use resourceTypes: ["datasets"], query: "glue", task: "text-classification", and library: "datasets". For Spaces, use resourceTypes: ["spaces"], query: "gradio", and library: "gradio".

For a mixed search use resourceTypes: ["models", "datasets", "spaces"]. Each page round is merged in that requested type order. Sorting applies within each type; the combined output is not a global popularity ranking. For a small mixed result cap, choose a small pageSize so the first type does not consume the cap.

query searches repository names. author matches an exact public owner. tags are exact Hub tags and must all match. license matches any published license on the card. modifiedAfter is inclusive; date-only values mean midnight UTC. task filters model pipeline tags, dataset task categories and matching published Space tags. Many Spaces do not publish a task. library filters model libraries, dataset library tags and Space SDKs.

Output example

The following projection comes from the saved sample_output.json, captured on 2026-10-05:

{
"status": "ok",
"type": "model",
"id": "google-bert/bert-base-uncased",
"url": "https://huggingface.co/google-bert/bert-base-uncased",
"author": "google-bert",
"downloads": 38734727,
"likes": 3386,
"lastModified": "2024-02-19T11:06:12.000Z",
"license": "apache-2.0",
"task": "fill-mask",
"library": "transformers"
}

The included real sample contains nine rows: three models, three datasets and three Spaces. Metadata counts can change after capture.

Pricing

Proposed event: item at USD 0.001 per successful repository (USD 1.00 per 1,000). No actor start event is proposed. Error rows are uncharged. The actor requests one item charge before saving each successful row and stops when the SDK reports the event charge limit.

The observed comparator is ParseForge's Hugging Face Model Scraper, whose result-item event was USD 0.005 on the Free tier and USD 0.00445 on Gold, Platinum and Diamond at the 2026-10-05 check. The proposal is below each observed result tier. See PRICING.md for selection, receipts and the event configuration the owner must set before publishing.

Apify platform usage is separate from this proposed result-event price. Actual Store pricing must be configured by the owner. Local runs do not prove a cloud billing transaction.

Limits and error handling

  • maxItems: 1–10,000 output rows across selected types, including error rows; default 100.
  • maxPagesPerType: 1–100; default 10. pageSize: 1–100; default 50. A bounded scan can end before maxItems is reached. A scan-limit warning is logged if pagination remains.
  • concurrency: 1–10 simultaneous HTTP requests; default 3. Page requests for selected types run concurrently, so selecting one type uses one request at a time.
  • requestTimeoutSecs: 10–120 per attempt; default 30. Temporary network errors and HTTP 408/429/500/502/503/504 have four attempts, with exponential backoff. Retry-After is honored within a 60-second wait cap.
  • Error rows describe a failed type/page, malformed item or unsafe pagination link. Other available items/types continue within maxItems. Storage and billing failures fail the run.
  • No-match queries return no rows. {} browses models sorted by likes. Invalid inputs fail with a clear message.
  • Missing metrics remain null. A positive minDownloads excludes Spaces without download metrics. Download sorting is rejected when Spaces are selected.
  • Only public metadata is requested. No token or login is needed. Public metadata for a gated repository does not grant access to its restricted files.
  • Hub throttling, metadata changes and missing licenses can affect results. Published license metadata is not a substitute for reading the repository's license terms.

FAQ

Why are there fewer results than the cap? The Hub may have fewer matches, filters can exclude rows, and maxPagesPerType can stop a scan.

Do I need a proxy, login, or key? No. The actor searches public Hugging Face Hub metadata without a login or configured proxy.

How is it priced? The proposed pay-per-event model charges item for a successfully normalized model, dataset, or Space repository row. Error rows have no custom item charge.

How are rate limits handled? Requests use bounded concurrency and retry temporary source responses with backoff and Retry-After when supplied.

How fresh are counts and metadata? The actor reads the Hub during the run. fetchedAt marks collection time; downloads and likes can change later.

Does it download model or dataset content? No. It returns repository metadata, not weights or dataset examples.

Use with AI agents / MCP

After the owner publishes the actor, add its Store id to the Apify MCP server or call it through an Apify integration in your agent. Give the agent the input object above, set maxItems and a run charge limit, and have it read the returned default dataset.

Suggested agent instruction: “Search public Hugging Face models for bert with task fill-mask and library transformers. Return at most 25 repositories with URL, license, downloads and likes. Explain missing metadata and keep error rows separate.”

An agent can also send the same JSON input through the Apify API. Use the actual published actor id in your integration. No published actor id is supplied with this local build.

Local development

Use the existing project venv. Do not install packages into it. Runtime dependencies are pinned in requirements.txt.

PowerShell, from this actor directory:

$env:APIFY_LOCAL_STORAGE_DIR = "$PWD/storage"
$env:CRAWLEE_STORAGE_DIR = "$PWD/storage"
$env:NO_PROXY = "huggingface.co"
New-Item -ItemType Directory -Force storage/key_value_stores/default | Out-Null
'{"query":"bert","maxItems":5}' | Set-Content -Encoding ascii storage/key_value_stores/default/INPUT.json
& C:/GritWork/earn/.venv/Scripts/python.exe -m src
& C:/GritWork/earn/.venv/Scripts/python.exe -m pytest tests -m "not live" -q -p no:cacheprovider
& C:/GritWork/earn/.venv/Scripts/python.exe -m pytest tests -m live -q -p no:cacheprovider
apify validate-schema

The verification environment inherited non-working proxy settings for Python. Recorded live tests used an isolated environment without those proxy variables; production code honors the environment's proxy configuration.

Local datasets are under storage/datasets/default. Use fresh local storage for each independent sample; SDK storage can retain rows between runs. The Dockerfile uses apify/actor-python:3.12. Docker execution and real cloud billing were not tested in this local delivery.