Filter dimension groups by module (chain / Twitter / YouTube) with stable keys and i18n labels.
Get category dimension groups
GET /api/open/category-groups
Returns filter dimension groups by module (e.g. chain “layer/ecosystem”, Twitter “account type/verified”).
Use with GET /api/open/categories to:
- Build sidebar filters (each group = one collapsible block)
- Group category items by
groupKeyon the client
Endpoint
GET /api/open/category-groups
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
module | string | Yes | Module: chain, twitter, or youtube |
Tip: Fetch once per module on init and cache the result.
Response
200 OK, application/json:
| Field | Type | Description |
|---|---|---|
module | string | Same as request |
groups | object[] | Dimension groups, ordered by priority ascending |
Each item in groups (CategoryGroupDimension):
| Field | Type | Description |
|---|---|---|
key | string | Stable dimension key, e.g. ecosystem, chain_layer |
i18n | object | Names per locale, e.g. { "en": "Ecosystem", "zh-hans": "生态" } |
priority | number | Sort order; lower = earlier |
Errors
| HTTP status | When |
|---|---|
400 | Missing or invalid module |
429 | Open API rate limit (60/300 per minute) |
500 | Server error |
Example request
curl -s "https://www.web3base.ai/api/open/category-groups?module=chain" | jq
curl -s "https://www.web3base.ai/api/open/category-groups?module=twitter" | jqExample response
{
"module": "chain",
"groups": [
{
"key": "ecosystem",
"i18n": {
"en": "Ecosystem",
"zh-hans": "生态",
"zh-hant": "生態系"
},
"priority": 1
}
]
}Use
keyfor icons/layout andi18n[locale]for the current language title.