api · for builders

Ship store screenshots from CI.

One HTTPS endpoint. Multipart upload, JSON status poll, signed zip download. No SDK lock-in. Drop it into a GitHub Action, a Fastlane lane, or a cron — every release ships with fresh, multilingual store assets.

auth

One header, one key

Send X-API-Key. Plaintext shown once at create time, sha256 at rest. Revoke instantly from the dashboard — no token refresh, no OAuth dance.

queue

FIFO queue, no 409s

Hammer the endpoint from a matrix build. Submissions are persisted, the worker pulls them in order. Polling shows progress; submitter never blocks.

idempotency

Safe retries

Pass Idempotency-Key once and the same job comes back on every retry within 24 hours. Survives flaky CI runners and dropped connections without double-billing render time.

i18n

Up to 15 locales / call

Send per-locale captions in one request and the renderer fans them out across iOS 6.9 / 6.7 / 6.5 / Play. Output zip is fastlane- or framework-shaped on demand.

two minutes from key to zip

# 1. POST your shots
curl https://api.appscreen.co/v1/render \
  -H "X-API-Key: $APPSCREEN_KEY" \
  -F 'theme=paper' \
  -F 'sizes=["ios-6.9"]' \
  -F 'langs=["en","de","tr"]' \
  -F 'screens=@./shot1.png' \
  -F 'screens=@./shot2.png'
# → { "jobId": "…", "status": "queued" }

# 2. Poll until done
curl https://api.appscreen.co/v1/render/$JOB \
  -H "X-API-Key: $APPSCREEN_KEY"
# → { "status": "done", "downloadUrl": "https://api.appscreen.co/r/…" }

# 3. Pull the zip
curl -o screens.zip "$DOWNLOAD_URL"

limits

  • 200 screens / job
  • 500 renders / month (Pro)
  • 30 requests / minute / key
  • 20 min server-side timeout
  • 10 MB / file
  • 1 hr download URL TTL

Need higher caps, outbound webhooks, or per-render billing? Drop a line at hello@appscreen.co — these are on the roadmap and we ship the first request that asks for them.