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.listPublic()) {
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_public()
page = page.agents[0]
print(page.id)curl --request GET \
--url https://api.runloop.ai/v1/agents/list_public \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.runloop.ai/v1/agents/list_public",
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/list_public"
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/list_public")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.runloop.ai/v1/agents/list_public")
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
}agents
List Public Agents.
List all public Agents with pagination support.
GET
/
v1
/
agents
/
list_public
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.listPublic()) {
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_public()
page = page.agents[0]
print(page.id)curl --request GET \
--url https://api.runloop.ai/v1/agents/list_public \
--header 'Authorization: Bearer <token>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.runloop.ai/v1/agents/list_public",
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/list_public"
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/list_public")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.runloop.ai/v1/agents/list_public")
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
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
The limit of items to return. Default is 20. Max is 5000.
Load the next page of data starting after the item with the given ID.
Filter agents by name (partial match supported).
Search by agent ID or name.
Filter by version. Use 'latest' to get the most recently created agent.
If true (default), includes total_count in the response. Set to false to skip the count query for better performance on large datasets.
Was this page helpful?
