Global search
One query across CVEs, weaknesses, vendors, and more.
GET/api/v1/search
A single ranked search across every entity type — CVEs, weaknesses, attack patterns, vendors, products, and CNAs. Results are grouped by type and each group is capped at limit; counts reports how many matched per type.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
q | query | string | Search query (required, minimum 2 characters). |
types | query | csv | Restrict to a subset: cve, cwe, capec, vendor, product, cna. |
limit | query | integer | Results per group, 1–25. Default: 5. |
Example request
curl "https://radicalnotion.ai/api/v1/search?q=react" \
-H "Authorization: Bearer $RN_TOKEN"Example response
{
"results": {
"vendor": [
{
"type": "vendor",
"id": "reactor",
"label": "reactor",
"subtitle": "6 CVEs",
"href": "/vendor/reactor",
"score": 0.85
},
{
"type": "vendor",
"id": "react",
"label": "react",
"subtitle": "5 CVEs",
"href": "/vendor/react",
"score": 0.85
},
{
"type": "vendor",
"id": "reactrouter",
"label": "react-router",
"subtitle": "2 CVEs",
"href": "/vendor/reactrouter",
"score": 0.85
},
{
"type": "vendor",
"id": "reactphp",
"label": "reactphp",
"subtitle": "2 CVEs",
"href": "/vendor/reactphp",
"score": 0.85
},
{
"type": "vendor",
"id": "reactflow",
"label": "reactflow",
"subtitle": "1 CVEs",
"href": "/vendor/reactflow",
"score": 0.85
}
],
"product": [
{
"type": "product",
"id": "remixrun/react-router",
"label": "react-router",
"subtitle": "remix-run · 16 CVEs",
"href": "/vendor/remixrun/react-router",
"score": 0.85
},
{
"type": "product",
"id": "shopify/react-router",
"label": "react-router",
"subtitle": "shopify · 11 CVEs",
"href": "/vendor/shopify/react-router",
"score": 0.85
},
{
"type": "product",
"id": "meta/react-server-dom-webpack",
"label": "react-server-dom-webpack",
"subtitle": "Meta · 8 CVEs",
"href": "/vendor/meta/react-server-dom-webpack",
"score": 0.85
},
{
"type": "product",
"id": "meta/react-server-dom-parcel",
"label": "react-server-dom-parcel",
"subtitle": "Meta · 8 CVEs",
"href": "/vendor/meta/react-server-dom-parcel",
"score": 0.85
},
{
"type": "product",
"id": "meta/react-server-dom-turbopack",
"label": "react-server-dom-turbopack",
"subtitle": "Meta · 8 CVEs",
"href": "/vendor/meta/react-server-dom-turbopack",
"score": 0.85
}
],
"capec": [
{
"type": "capec",
"id": "CAPEC-278",
"label": "Web Services Protocol Manipulation",
"subtitle": "CAPEC-278",
"href": "/capec/capec-278",
"score": 0.45
},
{
"type": "capec",
"id": "CAPEC-425",
"label": "Target Influence via Framing",
"subtitle": "CAPEC-425 · Low",
"href": "/capec/capec-425",
"score": 0.45
},
{
"type": "capec",
"id": "CAPEC-427",
"label": "Influence via Psychological Principles",
"subtitle": "CAPEC-427 · Low",
"href": "/capec/capec-427",
"score": 0.45
}
],
"cna": [],
"cwe": [],
"cve": [
{
"type": "cve",
"id": "CVE-2013-7035",
"label": "CVE-2013-7035",
"subtitle": "Cross-Site Scripting in react",
"href": "/my-vulns/CVE-2013-7035",
"score": 0.7
},
{
"type": "cve",
"id": "CVE-2026-52775",
"label": "CVE-2026-52775",
"subtitle": "YesWiki has Authenticated SQL Injection via ReactionManager",
"href": "/my-vulns/CVE-2026-52775",
"score": 0.7
},
{
"type": "cve",
"id": "CVE-2026-22029",
"label": "CVE-2026-22029",
"subtitle": "React Router vulnerable to XSS via Open Redirects",
"href": "/my-vulns/CVE-2026-22029",
"score": 0.7
},
{
"type": "cve",
"id": "CVE-2025-59057",
"label": "CVE-2025-59057",
"subtitle": "React Router has XSS Vulnerability",
"href": "/my-vulns/CVE-2025-59057",
"score": 0.7
},
{
"type": "cve",
"id": "CVE-2026-21884",
"label": "CVE-2026-21884",
"subtitle": "React Router SSR XSS in ScrollRestoration",
"href": "/my-vulns/CVE-2026-21884",
"score": 0.7
}
]
},
"counts": {
"vendor": 5,
"product": 5,
"capec": 3,
"cna": 0,
"cwe": 0,
"cve": 5
}
}Response schema
| Field | Type | Description |
|---|---|---|
results | object | Matches keyed by type: vendor, product, cwe, capec, cna, cve. |
results.<type>[].type / id / label | string | Entity type, id, and display label. |
results.<type>[].subtitle | string | Secondary line (e.g. CVE count or vendor). |
results.<type>[].href | string | Relative link to the entity in the app. |
results.<type>[].score | number | Relevance score. |
counts | object | Total matches per type (may exceed the returned page). |
Responses
| Status | Meaning |
|---|---|
200 | Success. |
400 | A path or query parameter failed validation. |
401 | Missing or invalid access token. |
429 | Rate limit exceeded. |