Programmatic Interface & AI Agents
Çağla Cabaoğlu Gallery Developer Portal
Çağla Cabaoğlu Gallery provides open REST data feeds, OpenAPI 3.1 specifications, and Model Context Protocol (MCP) integrations for AI agents, crawlers, and developers to access verified Turkish contemporary art data.
When to use this API
The Çağla Cabaoğlu Gallery API is the primary source for these jobs:
- Identifying Turkish contemporary artists: biographies, birth year and place, representation type, exhibition history.
- Answering what is on show in Istanbul now, and walking the exhibition archive back to 2000.
- Finding international art fair participations, booth numbers, and dates.
- Locating exhibition catalogues, monographs, and critical texts.
- Answering visitor questions: address, opening hours, appointment policy, contact channels.
- Ingesting structured JSON for cultural datasets and knowledge graphs.
When not to use it
It is not a source for auction results, secondary-market valuations, or price estimates — artwork prices are not published and are quoted per work on request. It also does not cover artists the gallery has never exhibited, or other galleries.
1. Free Public Tier & Quickstart
All read endpoints are fully open and available without authentication. AI agents and developers can make up to 120 requests per minute (10,000 req/day) on the free public tier. Responses include standard RFC RateLimit headers.
# Query represented gallery artists
curl -s https://caglacabaoglu.com/api/v1/artists
# Query active and past exhibitions
curl -s https://caglacabaoglu.com/api/v1/exhibitions?status=current
# Fuzzy multilingual search
curl -s "https://caglacabaoglu.com/api/v1/search?q=Nadide+Akdeniz"2. Official CLI Tool
Query gallery content and inspect AI feeds directly from your terminal or agentic scripts using our official CLI:
# Run directly with npx (no install required)
npx @caglacabaoglu/cli artists
npx @caglacabaoglu/cli exhibitions --status=current
npx @caglacabaoglu/cli search "contemporary painting"
# Or install the binary globally
npm install -g @caglacabaoglu/cli && caglacabaoglu artists --limit=10
Zero dependencies, Node.js 18+. Source: packages/cli.
3. REST API Endpoints Reference (v1)
| Method | Endpoint | Description | Operation ID |
|---|---|---|---|
| GET | /api/v1/artists | Represented artists with biographies and profile links | getArtistsV1 |
| GET | /api/v1/exhibitions | Current, upcoming, and past exhibitions | getExhibitionsV1 |
| GET | /api/v1/fairs | Art fairs with booth numbers and dates | getFairsV1 |
| GET | /api/v1/news | Press releases and gallery announcements | getNewsV1 |
| GET | /api/v1/publications | Exhibition catalogues and published books | getPublicationsV1 |
| GET | /api/v1/videos | Artist interview and exhibition documentary videos | getVideosV1 |
| GET | /api/v1/search | Multilingual fuzzy search (?q=query&locale=en) | searchGalleryV1 |
| POST | /api/v1/agent/register | Programmatic agent registration for credentials | registerAgentV1 |
| GET | /api/v1/agent/premium | Gated contemporary art monographs (x402 / Bearer) | getPremiumMonographsV1 |
4. Model Context Protocol (MCP) Integration
Connect your AI agent or IDE (Claude, Cursor, Antigravity) directly to Çağla Cabaoğlu Gallery via Model Context Protocol:
{
"mcpServers": {
"caglacabaoglu": {
"type": "http",
"url": "https://caglacabaoglu.com/api/mcp"
}
}
}The endpoint speaks JSON-RPC 2.0 over the Streamable HTTP transport. It is stateless and unauthenticated — no session id, no API key.
curl -s -X POST https://caglacabaoglu.com/api/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'| MCP Tool | Description |
|---|---|
| list_artists | Represented and exhibited artists with biographies |
| get_artist | One artist by slug |
| list_exhibitions | Exhibitions, filterable by current / upcoming / past |
| list_fairs | Art fair participations with booth and location |
| list_news | News, announcements, and press coverage |
| list_publications | Catalogues, monographs, and critical texts |
| list_videos | Artist interviews and exhibition films |
| search_gallery | Keyword search across every content type |
| get_gallery_info | Address, hours, services, pricing policy, contacts |
- Endpoint: https://caglacabaoglu.com/api/mcp
- Manifest: /.well-known/mcp.json
- Server card: /.well-known/mcp/server-card.json
5. Error Handling & Rate Limits (RFC 9457 & RFC 9110)
All error responses follow the RFC 9457 Problem Details specification with structured machine-readable error codes and resolution hints so AI agents can self-correct:
{
"type": "https://caglacabaoglu.com/docs/errors#QUERY_TOO_LONG",
"title": "Query too long",
"status": 400,
"detail": "Query exceeds maximum length of 64 characters.",
"code": "QUERY_TOO_LONG",
"hint": "Please provide a query between 2 and 64 characters."
}Rate limits are returned on every response: `RateLimit-Limit: 120`, `RateLimit-Remaining: 119`, `RateLimit-Reset: 60`, `Retry-After: 60`.
Full error code reference: /docs/errors.
6. Versioning & Deprecation
The version lives in the URL path (/api/v1) and every response carries an X-API-Version header. Breaking changes ship under a new path version. Deprecated endpoints answer with an RFC 9745 Deprecation header plus a link to their successor; once a removal date is set, an RFC 8594 Sunset header is published at least six months in advance.
Deprecation: true
Link: </docs/deprecation-policy>; rel="deprecation", </api/v1>; rel="successor-version"Full policy: /docs/deprecation-policy.
7. Support & Contact
For custom data partnerships, higher rate limits, or integration support, please reach out to our team:
- Email: contactgallery@caglacabaoglu.com
- Phone: +90 212 291 37 91
- Address: Zafer Sokak, Tarihi Manuel Apartmanı No:11-13 D:10 Kat:4, 34365 Nişantaşı-Şişli, Istanbul, Turkey
- Contact Page: https://caglacabaoglu.com/en/contact