curl --request GET \
--url https://agenticadvertising.org/api/registry/agentsimport requests
url = "https://agenticadvertising.org/api/registry/agents"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://agenticadvertising.org/api/registry/agents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://agenticadvertising.org/api/registry/agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://agenticadvertising.org/api/registry/agents"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://agenticadvertising.org/api/registry/agents")
.asString();require 'uri'
require 'net/http'
url = URI("https://agenticadvertising.org/api/registry/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"agents": [
{
"url": "<string>",
"name": "<string>",
"description": "<string>",
"mcp_endpoint": "<string>",
"contact": {
"name": "<string>",
"email": "<string>",
"website": "<string>"
},
"added_date": "<string>",
"member": {
"slug": "<string>",
"display_name": "<string>",
"membership_tier": "<string>",
"membership_tier_label": "<string>",
"is_founding_member": true
},
"health": {
"online": true,
"checked_at": "<string>",
"response_time_ms": 123,
"tools_count": 123,
"resources_count": 123,
"error": "<string>"
},
"stats": {
"property_count": 123,
"publisher_count": 123,
"publishers": [
"<string>"
],
"creative_formats": 123
},
"capabilities": {
"tools_count": 123,
"tools": [
{
"name": "<string>",
"description": "<string>"
}
],
"standard_operations": {
"can_search_inventory": true,
"can_get_availability": true,
"can_reserve_inventory": true,
"can_get_pricing": true,
"can_create_order": true,
"can_list_properties": true
},
"creative_capabilities": {
"supported_formats": [
{
"format": {
"format_kind": "<string>",
"publisher_domain": "<string>",
"format_option_id": "<string>",
"params": {}
},
"operations": [],
"capability_id": "<string>"
}
],
"can_generate": true,
"can_validate": true,
"can_preview": true
},
"signals_capabilities": {
"audience_types": [
"<string>"
],
"can_match": true,
"can_activate": true,
"can_get_signals": true
},
"measurement_capabilities": {
"metrics": [
{
"metric_id": "<string>",
"standard_reference": "<string>",
"accreditations": [
{
"accrediting_body": "<string>",
"verified_by_aao": false,
"certification_id": "<string>",
"valid_until": "<string>",
"evidence_url": "<string>"
}
],
"unit": "<string>",
"description": "<string>",
"methodology_url": "<string>",
"methodology_version": "<string>"
}
]
}
},
"compliance": {
"tracks": {
"core": "pass",
"products": "fail"
},
"streak_days": 123,
"last_checked_at": "<string>",
"headline": "<string>",
"requested_compliance_target": "<string>",
"adcp_version": "<string>",
"track_details": [
{
"track": "<string>",
"status": "<string>",
"scenario_count": 123,
"passed_count": 123,
"duration_ms": 123,
"has_coverage_gap_skip": true
}
],
"monitoring_paused": true,
"check_interval_hours": 123,
"verified": true,
"verified_roles": []
},
"publisher_domains": [
"<string>"
],
"property_summary": {
"total_count": 123,
"count_by_type": {},
"tags": [
"<string>"
],
"publisher_count": 123
}
}
],
"count": 123
}{
"error": "<string>",
"valid_values": [
"<string>"
]
}List agents
List all agents in the registry. Optionally enrich with health checks, capabilities, and property summaries via query parameters. Measurement-vendor filters (metric_id, accreditation, q) imply type=measurement. Canonical creative-capability filters (format_kind, publisher_domain, format_option_id, capability_id, creative_operation) match any endpoint exposing that creative surface, including mixed sales/creative agents; add an explicit type only to narrow by primary registry classification.
curl --request GET \
--url https://agenticadvertising.org/api/registry/agentsimport requests
url = "https://agenticadvertising.org/api/registry/agents"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://agenticadvertising.org/api/registry/agents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://agenticadvertising.org/api/registry/agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://agenticadvertising.org/api/registry/agents"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://agenticadvertising.org/api/registry/agents")
.asString();require 'uri'
require 'net/http'
url = URI("https://agenticadvertising.org/api/registry/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"agents": [
{
"url": "<string>",
"name": "<string>",
"description": "<string>",
"mcp_endpoint": "<string>",
"contact": {
"name": "<string>",
"email": "<string>",
"website": "<string>"
},
"added_date": "<string>",
"member": {
"slug": "<string>",
"display_name": "<string>",
"membership_tier": "<string>",
"membership_tier_label": "<string>",
"is_founding_member": true
},
"health": {
"online": true,
"checked_at": "<string>",
"response_time_ms": 123,
"tools_count": 123,
"resources_count": 123,
"error": "<string>"
},
"stats": {
"property_count": 123,
"publisher_count": 123,
"publishers": [
"<string>"
],
"creative_formats": 123
},
"capabilities": {
"tools_count": 123,
"tools": [
{
"name": "<string>",
"description": "<string>"
}
],
"standard_operations": {
"can_search_inventory": true,
"can_get_availability": true,
"can_reserve_inventory": true,
"can_get_pricing": true,
"can_create_order": true,
"can_list_properties": true
},
"creative_capabilities": {
"supported_formats": [
{
"format": {
"format_kind": "<string>",
"publisher_domain": "<string>",
"format_option_id": "<string>",
"params": {}
},
"operations": [],
"capability_id": "<string>"
}
],
"can_generate": true,
"can_validate": true,
"can_preview": true
},
"signals_capabilities": {
"audience_types": [
"<string>"
],
"can_match": true,
"can_activate": true,
"can_get_signals": true
},
"measurement_capabilities": {
"metrics": [
{
"metric_id": "<string>",
"standard_reference": "<string>",
"accreditations": [
{
"accrediting_body": "<string>",
"verified_by_aao": false,
"certification_id": "<string>",
"valid_until": "<string>",
"evidence_url": "<string>"
}
],
"unit": "<string>",
"description": "<string>",
"methodology_url": "<string>",
"methodology_version": "<string>"
}
]
}
},
"compliance": {
"tracks": {
"core": "pass",
"products": "fail"
},
"streak_days": 123,
"last_checked_at": "<string>",
"headline": "<string>",
"requested_compliance_target": "<string>",
"adcp_version": "<string>",
"track_details": [
{
"track": "<string>",
"status": "<string>",
"scenario_count": 123,
"passed_count": 123,
"duration_ms": 123,
"has_coverage_gap_skip": true
}
],
"monitoring_paused": true,
"check_interval_hours": 123,
"verified": true,
"verified_roles": []
},
"publisher_domains": [
"<string>"
],
"property_summary": {
"total_count": 123,
"count_by_type": {},
"tags": [
"<string>"
],
"publisher_count": 123
}
}
],
"count": 123
}{
"error": "<string>",
"valid_values": [
"<string>"
]
}Query Parameters
brand, rights, measurement, governance, creative, sales, buying, signals, unknown true true true true Measurement-vendor filter: exact match on measurement.metrics[].metric_id. Repeatable; multiple values are AND'd (vendor must carry all named metrics). When combined with accreditation, a cross-product AND applies — each (metric_id, accreditation) pair must be covered by the same metrics element. Duplicate values are ignored. Maximum 20 unique values; maximum 100 cross-product pairs. Implies type=measurement.
"attention_units"
Measurement-vendor filter: exact match on measurement.metrics[].accreditations[].accrediting_body (e.g. MRC, JIC, ARF). Repeatable; multiple values are AND'd. When combined with metric_id, a cross-product AND applies — see metric_id description. Duplicate values are ignored. Maximum 20 unique values; maximum 100 cross-product pairs. Implies type=measurement. Accreditation claims are vendor-asserted; AAO does not independently verify (verified_by_aao is always false in the response).
"MRC"
Measurement-vendor filter: case-insensitive substring match against measurement.metrics[].metric_id. v1 scope: metric_id only (description/standard search is a follow-up). Max 64 chars; SQL wildcard characters are escaped. Implies type=measurement.
64"attention"
Canonical creative-capability filter: exact match on creative.supported_formats[].format.format_kind. Repeatable with OR semantics. Matches standalone creative agents and mixed-role endpoints.
"video_hosted"
Canonical creative-capability filter: exact publisher_domain on the same supported-format entry. Pair with format_option_id to find endpoints claiming an exact publisher format.
"shorts.streamhaus.example"
Canonical creative-capability filter: exact publisher format_option_id on the same supported-format entry.
"spotlight_video"
Canonical creative-capability filter: exact endpoint-local creative.supported_formats[].capability_id.
Canonical creative-capability filter: required supported operation on the same format entry. Repeatable with OR semantics.
build, validate, preview "build"
Filter to agents whose active badge covers the given verification axis. Repeat the parameter for AND semantics: ?verification_mode=spec&verification_mode=live returns only agents verified on both axes.
spec, live When true, filter to agents that hold any active verification badge.
true