API / list-and-download-cloud-agent-artifacts-via-api

API

List and download Cloud Agent artifacts via API

Artifacts stay on the durable agent workspace across runs. List them with GET https://api.cursor.com/v1/agents/{id}/artifacts, then fetch a temporary download URL with GET https://api.cursor.com/v1/agents/{id}/artifacts/download. Official reference: Cloud Agents API → Artifacts.

The Cloud Agents API v1 is in public beta. Authenticate with Basic auth (API key as username, empty password) or Authorization: Bearer YOUR_API_KEY. Create a user key at Cursor Dashboard → API Keys, or use a service account key. Availability: Beta (all plans) per the API overview.

List artifacts

Path parameter id is the agent id (bc-…). Each item’s path is relative to the workspace artifacts/ directory. Pass that path unchanged to Download An Artifact. Absolute v0 paths such as /opt/cursor/artifacts/... are rejected.

curl --request GET \
  --url https://api.cursor.com/v1/agents/bc-00000000-0000-0000-0000-000000000001/artifacts \
  -u YOUR_API_KEY:

Response:

{
  "items": [
    {
      "path": "artifacts/screenshot.png",
      "sizeBytes": 12345,
      "updatedAt": "2026-04-13T18:45:00.000Z"
    }
  ]
}

Download an artifact

Query parameter path must be a relative path under artifacts/ returned by List Artifacts (for example artifacts/screenshot.png).

curl --request GET \
  --url 'https://api.cursor.com/v1/agents/bc-00000000-0000-0000-0000-000000000001/artifacts/download?path=artifacts/screenshot.png' \
  -u YOUR_API_KEY:

Response:

{
  "url": "https://cloud-agent-artifacts.s3.us-east-1.amazonaws.com/...",
  "expiresAt": "2026-04-13T19:00:00.000Z"
}

The url is a 15-minute presigned S3 link. Download before expiresAt, then request a fresh URL if you need the file again.

Related how-tos