AI Model Intelligence avatar

AI Model Intelligence

Pricing

from $0.50 / 1,000 model results

Go to Apify Store
AI Model Intelligence

AI Model Intelligence

Discover and normalize AI model metadata from Hugging Face, GitHub, Ollama, and OpenRouter in one structured dataset. Track models, providers, capabilities, licenses, popularity, and availability.

Pricing

from $0.50 / 1,000 model results

Rating

0.0

(0)

Developer

Hakashi Katake

Hakashi Katake

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

An Apify Actor that collects public AI/ML model metadata from verified official APIs and emits one normalized record per model.

What it does

The Actor supports two modes:

  • Specific lookup with models, such as meta-llama/Llama-3.1-8B-Instruct or owner/repository.
  • Discovery with query, or a source-specific default discovery when both models and query are empty.

It queries only documented APIs, merges equivalent records deterministically, preserves source attribution, and continues when one source fails.

Supported sources

SourceOfficial API usedAuthenticationNotes
Hugging FaceGET https://huggingface.co/api/models and model detailOptional HF_TOKENPublic metadata and current aggregate downloads/likes
GitHubGET /search/repositories and GET /repos/{owner}/{repo}Optional GITHUB_TOKENRepository relevance is a best-effort model signal
OllamaGET {OLLAMA_BASE_URL}/tagsLocal server: none; cloud: OLLAMA_API_KEYReports models available to one configured Ollama server; no HTML library scraping
OpenRouterGET https://openrouter.ai/api/v1/modelsOptional OPENROUTER_API_KEYCatalog metadata, context length, modalities, and pricing

The complete verification record, including rate limits, restrictions, response fields, and source URLs, is in docs/API_RESEARCH.md.

Input

{
"query": "qwen",
"models": [],
"sources": ["huggingface", "github", "ollama", "openrouter"],
"maxItems": 100,
"includeMomentum": true,
"snapshotStoreName": "ai-model-intelligence-snapshots",
"timeoutMs": 15000,
"maxRetries": 2
}

models takes precedence over query for source-specific lookup. sources defaults to all four sources. Use a persistent named snapshotStoreName for momentum across scheduled runs; without it, snapshots are run-local.

Output

The default Dataset contains one record per normalized model:

{
"modelId": "qwen/qwen2.5-7b-instruct",
"name": "Qwen2.5-7B-Instruct",
"provider": "qwen",
"description": null,
"architecture": null,
"parameterCount": null,
"contextLength": 32768,
"modalities": ["text"],
"license": null,
"releaseDate": "2024-09-18T00:00:00.000Z",
"lastUpdated": null,
"huggingFace": {
"url": "https://huggingface.co/Qwen/Qwen2.5-7B-Instruct",
"downloads": 0,
"likes": 0,
"tags": [],
"library": "transformers"
},
"github": {
"url": null,
"stars": null,
"forks": null,
"openIssues": null,
"contributors": null
},
"ollama": {
"url": null,
"available": null,
"pulls": null
},
"openRouter": {
"url": null,
"available": true,
"inputPrice": "0.0000004",
"outputPrice": "0.0000004",
"contextLength": 32768
},
"providers": ["qwen"],
"momentum": {
"starsGrowth": null,
"forkGrowth": null,
"downloadGrowth": null,
"momentumScore": null
},
"sources": [],
"errors": [],
"observedAt": "2026-09-27T00:00:00.000Z"
}

The example values are illustrative; unavailable values are emitted as null, not inferred.

Momentum and snapshots

Each run can save the current GitHub stars/forks and Hugging Face downloads in the MODEL_SNAPSHOTS Key-Value Store record. On later runs, the Actor calculates percentage growth and a bounded average score from values that existed in both snapshots. No historical data is claimed when the source does not provide it.

For scheduled runs, create or reuse a named Apify Key-Value Store and pass its name as snapshotStoreName.

Error handling

Every source has a bounded timeout and retry policy. 408, 425, 429, and common 5xx responses are retried with backoff; Retry-After is honored when present. Source failures are recorded in the run OUTPUT summary and, when relevant, on model records under errors. A failed source does not discard successful results from other sources.

An unavailable local Ollama server is expected in a hosted run unless OLLAMA_BASE_URL points at a reachable server; this is reported as an Ollama error.

Credentials and environment

Set only the credentials needed for the sources you enable:

export HF_TOKEN="..."
export GITHUB_TOKEN="..."
export OLLAMA_BASE_URL="https://ollama.com/api"
export OLLAMA_API_KEY="..."
export OPENROUTER_API_KEY="..."

Credentials are read from environment variables and are not included in Dataset records.

Local development

Requirements: Node.js 20+ and npm.

npm install
npm run typecheck
npm test
npm run build

To run the Actor locally with the Apify CLI, place input in storage/key_value_stores/default/INPUT.json and run apify run. Local Dataset and Key-Value Store data remains under storage/.

The verified live API smoke tests are opt-in so ordinary unit tests do not consume external quotas:

$RUN_INTEGRATION=1 npm run test:integration

Limitations and pricing considerations

  • GitHub search is not a model registry; search results are relevance-based repository candidates.
  • Ollama /api/tags is server-local/cloud-account inventory, not a global public model catalog. Pull counts are unavailable from the documented response.
  • Hugging Face download and like values are current aggregates. Growth needs at least two runs with a persistent snapshot store.
  • Provider pricing is populated only from OpenRouter’s catalog response. The Actor does not make inference requests and does not incur token charges.
  • Public API quotas and plan pricing are controlled by each provider and can change. Consult the official links in docs/API_RESEARCH.md before large scheduled crawls.