Bearer key · query string
GET /api/v1/media/open-search
curl -s "https://getattest.com.au/api/v1/media/open-search" \
-H "authorization: Bearer $ATTEST_API_KEY"
Send the key as a bearer token in the authorization header. One key and one credit balance cover every service, including Attest Capture. A failed call is refunded automatically. No key yet? POST /api/v1/keys issues one with 25 free credits and no signup — see the key guide.
For agents
Use when
Use this when a task needs an image or artwork that is free to use: public-domain works from The Metropolitan Museum of Art and the Art Institute of Chicago, each with title, artist, date, medium, a full-size image URL, a thumbnail, the museum's page for the work, the licence the museum publishes and a ready-made credit line. Only items the museum itself flags as public domain are returned.
Not documented yet: a captured example response. This page only shows what the module publishes about itself, so the missing parts are absent rather than guessed at.
4 fields
Input
Scroll the table horizontally to see all fields.
Field / Type / Required / What it does| Field | Type | Required | What it does |
|---|
q | string | Required | What to search the museum collections for. |
|---|
source | string | Optional | all (default), met for The Metropolitan Museum of Art, or aic for the Art Institute of Chicago. |
|---|
limit | integer | Optional | Maximum items to return. |
|---|
has_image | boolean | Optional | Only return items that have an image. On by default. |
|---|
HTTP 200
Response
Every successful response also carries call_id (your receipt for the charge), credits_charged and credits_remaining.
Scroll the table horizontally to see all fields.
Field / What it holds| Field | What it holds |
|---|
query | The query as it was read. |
|---|
count | Items returned. |
|---|
items | Each work: title, artist, date, medium, a full-size image URL, a thumbnail, the museum's page for it, the licence the museum publishes and a ready-made credit line. |
|---|
truncated | Whether a museum held more than was returned. |
|---|
sources | The museums that answered, with their own licence terms. |
|---|
sources_unavailable | Museums that did not answer, so an empty result is never read as nothing existing. |
|---|
attribution | That the values are each museum's own, and that Attest is not affiliated with either museum. |
|---|
Machine-readable failures
Errors
Errors return JSON such as {"error":"invalid_api_key"}. A failed call is refunded automatically.
Scroll the table horizontally to see all fields.
Code / Status / Meaning| Code | Status | Meaning |
|---|
q_required | 400 | No q was sent. |
|---|
invalid_q | 400 | q is not a usable search term. |
|---|
source_unavailable | 502 | No museum answered. Not charged. |
|---|
source_response_unreadable | 502 | A museum answered with something this service could not read. Not charged. |
|---|
On every service
Scroll the table horizontally to see all fields.
Code / Status / Meaning| Code | Status | Meaning |
|---|
invalid_api_key | 401 | The authorization header is missing or the key is unknown. |
|---|
insufficient_credits | 402 | The balance is below this call's cost. The response carries credits_required and credits_remaining. |
|---|
rate_limit_exceeded | 429 | Free keys share 10 calls a minute across every service. The response carries limit and window_seconds. |
|---|
services_unavailable | 503 | The credit store could not be reached. Retry once after 30 seconds. |
|---|
Where the answer comes from
Source and scope
Records read live from the public APIs of The Metropolitan Museum of Art and the Art Institute of Chicago. Only items a museum itself flags as public domain are returned, each with the museum's own licence and credit line. Attest is not affiliated with, or endorsed by, either museum.
Attest reports what it read, with the source it read it from. It is general information, not advice, and not a legal record.
All Attest tools · Service list as JSON · OpenAPI