Civitai Scraper - AI Model Catalog, LORAs, Checkpoints & Stats
Civitai AI Model Catalog Scraper
Scrape civitai.com via its public REST API. Returns model metadata, version info, trigger words, download URLs, SHA256 file hashes, creator stats, and license flags for Checkpoints, LORAs, VAEs, Controlnets, Embeddings, and video models — all 500K+ of them.
Civitai Scraper Features
- Extracts 22 fields per model including metadata, version details, stats, and license flags
- Filters by model type (Checkpoint, LORA, VAE, Controlnet, TextualInversion, Hypernetwork, and more)
- Filters by base model: SD 1.5, SDXL, Flux.1 Dev, Flux.1 Schnell, Pony, Illustrious, Hunyuan Video, and others
- Searches by keyword or browses by creator username
- Returns trigger words for LORAs and Textual Inversions — the ones you actually need for prompting
- Returns the primary file's SHA256 hash and size for integrity verification
- Returns direct download URLs for every model's latest version
- Collects example image URLs from the latest version (up to 5)
- Sorts results by Most Downloaded, Highest Rated, Newest, Oldest, or Most Liked
- Pure API scraping — no browser required, no proxy required
- Handles cursor-based pagination automatically across 500K+ models
- Optional Civitai API key for NSFW access and higher rate limits
What Can You Do With Civitai Model Data?
- AI app developers — Build model browsers and discovery UIs backed by the full Civitai catalog
- AI tool builders — Populate internal model registries with metadata, file hashes, and download URLs for automated pipelines
- Researchers — Analyze the AI model landscape: which base models dominate, which types get the most downloads, how trigger words evolve
- Data aggregators — Pair with huggingface-model-scraper for cross-platform AI model market intelligence
- Content creators — Discover LORAs and Checkpoints by base model and sort order, then track which creators are producing the most-downloaded models
How Civitai Scraper Works
- Configure your filters: model type, base model, search query, creator username, sort order, and item count
- The scraper calls
civitai.com/api/v1/modelsat 85 requests per minute — within the public rate limit - Cursor pagination advances through pages of 100 models until your
maxItemslimit is reached or the catalog is exhausted - Each raw API record is flattened into a clean output row: model-level fields merged with the latest version's file and stats data
Input
{
"modelType": "LORA",
"baseModel": "Flux.1 D",
"sort": "Most Downloaded",
"maxItems": 100
}
| Field | Type | Default | Description |
|---|---|---|---|
modelType |
string | (all) | Filter by architecture type: Checkpoint, LORA, VAE, TextualInversion, Hypernetwork, Controlnet, Poses, Workflows, Other |
baseModel |
string | (all) | Filter by base model: SD 1.5, SDXL 1.0, Flux.1 D, Flux.1 S, SD 3.5, Pony, Illustrious, Hunyuan Video, LTXV, Wan Video |
query |
string | — | Search models by name or tag |
username |
string | — | Filter to a specific creator's models |
sort |
string | Most Downloaded |
Sort order: Highest Rated, Most Downloaded, Newest, Oldest, Most Liked |
nsfw |
boolean | false |
Include NSFW models (requires API key for full access) |
apiKey |
string | — | Free Civitai API key from civitai.com/user/account — unlocks NSFW access and higher rate limits |
maxItems |
integer | 10 |
Maximum records to return. Set to 0 for the full catalog |
Civitai Scraper Output Fields
{
"model_id": 133005,
"model_name": "SDXL Lightning",
"model_type": "Checkpoint",
"creator_username": "ByteDance",
"creator_image": "https://image.civitai.com/.../ByteDance.jpeg",
"base_model": "SDXL 1.0",
"nsfw": false,
"nsfw_level": 0,
"tags": "base model, fast, lightning",
"trigger_words": "",
"stats_download_count": 1842300,
"stats_thumbs_up_count": 34190,
"stats_thumbs_down_count": 67,
"stats_comment_count": 412,
"version_id": 401391,
"version_name": "SDXL_Lightning_4step_unet",
"version_created_at": "2024-02-22T08:14:02.000Z",
"version_base_model": "SDXL 1.0",
"version_download_url": "https://civitai.com/api/download/models/401391",
"version_file_size_kb": 6765430,
"version_file_format": "SafeTensor",
"version_file_hash_sha256": "DBEFEE4A4B8B0E0A4B2FA76B8F53E74F...",
"allow_commercial_use": "{Image,RentCivit}",
"allow_derivatives": true,
"model_url": "https://civitai.com/models/133005",
"example_image_urls": "https://image.civitai.com/.../example1.jpeg, https://image.civitai.com/.../example2.jpeg"
}
| Field | Type | Description |
|---|---|---|
model_id |
number | Civitai model ID |
model_name |
string | Model name |
model_type |
string | Architecture type: Checkpoint, LORA, VAE, etc. |
creator_username |
string | Creator username |
creator_image |
string | Creator profile image URL |
base_model |
string | Base model of the latest version |
nsfw |
boolean | NSFW flag |
nsfw_level |
number | Numeric NSFW level |
tags |
string | Comma-separated tags |
trigger_words |
string | Comma-separated trigger words for LORAs/embeddings |
stats_download_count |
number | Total downloads |
stats_thumbs_up_count |
number | Thumbs-up count |
stats_thumbs_down_count |
number | Thumbs-down count |
stats_comment_count |
number | Comment count |
version_id |
number | Latest version ID |
version_name |
string | Latest version name |
version_created_at |
string | Latest version publish date (ISO 8601) |
version_base_model |
string | Base model from version metadata |
version_download_url |
string | Direct download URL of the primary file |
version_file_size_kb |
number | Primary file size in KB |
version_file_format |
string | File format: SafeTensor, PickleTensor, Other |
version_file_hash_sha256 |
string | SHA256 hash of the primary file |
allow_commercial_use |
string | Commercial use license flags |
allow_derivatives |
boolean | Whether derivative models are allowed |
model_url |
string | Civitai model page URL |
example_image_urls |
string | Comma-separated example image URLs (up to 5) |
FAQ
How do I scrape the Civitai model catalog?
Civitai Scraper calls the public Civitai REST API directly. Configure your filters, set a maxItems limit, and run. No login required for SFW content.
What does Civitai Scraper cost to run?
Pricing is $0.10 per start plus $0.001 per model record. 1,000 models costs about $1.10 total. The full 500K catalog would run around $510 — though you can set maxItems to whatever slice you actually need.
Can I filter by model type and base model at the same time?
Yes. Civitai Scraper supports combining any filters: set modelType: "LORA" and baseModel: "Flux.1 D" together to get only Flux-compatible LORAs. Stack as many filters as needed.
Does Civitai Scraper need proxies?
No. The Civitai API is fully public and doesn't require proxy rotation. The scraper stays within the rate limit by default. An optional API key increases the limit further.
Can I get NSFW models?
Set nsfw: true and provide a free API key from civitai.com/user/account. Without an API key, NSFW filtering depends on your region's default settings.
Need More Features?
Need output for multiple versions per model, image metadata, or a different sort of coverage? File an issue or reach out.
Why Use Civitai Scraper?
- First and only — There are no other Apify actors for civitai.com. This is the whole catalog, available programmatically, for the first time.
- Clean output — 22 structured fields per model including the data that matters most: trigger words, SHA256 hashes, download URLs, and license flags, delivered in flat JSON with consistent naming
- Affordable — At $0.001 per record, pulling 10,000 Flux LORAs costs $10. The data is worth considerably more than that to anyone building against it.