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.