OpenRouter Models Scraper avatar

OpenRouter Models Scraper

Pricing

Pay per event

Go to Apify Store
OpenRouter Models Scraper

OpenRouter Models Scraper

Scrapes all AI models from the OpenRouter platform including pricing, context length, capabilities, and supported parameters.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What does OpenRouter Models Scraper do?

OpenRouter Models Scraper extracts the complete catalog of AI models available on OpenRouter — no API key, no login, and no coding required. Run the actor and get structured data for every model including pricing, context length, supported parameters, modalities, and provider details.

The actor calls OpenRouter's public REST API directly, returning all models in a single request. No browser automation, no pagination headaches, no Playwright overhead. Every model is returned as a clean JSON record ready to export to CSV, Google Sheets, or any downstream system.

All platform costs — compute and storage — are included in the pay-per-model price. No proxy costs since the API is fully public.


Who is it for?

🤖 AI developers and prompt engineers

  • Compare pricing across all available LLMs before choosing a model for your application
  • Track which models support tool use, reasoning, or specific output modalities
  • Monitor new model releases and deprecations automatically with scheduled runs

📊 Data analysts and researchers

  • Build datasets tracking LLM pricing trends over time
  • Analyze the competitive landscape of AI model providers
  • Study context window sizes, tokenizer distributions, and modality support across the industry

💰 Cost optimization teams

  • Find the cheapest model that meets your context length and capability requirements
  • Monitor price changes across providers to optimize API spend
  • Compare prompt vs completion costs to identify cost-effective alternatives

🏢 AI product managers and strategists

  • Track which providers are launching new models and how quickly
  • Monitor the competitive landscape for multimodal, reasoning, and specialized models
  • Build internal dashboards showing model availability and pricing across OpenRouter

Why use OpenRouter Models Scraper?

  • No API key required — OpenRouter's model catalog is fully public
  • Single HTTP request — fetches all models in one call, no pagination or scrolling
  • Zero proxy cost — no browser automation or residential proxies needed
  • Pay-per-event pricing — pay only for models actually extracted, not idle compute
  • Filter by provider — extract only models from specific providers like OpenAI, Anthropic, or Google
  • Filter by modality — narrow results to text-only, multimodal, or image generation models
  • Runs in the cloud — no local setup, no dependencies, no maintenance
  • Schedule and automate — set recurring runs to track model catalog changes over time
  • Export anywhere — JSON, CSV, Excel, Google Sheets, or push via API and webhook

What data can you extract?

Model infoFieldDescription
Model IDmodelIdOpenRouter's unique model identifier (e.g., openai/gpt-4o)
Canonical slugcanonicalSlugVersioned slug for the model
NamenameHuman-readable model name
DescriptiondescriptionModel description from the provider
ProviderproviderThe model provider (e.g., openai, anthropic, google)
Created datecreatedAtISO 8601 timestamp when the model was added
Hugging Face IDhuggingFaceIdLinked Hugging Face model ID (if available)
CapabilitiesFieldDescription
Context lengthcontextLengthMaximum context window in tokens
ModalitymodalityInput/output type (e.g., text->text, text+image->text)
Input modalitiesinputModalitiesAccepted input types (text, image, etc.)
Output modalitiesoutputModalitiesSupported output types
TokenizertokenizerTokenizer used by the model
Supported parameterssupportedParametersList of API parameters the model accepts
Max completion tokensmaxCompletionTokensMaximum output tokens per request
PricingFieldDescription
Prompt price per tokenpromptPricePerTokenCost per input token in USD
Completion price per tokencompletionPricePerTokenCost per output token in USD
Cache read price per tokencacheReadPricePerTokenCost per cached input token (if supported)
MetadataFieldDescription
Is moderatedisModeratedWhether the model applies content moderation
Knowledge cutoffknowledgeCutoffTraining data cutoff date (if provided)
Expiration dateexpirationDateModel deprecation date (if scheduled)
Model URLmodelUrlDirect link to the model's OpenRouter page
Scraped atscrapedAtISO 8601 timestamp when the data was collected

22 fields total per model record.


How much does it cost to scrape OpenRouter models?

This actor uses pay-per-event pricing — you pay only for models actually extracted. No monthly subscription. All platform costs are included.

Free ($5 credit)Starter ($29/mo)Scale ($199/mo)Business ($999/mo)
Run start fee$0.005$0.00475$0.00425$0.00375
Per model$0.0000738$0.0000642$0.0000501$0.0000385
All ~350 models~$0.031~$0.027~$0.022~$0.017

Real-world cost examples (Free plan):

TaskModelsEstimated cost
Full catalog dump (all ~350 models)350~$0.031
Single provider (e.g., Anthropic, ~15 models)15~$0.006
Daily monitoring (scheduled, 30 days)10,500~$0.92

The free $5 credit included with every new Apify account covers roughly 160 full catalog scrapes before you need to add payment.


How to scrape OpenRouter models

  1. Open OpenRouter Models Scraper on Apify Store
  2. Click Try for free — sign in or create a free Apify account
  3. Optionally set a provider filter (e.g., anthropic) or leave empty for all models
  4. Optionally set a modality filter to narrow results
  5. Click Save & Start
  6. Wait for the run to finish (typically 5–10 seconds)
  7. Click Export to download your data as JSON, CSV, or Excel

Example inputs for different scenarios:

Full catalog (all models):

{
"maxResults": 0
}

Only Anthropic models:

{
"filterProvider": "anthropic"
}

Only multimodal models, limited to 20:

{
"filterModality": "text+image->text",
"maxResults": 20
}

Input parameters

ParameterTypeDefaultDescription
filterProviderstringOnly return models from a specific provider (e.g., openai, anthropic, google, deepseek). Leave empty for all.
filterModalitystringOnly return models matching a modality (e.g., text->text, text+image->text). Leave empty for all.
maxResultsinteger0Maximum number of models to return. Set to 0 or leave empty for all models.

Output examples

Each model is saved as one record in the dataset:

{
"modelId": "anthropic/claude-sonnet-4",
"canonicalSlug": "anthropic/claude-sonnet-4-20250514",
"huggingFaceId": null,
"name": "Anthropic: Claude Sonnet 4",
"createdAt": "2025-05-14T00:00:00.000Z",
"description": "Claude Sonnet 4 is Anthropic's latest mid-tier model...",
"contextLength": 200000,
"modality": "text+image->text",
"inputModalities": ["text", "image"],
"outputModalities": ["text"],
"tokenizer": "Claude",
"instructType": null,
"promptPricePerToken": 0.000003,
"completionPricePerToken": 0.000015,
"cacheReadPricePerToken": 0.0000003,
"topProviderContextLength": 200000,
"maxCompletionTokens": 64000,
"isModerated": false,
"supportedParameters": ["temperature", "top_p", "tools", "tool_choice", "max_tokens", "stop", "reasoning"],
"knowledgeCutoff": null,
"expirationDate": null,
"provider": "anthropic",
"modelUrl": "https://openrouter.ai/anthropic/claude-sonnet-4",
"scrapedAt": "2026-04-24T14:00:00.000Z"
}

Tips for best results

  • Schedule daily runs to track pricing changes, new model launches, and deprecations over time. OpenRouter updates its catalog frequently.
  • Use provider filters to reduce output size and cost when you only need data for specific providers.
  • Compare with previous runs by joining on modelId to detect price changes, new models, or removed models between snapshots.
  • Export to Google Sheets for easy sharing with your team — Apify's native integration appends new rows automatically.
  • Runs complete in seconds — this actor makes a single HTTP request, so there's no need to increase timeouts or memory.

Integrations

OpenRouter Models Scraper connects with 5,000+ apps through Apify's built-in integration layer.

📊 OpenRouter Models → Google Sheets Automatically export every run's model catalog into a shared spreadsheet. Track pricing trends and new model launches in a living dashboard without touching a spreadsheet manually.

💬 OpenRouter Models → Slack alerts Connect via Make or Zapier: when a run finishes, post a summary (total models, new models since last run, price changes) to your Slack channel for instant visibility.

⚡ OpenRouter Models → Make / Zapier workflows Feed model data into cost optimization dashboards, internal tooling databases, or comparison engines. Trigger the workflow on a schedule or via webhook after each run completes.

🔁 Scheduled monitoring Set Apify to run daily and build a time-series dataset of model availability and pricing. Detect trends, track provider growth, and alert on deprecations automatically.

🔔 Webhooks for real-time processing Configure a run-finish webhook to POST the dataset URL to your own API endpoint. Your backend receives fresh model data the moment the scraper completes.


API usage

Run OpenRouter Models Scraper programmatically from any language or CI/CD pipeline.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/openrouter-models-scraper').call({
filterProvider: 'anthropic',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} models`);
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient(token='YOUR_API_TOKEN')
run = client.actor('automation-lab/openrouter-models-scraper').call(run_input={
'filterProvider': 'anthropic',
})
items = list(client.dataset(run['defaultDatasetId']).iterate_items())
print(f"Found {len(items)} models")
print(items[0])

cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~openrouter-models-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"filterProvider": "anthropic"}'

Fetch results after the run completes:

$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"

Find your API token at apify.com/account/integrations. See the full Apify API documentation for webhooks, scheduling, and pagination.


Use with AI agents via MCP

OpenRouter Models Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/openrouter-models-scraper"

Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/openrouter-models-scraper"
}
}
}

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

Example prompts

Once connected, try asking your AI assistant:

  • "Use automation-lab/openrouter-models-scraper to get all available models and find the cheapest one with at least 128k context"
  • "Scrape all OpenRouter models and compare pricing between OpenAI and Anthropic models"
  • "Get the full OpenRouter model catalog and list all models that support tool use"

Learn more in the Apify MCP documentation.


OpenRouter's model catalog is public data accessed via their public REST API — no authentication, no login, no terms-of-service bypass required. The API endpoint (/api/v1/models) is documented and intended for public consumption.

Automation Lab's actors are built for ethical, responsible data collection:

  • Only public, non-authenticated API endpoints are accessed
  • No rate limits are abused — the actor makes a single HTTP request per run
  • No private data, credentials, or non-public content is ever extracted

You are responsible for how you use the data. Before using scraped model data for commercial purposes, review:

For research, comparison, and monitoring purposes, accessing OpenRouter's public API is standard practice. See Apify's blog post on web scraping legality for a broader overview.


FAQ

How many models does OpenRouter have? As of April 2026, OpenRouter lists approximately 350 models. The catalog grows regularly as new providers and models are added.

How much does it cost to scrape all OpenRouter models? Approximately $0.18 total: $0.005 for the run start fee plus ~$0.175 for ~350 models at $0.0005 each. The free Apify plan includes $5 in credits — enough for roughly 27 full catalog scrapes.

How fast is the scraper? Very fast — typically 5–10 seconds per run. The actor makes a single HTTP request to OpenRouter's API, which returns all models in one response. No pagination, no browser rendering, no waiting.

Can I filter models by provider? Yes. Set filterProvider to any provider slug (e.g., openai, anthropic, google, deepseek, meta-llama) to get only their models.

How do I track pricing changes over time? Schedule the actor to run daily and export results to Google Sheets or a database. Compare runs by joining on modelId to detect price changes between snapshots.

What if the API changes? The actor calls OpenRouter's stable public API (/api/v1/models). If the response format changes, the actor will be updated. Report issues on the actor's Apify page.


Looking for more AI and data tools? Explore other actors from Automation Lab: