API referenceDiscovery

Search open & archival assets

Entity-grounded asset search across open / archival sources (Wikimedia Commons, NASA, ...).

Resolves the query to a real-world entity, fans out to the sources, filters to commercially-usable licenses, and returns ranked candidates with license + provenance. Read-only; no asset is downloaded or stored by this call.

POST
/discovery/search

Authorization

bearerAuth
AuthorizationBearer <token>

Typecut API key. Generate one in app.typecut.ai → Settings → API keys. Send as Authorization: Bearer tc_live_….

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/discovery/search" \  -H "Content-Type: application/json" \  -d '{    "query": "string"  }'
{
  "data": {
    "entity": {
      "qid": "string",
      "label": "string",
      "commonsCategory": "string"
    },
    "coverage": 0,
    "results": [
      {
        "id": "string",
        "source": "string",
        "assetId": "string",
        "type": "image",
        "thumbnailUrl": "string",
        "url": "string",
        "width": 0,
        "height": 0,
        "durationSec": 0,
        "attribution": "string",
        "title": "string",
        "author": "string",
        "sourceUrl": "string",
        "license": {
          "tier": "string",
          "name": "string",
          "url": "string"
        }
      }
    ],
    "reports": [
      {
        "source": "string",
        "status": "string",
        "count": 0,
        "ms": 0,
        "error": "string"
      }
    ]
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}