---
title: "Keyless scan: upload and identify (free)"
method: POST
path: "/scan"
tags: ["Scan"]
---

# Keyless scan: upload and identify (free)

`POST /scan`

## Request

- Base URL: `https://demarker.io/api/v1`
- URL: `https://demarker.io/api/v1/scan`
- Auth: none required

No API key needed. Send the image as multipart/form-data in the field 'file'. Starts the free identify step and returns 202 with the job id and a claimToken. Poll GET /scan/{id} with the token in X-Claim-Token. Shares the web upload limits (per-IP rate limit, region block, size cap). Scan jobs can only be identified: to clean an image, upload it with /upload and use an API key and credits. Originals are deleted after 24 hours.

## Response `202`

Accepted

- object
  - `id` string
  - `claimToken` string: Secret. Send as X-Claim-Token when polling.
  - `status` string
  - `width` integer
  - `height` integer
  - `megapixels` number
  - `identifyOnly` boolean

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/demarker/apis/demarker-api.md) · [All operations](https://skmtc.dev/demarker/apis/demarker-api/llms.txt) · [OpenAPI document](https://skmtc.dev/demarker/apis/demarker-api/revisions/d152095351c0?raw)
