Skip to main content
GET
/
v1
/
agents
JavaScript
import Runloop from '@runloop/api-client';

const client = new Runloop({
  bearerToken: process.env['RUNLOOP_API_KEY'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const agentView of client.agents.list()) {
  console.log(agentView.id);
}
import os
from runloop_api_client import Runloop

client = Runloop(
bearer_token=os.environ.get("RUNLOOP_API_KEY"), # This is the default and can be omitted
)
page = client.agents.list()
page = page.agents[0]
print(page.id)
curl --request GET \
--url https://api.runloop.ai/v1/agents \
--header 'Authorization: Bearer <token>'
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.runloop.ai/v1/agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.runloop.ai/v1/agents"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.runloop.ai/v1/agents")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.runloop.ai/v1/agents")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "agents": [
    {
      "id": "<string>",
      "name": "<string>",
      "create_time_ms": 123,
      "is_public": true,
      "version": "<string>",
      "source": {
        "type": "<string>",
        "npm": {
          "package_name": "<string>",
          "registry_url": "<string>",
          "agent_setup": [
            "<string>"
          ]
        },
        "pip": {
          "package_name": "<string>",
          "registry_url": "<string>",
          "agent_setup": [
            "<string>"
          ]
        },
        "object": {
          "object_id": "<string>",
          "agent_setup": [
            "<string>"
          ]
        },
        "git": {
          "repository": "<string>",
          "ref": "<string>",
          "agent_setup": [
            "<string>"
          ]
        }
      }
    }
  ],
  "has_more": true,
  "total_count": 123
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

limit
integer<int32>

The limit of items to return. Default is 20. Max is 5000.

starting_after
string

Load the next page of data starting after the item with the given ID.

name
string

Filter agents by name (partial match supported).

is_public
boolean

Filter agents by public visibility.

Search by agent ID or name.

version
string

Filter by version. Use 'latest' to get the most recently created agent.

include_total_count
boolean

If true (default), includes total_count in the response. Set to false to skip the count query for better performance on large datasets.

Response

Successfully retrieved list of Agents.

A paginated list of Agents.

agents
object[]
required

The list of Agents.

has_more
boolean
required

Whether there are more Agents to fetch.

total_count
integer<int32> | null

The total count of Agents.