Search
Search for public circuits and users on ModelWorks.
Search
The Search endpoint lets you discover public circuits and users across ModelWorks. It's the same search that powers the website's search bar, exposed over HTTP so your scripts and integrations can use it too.
Only public content appears in search results — private boards, private circuits, and user data you haven't made public will never show up here.
Base URL
All examples assume the following base URL:
https://modelworks.ai/apiSearch
GET /search
Search circuits and users with a single query string. No authentication required — this endpoint is fully public and is rate-limited via Redis to keep things snappy for everyone.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
search | string | The search query (required). Matched against circuit and user names, descriptions, etc. |
type | string | What to search for: all (default), circuits, or users. |
limit | integer | Maximum items per page. Capped at 100. |
page | integer | Page number, 1-based. |
Examples
Search everything (circuits and users)
curl "https://modelworks.ai/api/search?search=dilution&type=all&limit=20&page=1"Search only circuits
curl "https://modelworks.ai/api/search?search=sec+filings&type=circuits&limit=20&page=1"Search only users
curl "https://modelworks.ai/api/search?search=jane&type=users&limit=20&page=1"Response Format
Search returns a paginated response. The data array contains a mix of circuits and users (or just one type if you filtered), and the meta block describes the page window.
{
"meta": {
"total_count": 47,
"limit": 20,
"page": 1
},
"data": [
{
"type": "circuit",
"uid": "73120d53-bf89-44fa-a035-5b88fe41574a",
"name": "Dilution Risk Report",
"description": "Analyzes SEC filings for share-dilution risk.",
"username": "janedoe"
},
{
"type": "user",
"uid": "4a1b2c3d-...",
"username": "janedoe",
"name": "Jane Doe",
"bio": "Building finance circuits."
}
]
}| Field | Type | Description |
|---|---|---|
meta.total_count | integer | Total matches across all pages. |
meta.limit | integer | Items requested per page. |
meta.page | integer | Current page number. |
data | array | Mix of circuit and user result objects. |
data[].type | string | Either "circuit" or "user". |
Note: Only public circuits and public user profiles are returned. If you can't find something you own, make sure it's been published or set to public.
Error Responses
| HTTP Status | Code | Description |
|---|---|---|
| 400 Bad Request | BadClientData | Missing search parameter, or invalid type. |
| 429 Too Many Requests | RateLimited | You've hit the rate limit. Slow down and retry. |