Complete reference for every endpoint in the AI Models Map API. All endpoints use the base URL https://api.aimodelsmap.com/v1 and require an X-API-Key header unless noted otherwise.
Browse, search, and inspect AI models.
/v1/modelsAPI key requiredReturns a paginated list of AI models. Filter by category, provider, status, or free-text search.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
category | query | string | No | Filter by category slug.Example: coding |
provider | query | string | No | Filter by provider slug.Example: anthropic |
status | query | string | No | Filter by lifecycle status.Values: active, deprecated, preview, retired |
search | query | string | No | Free-text search across model names and aliases.Example: claude |
sort_by | query | string | No | Sort results by this field.Default: scoreValues: score, name, rank, trending |
sort_order | query | string | No | Sort direction.Default: descValues: asc, desc |
cursor | query | string | No | Opaque cursor from a previous response for fetching the next page. |
limit | query | integer | No | Number of results to return (1-100).Default: 20 |
curl "https://api.aimodelsmap.com/v1/models?category=coding&limit=5" \
-H "X-API-Key: YOUR_API_KEY"interface ModelListResponse {
data: ModelSummary[];
pagination: Pagination;
}
interface ModelSummary {
slug: string;
name: string;
description: string | null;
model_type: string;
status: "active" | "deprecated" | "preview" | "retired";
provider: { name: string; slug: string };
score: number | null;
quality_rank: number | null;
adoption_rank: number | null;
state: string | null;
context_window: number | null;
}
interface Pagination {
next_cursor: string | null;
has_more: boolean;
total: number;
}{
"data": [
{
"slug": "claude-3-5-sonnet",
"name": "Claude 3.5 Sonnet",
"description": "Anthropic's frontier coding model",
"model_type": "large-language-model",
"status": "active",
"provider": {
"name": "Anthropic",
"slug": "anthropic"
},
"score": 94.2,
"quality_rank": 1,
"adoption_rank": 3,
"state": "stable",
"context_window": 200000
}
],
"pagination": {
"next_cursor": "eyJpZCI6MTAxfQ==",
"has_more": true,
"total": 847
}
}| Status | Code | Description |
|---|---|---|
400 | bad_request | Invalid parameters. |
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
/v1/models/:slugAPI key requiredReturns the full profile for a single model, including aliases, categories, current scores, and pricing.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
slug | path | string | Yes | URL-friendly model identifier.Example: claude-3-5-sonnet |
curl "https://api.aimodelsmap.com/v1/models/claude-3-5-sonnet" \
-H "X-API-Key: YOUR_API_KEY"interface ModelDetail {
slug: string;
name: string;
description: string | null;
model_type: string;
status: string;
release_date: string | null;
context_window: number | null;
provider: { name: string; slug: string };
aliases: string[];
categories: { slug: string; name: string }[];
scores: {
category: string;
score: number;
quality_rank: number;
adoption_rank: number;
state: string;
recorded_at: string;
}[];
pricing: {
input_price_per_million: number | null;
output_price_per_million: number | null;
image_price: number | null;
video_price_per_minute: number | null;
updated_at: string;
} | null;
created_at: string;
updated_at: string;
}{
"data": {
"slug": "claude-3-5-sonnet",
"name": "Claude 3.5 Sonnet",
"description": "Anthropic's frontier model for coding and reasoning tasks",
"model_type": "large-language-model",
"status": "active",
"release_date": "2025-06-20",
"context_window": 200000,
"provider": {
"name": "Anthropic",
"slug": "anthropic"
},
"aliases": [
"claude-3.5-sonnet",
"sonnet-3.5"
],
"categories": [
{
"slug": "coding",
"name": "Coding"
},
{
"slug": "coding-generation",
"name": "Code Generation"
}
],
"scores": [
{
"category": "coding",
"score": 94.2,
"quality_rank": 1,
"adoption_rank": 3,
"state": "stable",
"recorded_at": "2026-02-25T18:00:00Z"
}
],
"pricing": {
"input_price_per_million": 3,
"output_price_per_million": 15,
"image_price": null,
"video_price_per_minute": null,
"updated_at": "2025-11-01"
},
"created_at": "2025-06-20T00:00:00Z",
"updated_at": "2026-02-25T18:00:00Z"
}
}| Status | Code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
404 | not_found | Resource not found. |
/v1/models/:slug/scoresAPI key requiredReturns a time series of scores for a model. Filter by category and date range.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
slug | path | string | Yes | URL-friendly model identifier.Example: claude-3-5-sonnet |
category | query | string | No | Filter by category slug.Example: coding |
startDate | query | string (date) | No | Start of date range (ISO 8601).Example: 2025-12-01 |
endDate | query | string (date) | No | End of date range (ISO 8601).Example: 2026-02-25 |
granularity | query | string | No | Time granularity for data points.Default: dailyValues: daily, weekly |
curl "https://api.aimodelsmap.com/v1/models/claude-3-5-sonnet/scores?granularity=weekly" \
-H "X-API-Key: YOUR_API_KEY"interface ScoreHistoryResponse {
data: {
score: number;
quality_rank: number;
adoption_rank: number;
state: string;
rank_spread: { low: number; high: number } | null;
confidence: number;
category: string;
recorded_at: string;
}[];
model: string;
granularity: string;
count: number;
}{
"data": [
{
"score": 94.2,
"quality_rank": 1,
"adoption_rank": 3,
"state": "stable",
"rank_spread": {
"low": 1,
"high": 2
},
"confidence": 0.92,
"category": "coding",
"recorded_at": "2026-02-25T18:00:00Z"
}
],
"model": "claude-3-5-sonnet",
"granularity": "daily",
"count": 86
}| Status | Code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
404 | not_found | Resource not found. |
/v1/models/:slug/signalsAPI key requiredReturns raw signal events that feed into a model's score. Each signal has a type, raw value, normalized value, source, and confidence.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
slug | path | string | Yes | URL-friendly model identifier.Example: claude-3-5-sonnet |
signalType | query | string | No | Filter by signal type.Values: demand, usage, quality, cost, trust, social, expert |
startDate | query | string (date) | No | Start of date range.Example: 2026-01-01 |
endDate | query | string (date) | No | End of date range.Example: 2026-02-25 |
curl "https://api.aimodelsmap.com/v1/models/gpt-4o/signals?signalType=quality" \
-H "X-API-Key: YOUR_API_KEY"interface SignalListResponse {
data: {
id: string;
signal_type: string;
source: string;
raw_value: number;
normalized_value: number;
recorded_at: string;
metadata: Record<string, unknown>;
}[];
model: string;
count: number;
}{
"data": [
{
"id": "sig_8f3k2m",
"signal_type": "quality",
"source": "chatbot-arena",
"raw_value": 1410,
"normalized_value": 0.94,
"recorded_at": "2026-02-25T12:00:00Z",
"metadata": {
"benchmark": "MMLU",
"score": 0.91
}
}
],
"model": "claude-3-5-sonnet",
"count": 42
}| Status | Code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
404 | not_found | Resource not found. |
/v1/models/searchAPI key requiredTypo-tolerant search across model names, aliases, and descriptions.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
q | query | string | Yes | Search query (typo-tolerant).Example: cluade sonnet |
limit | query | integer | No | Number of results to return (1-100).Default: 20 |
curl "https://api.aimodelsmap.com/v1/models/search?q=cluade+sonnet" \
-H "X-API-Key: YOUR_API_KEY"interface SearchResponse {
data: {
slug: string;
name: string;
provider: string;
score: number | null;
}[];
query: string;
count: number;
}{
"data": [
{
"slug": "claude-3-5-sonnet",
"name": "Claude 3.5 Sonnet",
"provider": "Anthropic",
"score": 94.2
}
],
"query": "cluade sonnet",
"count": 1
}| Status | Code | Description |
|---|---|---|
400 | bad_request | Invalid parameters. |
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
/v1/models/compareAPI key requiredCompare 2 to 4 models side by side across scores, pricing, and key signals.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
slugs | query | string | Yes | Comma-separated model slugs (2-4 models).Example: claude-3-5-sonnet,gpt-4o |
curl "https://api.aimodelsmap.com/v1/models/compare?slugs=claude-3-5-sonnet,gpt-4o" \
-H "X-API-Key: YOUR_API_KEY"interface ComparisonResponse {
data: {
model: {
slug: string;
name: string;
description: string | null;
model_type: string;
provider: { name: string; slug: string };
context_window: number | null;
release_date: string | null;
};
scores: {
category: string;
score: number;
quality_rank: number;
adoption_rank: number;
state: string;
}[];
pricing: {
input_price_per_million: number | null;
output_price_per_million: number | null;
image_price: number | null;
video_price_per_minute: number | null;
} | null;
categories: string[];
}[];
slugs_requested: string[];
slugs_found: string[];
}{
"data": [
{
"model": {
"slug": "claude-3-5-sonnet",
"name": "Claude 3.5 Sonnet",
"description": "...",
"model_type": "large-language-model",
"provider": {
"name": "Anthropic",
"slug": "anthropic"
},
"context_window": 200000,
"release_date": "2025-06-20"
},
"scores": [
{
"category": "coding",
"score": 94.2,
"quality_rank": 1,
"adoption_rank": 3,
"state": "stable"
}
],
"pricing": {
"input_price_per_million": 3,
"output_price_per_million": 15,
"image_price": null,
"video_price_per_minute": null
},
"categories": [
"coding",
"coding-generation"
]
}
],
"slugs_requested": [
"claude-3-5-sonnet",
"gpt-4o"
],
"slugs_found": [
"claude-3-5-sonnet",
"gpt-4o"
]
}| Status | Code | Description |
|---|---|---|
400 | bad_request | Invalid parameters. |
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
Category leaderboards, historical rankings, and biggest movers.
/v1/rankings/:categoryAPI key requiredReturns the current ranked leaderboard for a category. Each entry includes quality and adoption ranks, the composite score, confidence, ranking state, and top score drivers.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
category | path | string | Yes | Category slug.Example: coding |
limit | query | integer | No | Number of results to return (1-100).Default: 20 |
cursor | query | string | No | Opaque cursor from a previous response for fetching the next page. |
curl "https://api.aimodelsmap.com/v1/rankings/coding?limit=10" \
-H "X-API-Key: YOUR_API_KEY"interface RankingResponse {
data: {
rank: number;
model: {
slug: string;
name: string;
provider: { name: string; slug: string };
};
score: number;
quality_rank: number;
adoption_rank: number;
rank_spread: { low: number; high: number } | null;
state: "stable" | "rising" | "falling" | "volatile" | "new_entry";
confidence: number;
change_24h: number;
change_7d: number;
top_drivers: string[];
recorded_at: string;
}[];
category: string;
pagination: Pagination;
}{
"data": [
{
"rank": 1,
"model": {
"slug": "claude-3-5-sonnet",
"name": "Claude 3.5 Sonnet",
"provider": {
"name": "Anthropic",
"slug": "anthropic"
}
},
"score": 94.2,
"quality_rank": 1,
"adoption_rank": 3,
"rank_spread": {
"low": 1,
"high": 2
},
"state": "stable",
"confidence": 0.92,
"change_24h": 0,
"change_7d": 1,
"top_drivers": [
"quality",
"demand"
],
"recorded_at": "2026-02-25T18:00:00Z"
}
],
"category": "coding",
"pagination": {
"next_cursor": "eyJpZCI6MjF9",
"has_more": true,
"total": 156
}
}| Status | Code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
404 | not_found | Resource not found. |
/v1/rankings/:category/historyAPI key requiredReturns historical ranking snapshots for a category within a date range. Useful for charting how model positions change over time.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
category | path | string | Yes | Category slug.Example: coding |
startDate | query | string (date) | No | Start of date range (ISO 8601).Example: 2026-01-01 |
endDate | query | string (date) | No | End of date range (ISO 8601).Example: 2026-02-25 |
modelSlug | query | string | No | Limit history to a specific model. |
curl "https://api.aimodelsmap.com/v1/rankings/coding/history?startDate=2026-01-01&endDate=2026-02-25" \
-H "X-API-Key: YOUR_API_KEY"interface RankingHistoryResponse {
data: {
model: { slug: string; name: string };
score: number;
quality_rank: number;
adoption_rank: number;
state: string;
recorded_at: string;
}[];
category: string;
count: number;
}{
"data": [
{
"model": {
"slug": "claude-3-5-sonnet",
"name": "Claude 3.5 Sonnet"
},
"score": 94.2,
"quality_rank": 1,
"adoption_rank": 3,
"state": "stable",
"recorded_at": "2026-02-25T18:00:00Z"
}
],
"category": "coding",
"count": 120
}| Status | Code | Description |
|---|---|---|
400 | bad_request | Invalid parameters. |
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
/v1/rankings/:category/moversAPI key requiredReturns the models with the largest rank changes in a category over the selected period.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
category | path | string | Yes | Category slug.Example: coding |
period | query | string | No | Look-back period for rank changes.Default: 7dValues: 24h, 7d, 30d |
limit | query | integer | No | Number of results to return (1-100).Default: 10 |
curl "https://api.aimodelsmap.com/v1/rankings/coding/movers?period=7d" \
-H "X-API-Key: YOUR_API_KEY"interface MoversResponse {
data: {
gainers: MoverEntry[];
losers: MoverEntry[];
};
category: string;
period: string;
}
interface MoverEntry {
model: { slug: string; name: string; provider: string };
current_score: number;
previous_score: number;
score_change: number;
current_rank: number;
previous_rank: number;
rank_change: number;
direction: "up" | "down";
}{
"data": {
"gainers": [
{
"model": {
"slug": "claude-3-5-sonnet",
"name": "Claude 3.5 Sonnet",
"provider": "Anthropic"
},
"current_score": 94.2,
"previous_score": 92.8,
"score_change": 1.4,
"current_rank": 1,
"previous_rank": 2,
"rank_change": 1,
"direction": "up"
}
],
"losers": []
},
"category": "coding",
"period": "7d"
}| Status | Code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
404 | not_found | Resource not found. |
The taxonomy used to organize models. Categories are hierarchical -- top-level categories contain sub-categories.
/v1/categoriesAPI key requiredReturns the full category tree with hierarchy information.
curl "https://api.aimodelsmap.com/v1/categories" \
-H "X-API-Key: YOUR_API_KEY"interface CategoryListResponse {
data: CategoryNode[];
}
interface CategoryNode {
slug: string;
name: string;
description: string | null;
display_order: number;
children: CategoryNode[];
}{
"data": [
{
"slug": "coding",
"name": "Coding",
"description": "AI models for software development...",
"display_order": 1,
"children": [
{
"slug": "coding-generation",
"name": "Code Generation",
"description": "...",
"display_order": 1,
"children": []
},
{
"slug": "coding-debugging",
"name": "Debugging & Repair",
"description": "...",
"display_order": 2,
"children": []
}
]
},
{
"slug": "image-generation",
"name": "Image Generation",
"description": "AI models for generating images...",
"display_order": 2,
"children": []
}
]
}| Status | Code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
/v1/categories/:slugAPI key requiredReturns metadata for a single category including model count, children, and parent.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
slug | path | string | Yes | Category slug.Example: coding |
curl "https://api.aimodelsmap.com/v1/categories/coding" \
-H "X-API-Key: YOUR_API_KEY"interface CategoryDetail {
slug: string;
name: string;
description: string | null;
parent: { slug: string; name: string } | null;
children: { slug: string; name: string; display_order: number }[];
model_count: number;
display_order: number;
created_at: string;
}{
"data": {
"slug": "coding",
"name": "Coding",
"description": "AI models for software development, code generation, debugging, and explanation.",
"parent": null,
"children": [
{
"slug": "coding-generation",
"name": "Code Generation",
"display_order": 1
},
{
"slug": "coding-debugging",
"name": "Debugging & Repair",
"display_order": 2
},
{
"slug": "coding-explanation",
"name": "Code Explanation",
"display_order": 3
}
],
"model_count": 156,
"display_order": 1,
"created_at": "2025-01-01T00:00:00Z"
}
}| Status | Code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
404 | not_found | Resource not found. |
Community and expert reviews of AI models.
/v1/models/:slug/reviewsAPI key requiredReturns paginated reviews for a model, sortable by date, rating, or helpfulness.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
slug | path | string | Yes | URL-friendly model identifier.Example: claude-3-5-sonnet |
sortBy | query | string | No | Sort order for reviews.Default: recentValues: recent, helpful, rating_high, rating_low |
cursor | query | string | No | Opaque cursor from a previous response for fetching the next page. |
limit | query | integer | No | Number of results to return (1-100).Default: 20 |
curl "https://api.aimodelsmap.com/v1/models/claude-3-5-sonnet/reviews?sortBy=helpful" \
-H "X-API-Key: YOUR_API_KEY"interface ReviewListResponse {
data: {
id: string;
author_name: string;
rating: number;
title: string | null;
body: string;
use_case: string | null;
verified: boolean;
helpful_count: number;
created_at: string;
}[];
summary: {
average_rating: number;
total_reviews: number;
rating_distribution: Record<string, number>;
};
model: string;
pagination: Pagination;
}{
"data": [
{
"id": "rev_8f3k2m",
"author_name": "ml_engineer_42",
"rating": 5,
"title": "Best coding model available",
"body": "Exceptional at understanding complex codebases and generating production-ready code.",
"use_case": "software-development",
"verified": true,
"helpful_count": 87,
"created_at": "2026-02-20T14:30:00Z"
}
],
"summary": {
"average_rating": 4.6,
"total_reviews": 342,
"rating_distribution": {
"1": 7,
"2": 15,
"3": 40,
"4": 100,
"5": 180
}
},
"model": "claude-3-5-sonnet",
"pagination": {
"next_cursor": "eyJpZCI6MzQyfQ==",
"has_more": true,
"total": 342
}
}| Status | Code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
404 | not_found | Resource not found. |
/v1/models/:slug/reviewsAPI key requiredSubmit a review for a model. Requires a valid (non-anonymous) API key. Each user can submit one review per model; submitting again updates the existing review.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
slug | path | string | Yes | URL-friendly model identifier.Example: claude-3-5-sonnet |
rating | body | integer (1-5) | Yes | Overall rating from 1 to 5. |
body | body | string | Yes | Review text (10-5000 characters). |
authorName | body | string | Yes | Display name for the review (1-100 characters). |
title | body | string | No | Review title (max 200 characters). |
useCase | body | string | No | Use case tag (max 500 characters). |
curl -X POST "https://api.aimodelsmap.com/v1/models/claude-3-5-sonnet/reviews" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rating": 5,
"authorName": "dev_jane",
"title": "Great for code review",
"body": "I use it daily for code review and refactoring suggestions."
}'interface ReviewResponse {
data: {
id: string;
author_name: string;
rating: number;
title: string | null;
body: string;
use_case: string | null;
verified: boolean;
helpful_count: number;
created_at: string;
};
}{
"data": {
"id": "rev_new123",
"author_name": "dev_jane",
"rating": 5,
"title": "Great for code review",
"body": "I use it daily for code review and refactoring suggestions. Highly recommended.",
"use_case": "code-review",
"verified": false,
"helpful_count": 0,
"created_at": "2026-02-25T19:00:00Z"
}
}| Status | Code | Description |
|---|---|---|
400 | bad_request | Invalid review data. Check the details field. |
401 | unauthorized | API key required to submit reviews. |
403 | forbidden | Your plan does not allow write access. |
429 | rate_limited | Rate limit exceeded. |
Cost data and usage calculators for AI models.
/v1/models/:slug/pricingAPI key requiredReturns current pricing and historical price changes for a model.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
slug | path | string | Yes | URL-friendly model identifier.Example: claude-3-5-sonnet |
curl "https://api.aimodelsmap.com/v1/models/claude-3-5-sonnet/pricing" \
-H "X-API-Key: YOUR_API_KEY"interface PricingResponse {
data: {
current: {
model: { slug: string; name: string; provider: string };
input_price_per_million: number | null;
output_price_per_million: number | null;
image_price: number | null;
video_price_per_minute: number | null;
free_tier_available: boolean;
free_tier_limits: string | null;
source: string;
updated_at: string;
} | null;
history: {
input_price_per_million: number | null;
output_price_per_million: number | null;
image_price: number | null;
video_price_per_minute: number | null;
source: string;
updated_at: string;
}[];
};
}{
"data": {
"current": {
"model": {
"slug": "claude-3-5-sonnet",
"name": "Claude 3.5 Sonnet",
"provider": "Anthropic"
},
"input_price_per_million": 3,
"output_price_per_million": 15,
"image_price": null,
"video_price_per_minute": null,
"free_tier_available": true,
"free_tier_limits": "Included in free API tier with rate limits",
"source": "official",
"updated_at": "2025-11-01"
},
"history": [
{
"input_price_per_million": 5,
"output_price_per_million": 25,
"image_price": null,
"video_price_per_minute": null,
"source": "official",
"updated_at": "2025-06-20"
}
]
}
}| Status | Code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
404 | not_found | Resource not found. |
/v1/pricing/calculateAPI key requiredProvide your estimated usage and get back monthly cost estimates for multiple models. At least one usage metric is required.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
monthlyTokens | body | number | No | Estimated monthly token usage. |
monthlyImages | body | integer | No | Estimated monthly image generations. |
monthlyVideoMinutes | body | number | No | Estimated monthly video minutes. |
category | body | string | No | Limit estimates to a specific category. |
curl -X POST "https://api.aimodelsmap.com/v1/pricing/calculate" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "monthlyTokens": 10000000, "category": "coding" }'interface PricingCalculateResponse {
data: {
model: { slug: string; name: string; provider: string };
estimated_monthly_cost: number;
breakdown: Record<string, number>;
pricing: Record<string, unknown>;
}[];
usage: {
monthly_tokens: number;
monthly_images: number;
monthly_video_minutes: number;
};
count: number;
}{
"data": [
{
"model": {
"slug": "gemini-2-0-pro",
"name": "Gemini 2.0 Pro",
"provider": "Google"
},
"estimated_monthly_cost": 35,
"breakdown": {
"input_cost": 17.5,
"output_cost": 17.5
},
"pricing": {
"input_price_per_million": 1.75,
"output_price_per_million": 8.75
}
},
{
"model": {
"slug": "gpt-4o",
"name": "GPT-4o",
"provider": "OpenAI"
},
"estimated_monthly_cost": 45,
"breakdown": {
"input_cost": 25,
"output_cost": 20
},
"pricing": {
"input_price_per_million": 2.5,
"output_price_per_million": 10
}
}
],
"usage": {
"monthly_tokens": 10000000,
"monthly_images": 0,
"monthly_video_minutes": 0
},
"count": 2
}| Status | Code | Description |
|---|---|---|
400 | bad_request | Invalid parameters. |
401 | unauthorized | Missing or invalid API key. |
429 | rate_limited | Daily rate limit exceeded. |
API and data pipeline status. These endpoints do not require authentication.
/healthReturns API operational status. Does not require authentication.
curl "https://api.aimodelsmap.com/health"interface HealthResponse {
status: "ok" | "degraded";
timestamp: string;
version: string;
services: {
database: "healthy" | "unhealthy";
redis: "healthy" | "unhealthy";
};
}{
"status": "ok",
"timestamp": "2026-02-25T18:00:00Z",
"version": "1.0.0",
"services": {
"database": "healthy",
"redis": "healthy"
}
}/health/pipelinesReturns the status of data ingestion pipelines. Useful for checking data freshness. Does not require authentication.
curl "https://api.aimodelsmap.com/health/pipelines"interface PipelineStatusResponse {
status: "all_healthy" | "partial_degradation" | "critical";
summary: { total: number; healthy: number; unhealthy: number };
pipelines: {
source_name: string;
source_type: string;
status: "healthy" | "degraded" | "down";
last_success_at: string | null;
last_failure_at: string | null;
last_error: string | null;
avg_latency_ms: number;
success_rate: number;
checked_at: string;
}[];
}{
"status": "all_healthy",
"summary": {
"total": 8,
"healthy": 8,
"unhealthy": 0
},
"pipelines": [
{
"source_name": "chatbot-arena",
"source_type": "benchmark",
"status": "healthy",
"last_success_at": "2026-02-25T17:45:00Z",
"last_failure_at": null,
"last_error": null,
"avg_latency_ms": 420,
"success_rate": 0.99,
"checked_at": "2026-02-25T18:00:00Z"
}
]
}