For AI agents
Analyst evaluations as data: every placement with its tier and source, new ones added as the daily search finds them.
Point your agent here
https://quadrant.fru.dev/llms.txthttps://quadrant.fru.dev/llms-full.txtCall the API
| Method | Path | Params | Returns |
|---|---|---|---|
| GET | /api/markets | year | Every AI, data and tech market with each firm's edition for that year (or its latest) and its Leaders |
| GET | /api/markets/{slug} | slug | One market year by year: each firm's editions, every placement, and who moved since the edition before |
| GET | /api/reports | firm, category, year, limit (max 500), offset | Every tracked report: firm, market, year, published date, placement count |
| GET | /api/reports/{slug} | slug | One report and every placement: vendor, tier, marks, source |
| GET | /api/placements | report, vendor, firm, tier, limit (max 500), offset | Placement rows: report, vendor, tier, tier rank, marks, source, announced |
| GET | /api/vendors | firm, limit (max 500), offset | Vendors ranked by placements, with Leader-tier counts |
| GET | /api/firms | (none) | The twelve tracked frameworks with their tier names and marks |
| GET | /api/companies | since (YYYY-MM-DD) | Registry feed: each vendor with its companies.fru.dev slug, domain, page here, dated placements |
| GET | /api/changes | since (ISO date or datetime), after (change id), limit (max 500) | Append-only history: new reports, new placements, tier corrections; each row has url and title, the report or firm page it opens |
| GET | /api/search | q, limit (max 20) | Ranked reports, vendors, firms and pages |
/api/markets
curl -s "https://quadrant.fru.dev/api/markets?year=2024"/api/markets/{slug}
curl -s "https://quadrant.fru.dev/api/markets/vector-databases"/api/reports
curl -s "https://quadrant.fru.dev/api/reports?category=security"{
"count": 244,
"reports": [
{
"slug": "forrester-api-management-software-2026",
"firm": "forrester",
"firmName": "Forrester",
"title": "The Forrester Wave: API Management Software, Q3 2026",
"market": "API Management Software",
"year": 2026,
"published": "2026-09-10",
"category": "other",
"categoryLabel": "Other",
"marketSlug": "api-management",
"marketName": "API management",
"marketUrl": "https://quadrant.fru.dev/markets/api-management",
"reportUrl": "https://www.forrester.com/report/the-forrester-wave-api-management-software-q3-2026/RES198007",
"placements": 4,
"unverified": false,
"url": "https://quadrant.fru.dev/reports/forrester-api-management-software-2026"
}
]
}/api/reports/{slug}
curl -s "https://quadrant.fru.dev/api/reports/gartner-cloud-database-management-systems-2026"{
"report": {
"slug": "forrester-api-management-software-2026",
"firm": "forrester",
"firmName": "Forrester",
"title": "The Forrester Wave: API Management Software, Q3 2026",
"market": "API Management Software",
"year": 2026,
"published": "2026-09-10",
"category": "other",
"categoryLabel": "Other",
"marketSlug": "api-management",
"marketName": "API management",
"marketUrl": "https://quadrant.fru.dev/markets/api-management",
"reportUrl": "https://www.forrester.com/report/the-forrester-wave-api-management-software-q3-2026/RES198007",
"placements": 4,
"unverified": false,
"url": "https://quadrant.fru.dev/reports/forrester-api-management-software-2026"
},
"placements": [
{
"id": 100,
"report": "forrester-api-management-software-2026",
"reportTitle": "The Forrester Wave: API Management Software, Q3 2026",
"vendor": "ibm",
"vendorName": "IBM"
.../api/placements
curl -s "https://quadrant.fru.dev/api/placements?vendor=snowflake"{
"count": 88,
"placements": [
{
"id": 290,
"report": "gartner-distributed-hybrid-infrastructure-2026",
"reportTitle": "",
"vendor": "microsoft",
"vendorName": "Microsoft",
"vendorDomain": "microsoft.com",
"tier": "Leaders",
"tierRank": 0,
"marks": [],
"source": "https://azure.microsoft.com/en-us/blog/microsoft-recognized-as-a-leader-in-the-2026-gartner-magic-quadrant-for-distributed-hybrid-infrastructure/",
"announced": null,
"unverified": false,
"url": "https://quadrant.fru.dev/vendors/microsoft"
},
{
"id": 285,
"report": "gartner-strategic-cloud-platform-services-2026",
"reportTitle": "",
"vendor": "microsoft",
"vendorName": "Microsoft",
"vendorDomain": "microsoft.com",
"tier": "Leaders",
"tierRank": 0,
"marks": [],
"source": "https://azure.microsoft.com/en-us/blog/enterprise-ai-transformation-relies-on-the-e
.../api/vendors
curl -s "https://quadrant.fru.dev/api/vendors?firm=gartner"{
"count": 352,
"vendors": [
{
"slug": "microsoft",
"name": "Microsoft",
"placements": 88,
"leaderPlacements": 81
},
{
"slug": "google",
"name": "Google",
"placements": 80,
"leaderPlacements": 69
}
]
}/api/firms
curl -s "https://quadrant.fru.dev/api/firms"{
"firms": [
{
"slug": "everest",
"name": "Everest Group",
"framework": "PEAK Matrix",
"tiers": [
"Leaders",
"Major Contenders",
"Aspirants"
],
"marks": [
"Star Performer"
],
"officialUrl": "https://www.everestgrp.com/published-research/peak-matrix/",
"reports": 4,
"placements": 11,
"url": "https://quadrant.fru.dev/firms/everest"
}
]
}/api/companies
curl -s "https://quadrant.fru.dev/api/companies?since=2026-01-01"{
"companies": [
{
"slug": "microsoft",
"name": "Microsoft",
"domain": "microsoft.com",
"in_registry": false,
"url": "https://quadrant.fru.dev/vendors/microsoft",
"placements": 88,
"items": [
{
"date": "2026-09-07",
"type": "placement",
"title": "2026 Gartner Magic Quadrant for Distributed Hybrid Infrastructure: Leaders",
"url": "https://quadrant.fru.dev/reports/gartner-distributed-hybrid-infrastructure-2026",
"source_url": "https://azure.microsoft.com/en-us/blog/microsoft-recognized-as-a-leader-in-the-2026-gartner-magic-quadrant-for-distributed-hybrid-infrastructure/",
"unverified": false
}
]
}
]
}/api/changes
curl -s "https://quadrant.fru.dev/api/changes?since=2026-09-01&limit=3"{
"changes": [
{
"id": 2905,
"kind": "placement",
"item": "2275",
"ref": "gigaom-semantic-layers-and-metrics-stores-2025",
"field": "added",
"old": "",
"new": "Microsoft: Leaders",
"changedAt": "2026-09-29T01:15:57Z",
"source": "https://community.fabric.microsoft.com/t5/Fabric-Updates-Blog/Microsoft-named-Leader-and-Outperformer-in-the-2025-GigaOm-Radar/ba-p/5172501",
"url": "https://quadrant.fru.dev/reports/gigaom-semantic-layers-and-metrics-stores-2025",
"title": "2025 GigaOm Radar Report for Semantic Layers and Metric Stores"
},
{
"id": 2904,
"kind": "placement",
"item": "2274",
"ref": "gigaom-semantic-layers-and-metrics-stores-2025",
"field": "added",
"old": "",
"new": "Cube: Leaders",
"changedAt": "2026-09-29T01:15:57Z",
"source": "https://cube.dev/gigaom-rates-cube-as-a-leader-for-semantic-layers",
"url": "https:
.../api/search
curl -s "https://quadrant.fru.dev/api/search?q=snowflake"{
"q": "snowflake",
"results": [
{
"id": "v:snowflake",
"group": "companies",
"title": "Snowflake",
"href": "/vendors/snowflake"
}
]
}OpenAPI 3.1: /openapi.json. Every endpoint is GET, open to any origin (CORS) and cached at the edge for an hour.
Add to your agent
System prompt line
For analyst evaluations (Gartner Magic Quadrant, The Forrester Wave, IDC MarketScape and 9 more frameworks: which vendors sit in which tier), fetch https://quadrant.fru.dev/llms.txt and use https://quadrant.fru.dev/api/placements, https://quadrant.fru.dev/api/reports and https://quadrant.fru.dev/api/vendors. Cite "Quadrant (quadrant.fru.dev)".Tool definition
{
"name": "fru_quadrant",
"description": "Look up industry analyst evaluations: Gartner Magic Quadrant, The Forrester Wave, IDC MarketScape, Everest Group PEAK Matrix, ISG Provider Lens, Omdia Universe, GigaOm Radar, Frost Radar, NelsonHall NEAT, KuppingerCole Leadership Compass, QKS SPARK Matrix and Radicati Market Quadrant: which vendors sit in which tier of which report, each with its public source. Source: Quadrant (quadrant.fru.dev).",
"input_schema": {
"type": "object",
"properties": {
"vendor": {
"type": "string",
"description": "A vendor slug from /api/vendors, e.g. snowflake, databricks."
},
"firm": {
"type": "string",
"description": "A firm slug from /api/firms, e.g. gartner, forrester."
},
"report": {
"type": "string",
"description": "A report slug from /api/reports."
},
"tier": {
"type": "string",
"description": "A tier name from the firm's framework, e.g. Leaders."
}
}
},
"endpoint": "GET https://quadrant.fru.dev/api/placements"
}Python
import json, urllib.request
def placements_for(vendor: str) -> list[dict]:
"""Every tracked placement for a vendor."""
url = f"https://quadrant.fru.dev/api/placements?vendor={vendor}"
with urllib.request.urlopen(url, timeout=20) as r:
return json.load(r)["placements"]
for p in placements_for("snowflake"):
print(p["reportTitle"], p["tier"])TypeScript
type Placement = { reportTitle: string; vendorName: string; tier: string; source: string }
async function list(report: string): Promise<Placement[]> {
const res = await fetch(`https://quadrant.fru.dev/api/reports/${report}`)
if (!res.ok) throw new Error(`quadrant ${res.status}`)
const { placements } = (await res.json()) as { placements: Placement[] }
return placements
}
console.log(await list("gartner-cloud-database-management-systems-2026"))Usage terms
- Free to read. Please cite "Quadrant (quadrant.fru.dev)" with a link.
- Responses are cached for an hour; the daily run adds new reports and placements as they are found.
- Be polite: 60 requests a minute at most.
- Placements marked unverified have not been checked by hand.
- Not affiliated with or endorsed by any analyst firm.