Get AceDataCloud Platform Service List
The AceDataCloud platform abstracts all callable functional modules as "services" — for example, Midjourney image generation, OpenAI conversation, Suno song creation, Veo video production, web scraping, SERP search, etc. This interface returns the complete list of all available services on the platform, with each record containing full information such as name, pricing rules, free quota, optional packages, associated API/Proxy endpoints, etc.
Through this interface, you can:
- Embed a "service marketplace" page in your own product, allowing users to choose from it.
- Provide a capability list to the LLM Agent, allowing it to decide which service to call.
- Write scheduled scripts to monitor price/package changes.
ℹ️ This interface belongs to the AceDataCloud Platform Management API, with a unified prefix of
https://platform.acedata.cloud/api/v1/. For the complete interface index, see Get AceDataCloud Platform Documentation List.
¶ Interface Overview
| Item | Content |
|---|---|
| Method | GET |
| URL | https://platform.acedata.cloud/api/v1/services/ |
| Authentication | ❌ Public |
| Cache | The server has a short cache of 60 seconds, safe for high-frequency calls |
¶ Authentication Description
This interface is completely public, anyone can call it, no account token or login state is required.
💡 However: If you include an account token, the
appliedfield in the response will change totrue/false(indicating whether you have applied for the service), rather than always beingfalse. This is very convenient for the front-end "applied / apply now" button's two-state switching.
Authorization: Bearer platform-v1-92eb****629c # Optional
For information on obtaining an account token, see Manage AceDataCloud Platform Account Token.
¶ Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
id |
UUID | No | — | Service ID. Supports multiple values: ?id=xxx&id=yyy |
alias |
string | No | — | Service alias (short English code), such as midjourney, openai, webextrator |
type |
string | No | — | Service type, values: Api, Proxy, Integration, Dataset, Introduction, Agent |
private |
bool | No | — | true returns only private services (visible only to yourself); false returns only public services; if not provided, returns all |
tag |
string | No | — | Filter by tag, such as image, video, llm |
limit |
integer | No | 10 | Number of items per page, maximum 100 |
offset |
integer | No | 0 | Offset |
ordering |
string | No | rank |
Sorting, prefix - indicates descending order. Commonly used -rank, -applied_count, -updated_at |
¶ Request Examples
¶ cURL
# Without authentication, get the first 2 Api type services
curl 'https://platform.acedata.cloud/api/v1/services/?type=Api&limit=2' \
-H 'accept: application/json'
# With authentication, check applied status
curl 'https://platform.acedata.cloud/api/v1/services/?type=Api&limit=5' \
-H 'accept: application/json' \
-H 'authorization: Bearer platform-v1-92eb****629c'
# Precise query by alias
curl 'https://platform.acedata.cloud/api/v1/services/?alias=midjourney' \
-H 'accept: application/json'
¶ Python
import requests
resp = requests.get(
"https://platform.acedata.cloud/api/v1/services/",
headers={"accept": "application/json"},
params={"type": "Api", "limit": 20, "ordering": "-applied_count"},
timeout=10,
)
data = resp.json()
print(f"Total {data['count']} Api services, sorted by popularity in descending order")
for svc in data["items"]:
print(f" {svc['title']:30s} {svc['applied_count']:>6} people applied {svc['free_amount']} {svc['unit']} free")
¶ Node.js
const params = new URLSearchParams({ type: 'Api', limit: '20', ordering: '-applied_count' })
const r = await fetch(`https://platform.acedata.cloud/api/v1/services/?${params}`)
const { count, items } = await r.json()
console.log(`Total ${count} services`)
items.forEach((s) => console.log(`${s.title} (${s.alias}) Free ${s.free_amount} ${s.unit}`))
¶ Response Example (HTTP 200)
{
"count": 42,
"items": [
{
"id": "8efa1d83-9b75-4562-b44a-af95ce563d05",
"alias": "face-transform",
"title": "Face Transformation",
"description": "Services for face recognition, replacement, and style transfer.",
"introduction": "",
"type": "Api",
"applied": false,
"applied_count": 281,
"free_amount": 1.0,
"unit": "Credit",
"private": false,
"need_verify": false,
"rank": 0,
"tags": [],
"metadata": null,
"thumbnail": "https://cdn.acedata.cloud/qrd7gw.png/thumb_600x300",
"doc_url": null,
"demo_url": null,
"api_ids": [
"e4fbc3b6-4f44-48fb-a049-40f5c27c7cd3",
"2c7f6468-58d9-4611-885b-1e34664d49e9"
],
"proxy_ids": [],
"cost": [
{ "conditions": { "==": [1, 1] }, "consumption": 0.0025 }
],
"packages": [
{
"id": "4add61f2-61db-4d1c-85b6-d4876ac122f0",
"type": "Usage",
"price": 63.2,
"amount": 530.0,
"duration": null,
"private": false,
"tags": [],
"metadata": null,
"created_at": "2024-12-19T13:57:46.525377Z",
"updated_at": "2024-12-19T13:57:46.525394Z"
}
],
"created_at": "2024-06-11T00:41:29.255614Z",
"updated_at": "2026-04-26T16:12:40.481154Z"
}
]
}
¶ Response Field Description
| Field | Type | Description |
|---|---|---|
count |
integer | Total number of items that meet the criteria |
items |
array | List of services (single page) |
id |
UUID | Unique identifier for the service |
alias |
string | Service alias (short English code), may be null |
title |
string | Service title (automatically localized according to Accept-Language) |
description |
string | A brief description |
introduction |
string | Detailed long text in Markdown, may be empty |
type |
string | Api / Proxy / Integration / Dataset / Introduction / Agent |
applied |
boolean | Meaningful only with authentication: Whether the current account has applied for this service |
applied_count |
integer | Total number of users who have applied for this service |
free_amount |
number | Free quota automatically granted after application |
unit |
string | Measurement unit: Credit (points), Count (times), Token, MB, GB |
private |
boolean | Whether it is a private service (private services generally do not appear in the public list and require login to view) |
need_verify |
boolean | Whether manual review is required before allowing application |
rank |
integer | Sorting weight (the larger the number, the higher the priority) |
tags |
array | Tags, such as ["image","ai"] |
metadata |
object | Extended metadata |
thumbnail |
string | Thumbnail URL |
doc_url |
string | External document link (e.g., developer center), may be null |
demo_url |
string | Demo page link |
api_ids |
array | List of associated API IDs |
proxy_ids |
array | List of associated Proxy IDs |
cost |
array | Pricing rules in JsonLogic format, conditions expressions match request parameters and consumption is billed |
packages |
array | List of purchasable packages, see Create AceDataCloud platform recharge order |
created_at |
string | Service launch time |
updated_at |
string | Last update time of service information (package / pricing changes) |
¶ Error Handling
Public APIs rarely encounter errors. Common non-200 situations:
| HTTP | Meaning |
|---|---|
| 400 | Invalid parameter values such as ?limit= or ?type= |
| 502 / 503 / 504 | Gateway or backend temporarily unavailable, it is recommended to retry with exponential backoff 1–3 times |
Error response format:
{
"detail": "Invalid value for parameter 'type'.",
"code": "invalid",
"trace_id": "5b0f15d6e9c34c9c93d6d0f4f3a8c8d7"
}
¶ Practical Tips
- The most efficient way to filter services is by
alias, notid: Service ID is a UUID, which is not convenient for hardcoding in the code. type=Apiis the most commonly used filter: 90% of users only care about Api types;Integrationis for composite workflows,Datasetis for read-only datasets, andProxyis for OpenAI compatible forwarding.- The
packagesfield returns prices but does not include discounts: The actual order amount will be recalculated when using X402 cryptocurrency payment or holding $ACE tokens during order creation. See Create AceDataCloud platform recharge order and Query AceDataCloud platform $ACE token holdings and discounts. - This interface has a large amount of data (each record may contain several KB of
introductionMarkdown): It is recommended to passlimit=20for paginated loading when making long lists on the client side, rather than pulling everything at once.
¶ Related Interfaces
- Get AceDataCloud platform service details — View the complete definition of a single service (including OpenAPI Schema)
- Get API list under AceDataCloud platform service
- Get Proxy list under AceDataCloud platform service
- Create AceDataCloud platform service application — Click "Apply" after selection
- Get AceDataCloud platform model list — OpenAI style
/v1/modelsperspective
