Developers
Marketplace API
Read-only JSON endpoints for embedding DappStore search and listings in your own site. CORS is open for these endpoints; they never use cookies.
| Endpoint | Auth | Description |
|---|---|---|
| GET/api/apps | Public | List published apps. Query: category, chain, price (free|freemium|paid), type, verified=1, rating (3|4|4.5), tag, sort (trending|popular|newest|updated|rating|name), page, pageSize (≤60). |
| GET/api/apps/{id-or-slug} | Public | One published app with chains, tags, screenshots, versions, permissions and trust labels. |
| GET/api/apps/{id}/reviews | Public | Published reviews. Query: sort (helpful|newest|highest|lowest), page, pageSize (≤50). |
| GET/api/search | Public | Natural-language search with synonyms and chain/category intent. Query: q plus the /api/apps filters, sort=relevance. |
| GET/api/search/suggest | Public | Typeahead suggestions (apps, categories, developers, tags). Query: q. |
| GET/api/categories | Public | All categories with published app counts. |
| GET/api/developers/{username} | Public | Public developer profile and their published apps. |
Example
curl "https://YOUR-DAPPSTORE/api/search?q=monitor+whale+wallets&pageSize=5"
{
"items": [{ "slug": "tidewatch", "name": "Tidewatch",
"rating": 4.3, "trustLabels": ["dappstore_reviewed"], … }],
"total": 36, "page": 1, "pageSize": 5, "pageCount": 8,
"intent": { "chains": [], "categories": ["on-chain-analytics"] }
}Rules
- Rate limit: 300 requests per minute per IP (HTTP 429 with Retry-After when exceeded).
- Errors use one shape: { "error": { "code", "message", "requestId", "details?" } }.
- Listings marked isDemo are sample data; filter them out in production integrations.
- Usage metrics (launches30d) count opens through DappStore only — not installs or users of the app.
- API keys for higher limits are planned; the public endpoints will stay free.