POST /api/artificialanalysis/models/search
Price: 20 credits
Search the Artificial Analysis model leaderboard
Independent third-party measurements, so use it when the question is how models compare rather than what a vendor claims. One product name maps to several aliases because a reasoning-effort setting is its own row — read `effort_label` before treating two rows as duplicates. Price and speed here describe the reference host; the per-host spread is /artificialanalysis/models/providers. `intelligence_index` is blended from the scores in `evaluations`, and `is_intelligence_index_estimated` says whether it was measured or inferred.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)q string nullable — Keep only models whose name or alias contains this text (examples: "gpt")creators array nullable — Keep only models from these creators, by creator name or alias (examples: ["openai"])input_modalities array nullable — Accepted but not applied: this leaderboard surface carries no per-modality flags, so the parameter is currently a no-op (one of: "text", "image", "speech", "video"; examples: ["image"])output_modalities array nullable — Accepted but not applied: this leaderboard surface carries no per-modality flags, so the parameter is currently a no-op (one of: "text", "image", "speech", "video"; examples: ["text"])open_weights_only boolean — Keep only open-weights models (default: false)reasoning_only boolean — Keep only reasoning models (default: false)exclude_deprecated boolean — Drop models the site marks as deprecated (default: false)min_intelligence_index number nullable — Minimum blended intelligence index (examples: 50; min: 0)max_intelligence_index number nullable — Maximum blended intelligence index (examples: 20; min: 0)min_input_price number nullable — Minimum input price, USD per 1M tokens (examples: 1; min: 0)max_input_price number nullable — Maximum input price, USD per 1M tokens (examples: 1; min: 0)min_output_price number nullable — Minimum output price, USD per 1M tokens (examples: 5; min: 0)max_output_price number nullable — Maximum output price, USD per 1M tokens (examples: 5; min: 0)min_context_window_tokens integer nullable — Minimum context window, in tokens (examples: 200000; min: 0)min_output_speed number nullable — Minimum median output speed, tokens per second (examples: 100; min: 0)max_time_to_first_token number nullable — Maximum median time to first token, in seconds (examples: 1; min: 0)order string nullable — Result ordering; omitted keeps the site's own leaderboard order (one of: "intelligence-high-to-low", "intelligence-low-to-high", "input-price-low-to-high", "input-price-high-to-low", "output-price-low-to-high", "output-price-high-to-low", "output-speed-high-to-low", "time-to-first-token-low-to-high", "context-high-to-low", "newest", "oldest")count integer required — Max result count (min: 1)@type string (default: "ArtificialanalysisModel")alias string requiredurl string requiredid string nullablename string nullableshort_name string nullablecreator_name string nullablecreator_alias string nullablecreator_country string nullablecreator_url string nullablecreator_image string nullablerelease_alias string nullablerelease_name string nullablerelease_date string nullableknowledge_cutoff_date string nullableis_deprecated boolean nullabledeprecated_to string nullableis_reasoning boolean nullableis_open_weights boolean nullableopen_source_categorization string nullablelicense_name string nullablelicense_url string nullablemodel_weights_url string nullableopenness object (default: {})param_class string nullablesize_class string nullableparameter_count_billions number nullableactive_parameter_count_billions number nullablecontext_window_tokens integer nullableeffort_alias string nullableeffort_label string nullableeffort_level integer nullablehost_model_count integer nullablereasoning_token_count integer nullableinput_modalities array (default: [])output_modalities array (default: [])intelligence_index number nullableis_intelligence_index_estimated boolean nullableintelligence_index_time_per_task number nullableintelligence_index_cost object (default: {})intelligence_index_cost_per_task object (default: {})intelligence_index_output_tokens_per_task object (default: {})intelligence_index_token_count object (default: {})briefcase object (default: {})timescale_data object (default: {})evaluations object nullable@type string (default: "ArtificialanalysisEvaluations")aime25 number nullableanalyst_agent number nullableapex_agents number nullableautomation_bench number nullableautomation_bench_partial_score number nullablebriefcase_total_cost number nullablebriefcase_breakdown object (default: {})critpt number nullableenterprise_ops_gym number nullablegdp_pdf_all_pass number nullablegdpval number nullablegdpval_normalized number nullablegpqa number nullableharvey_lab number nullablehle number nullableifbench number nullableit_bench_sre number nullablelcr number nullablelivecodebench number nullablemlcr_overall number nullablemmmu_pro number nullableomniscience number nullableomniscience_accuracy number nullableomniscience_non_hallucination number nullableomniscience_hallucination_rate number nullablescicode number nullabletau2 number nullabletau_banking number nullableterminalbench_hard number nullableterminalbench_v21 number nullableterminalbench_v40 number nullablepricing object nullable@type string (default: "ArtificialanalysisPricing")price_class string nullableprice_1m_input_tokens number nullableprice_1m_output_tokens number nullablecache_hit_price number nullablecache_write_price number nullablecache_hit_discount_percent number nullableprice_per_1k_images number nullablecost_per_task number nullableblended_price_0to1to1 number nullableblended_price_0to3to1 number nullableblended_price_0to100to1 number nullableblended_price_100to1to1 number nullableblended_price_7to2to1 number nullableperformance object nullable@type string (default: "ArtificialanalysisPerformance")median_output_tokens_per_second number nullablep05_output_tokens_per_second number nullableq25_output_tokens_per_second number nullableq75_output_tokens_per_second number nullablep95_output_tokens_per_second number nullablemedian_time_to_first_token_seconds number nullablep05_time_to_first_token_seconds number nullableq25_time_to_first_token_seconds number nullableq75_time_to_first_token_seconds number nullablep95_time_to_first_token_seconds number nullablemedian_time_to_first_answer_token_seconds number nullablemedian_end_to_end_response_time_seconds number nullablemedian_reasoning_time_seconds number nullabletime_to_first_answer_token_breakdown object (default: {})end_to_end_response_time_breakdown object (default: {})by_prompt_type object (default: {})data_source string nullabledata_source_provider_name string nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — The entity was not found, or a precondition failed Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.