You can hack your way around it as long as you're not too picky about what you want to query. E.g. if you want to query all up time series and all cpu_utilization time series, you can use something like this:

{__name__=~"up|cpu_utilization"}

It will even work with range queries, as long as you want the same range for all time series:

{__name__=~"up|cpu_utilization"}[1m]

But not if you want different time ranges or want to add selectors (e.g. there's no easy way of combining up{job="prometheus} and cpu_utilization{instance="foo:8080"}).

Answer from Alin Sînpălean on Stack Overflow
🌐
Prometheus
prometheus.io › docs › prometheus › latest › querying › api
HTTP API | Prometheus
This example queries for all label values for the http_status_code label: curl http://localhost:9090/api/v1/label/http_status_code/values
Starred by 14 users
Forked by 8 users
Languages: Python 100.0% | Python 100.0%
🌐
Google Groups
groups.google.com › g › prometheus-developers › c › exc5RKBLpOg
Prometheus Query Rest API for Multiple metrics
Let say i want to do single api request to get both rate(http_requests_total[5m]), rate(memory_free[5m]) Will it be possible ? No, you need to make two requests. It also doesn't make sense to take a rate on a gauge like memory_free. Brian · I could find only four type of query( Instant queries, ...
🌐
Google Groups
groups.google.com › g › prometheus-users › c › PMYdrC5solU
HTTP API request for querying multiple metrics
March 23, 2023 - It is possible to make PromQL queries which use calculations based on multiple metrics. There is "and", "or" and other operators. If you want to get the raw data via the API instead, you might have better luck by using the federate endpoint: https://prometheus.io/docs/prometheus/latest/federation/ ...
🌐
Last9
last9.io › blog › prometheus-api
Prometheus HTTP API: Query and Manage Metrics (2026) | Last9
March 6, 2025 - Even the most experienced DevOps engineers run into issues with the Prometheus API. Here are some traps to avoid: Complex queries over large time ranges can timeout faster than your morning coffee gets cold. Solution? Break them down: ... curl 'http://prometheus:9090/api/v1/query_range?query=sum(rate(http_requests_total[5m]))&start=1609459200&end=1625097600&step=1h'
🌐
Google Groups
groups.google.com › g › prometheus-users › c › 59VKF1kHmhU
How to query Multiple Metric with PromQL
I tried, but the operator "or" will return just one value with "or" of multiple values from multiple queries. Vào 16:50:16 UTC+7 Thứ Tư, ngày 11 tháng 9 năm 2019, tgug...@redhat.com đã viết: Have you tried using the "or" operator to combine these two queries? On Wed, 2019-09-11 at 02:36 -0700, Mạnh Nguyễn Tiến wrote: ... > http://Prometheus_IP_Address/api/v1/query?query={__name__=~”node_memory_Buffers_bytes|node_cpu_seconds_total”,instance=”Node_Exporter_IPAddress”}
🌐
Stack Overflow
stackoverflow.com › questions › 77389374 › query-prometheus-http-api-by-list-of-metrics
promql - query Prometheus HTTP API by list of metrics - Stack Overflow
If you need list grouped by metric, you might use endpoint api/v1/series. It returns the list of time series matching selector (basically all the possible labels for every selected metric).
Find elsewhere
🌐
Prometheus
prometheus.io › docs › prometheus › latest › querying › basics
Querying basics | Prometheus
PromQL works exactly the same in ... query run multiple times at different timestamps. In the Prometheus UI, the "Table" tab is for instant queries and the "Graph" tab is for range queries. Other programs can fetch the result of a PromQL expression via the HTTP API....
🌐
Prometheus
prometheus.io › docs › prometheus › latest › querying › examples
Query examples | Prometheus
Assuming that the http_requests_total time series all have the labels job (fanout by job name) and instance (fanout by instance of the job), we might want to sum over the rate of all instances, so we get fewer output time series, but still preserve the job dimension:
🌐
Google Cloud
cloud.google.com › google cloud observability › query using the prometheus api or ui
Query using the Prometheus API or UI | Google Cloud Observability | Google Cloud Documentation
See change the queried project for instructions on configuring the metrics scope used by the frontend service to query across multiple projects. If you have a pre-existing Grafana deployment, such as one installed by the kube-prometheus library or one installed using a helm chart, you can continue using it with Managed Service for Prometheus.
🌐
Last9
last9.io › blog › query-multiple-metrics-in-prometheus
Easily Query Multiple Metrics in Prometheus | Last9
February 21, 2026 - Working with multiple metrics can impact Prometheus performance. Here’s how to keep your queries efficient: sum(rate(http_requests_total[5m])) by (service, endpoint)
🌐
SigNoz
signoz.io › guides › how to retrieve all prometheus metrics - a step-by-step guide
How to Retrieve All Prometheus Metrics - A Step-by-Step Guide | SigNoz
October 30, 2024 - Yes, you can either use Prometheus federation to aggregate metrics across instances or implement tools like Thanos, which allows you to query multiple Prometheus instances seamlessly.
🌐
Thomas Suedbroecker
suedbroecker.net › 2022 › 04 › 12 › access-prometheus-queries-using-the-prometheus-rest-api
Access Prometheus queries using the Prometheus HTTP API – Thomas Suedbroecker's Blog
April 12, 2022 - The following simplified diagram shows the dependencies. Prometheus gets the counter values over the /metrics endpoint and we will use the Prometheus HTTP API /api/v1/query?query=goobers_total to extract the goobers_total counter values from Prometheus.
🌐
Last9
last9.io › blog › prometheus-query-examples
Essential Prometheus Queries: Simple to Advanced | Last9
June 15, 2026 - If you’re running Prometheus at scale, here are some tips and strategies to keep it efficient. # Potentially expensive for high-cardinality metrics ... Breaking down long-range queries into smaller chunks with subqueries or multiple OR conditions can dramatically improve performance by allowing Prometheus to parallelize processing.