Reference
API reference
Three endpoints, all under /public/v1. Every request is authenticated with an API key and scoped to your account.
Base URL: https://api.applistinglab.com/api/v1. Send your key on every request — see Authentication. The machine-readable OpenAPI spec is at https://api.applistinglab.com/api/v1/public/openapi.json.
Create an app
Reads a store listing and creates an app on your account, returning the appId you generate against.
POST
/public/v1/appsBody
| Field | Type | Description |
|---|---|---|
iosUrl | string | App Store URL. Provide this, androidUrl, or both. |
androidUrl | string | Google Play URL. Provide this, iosUrl, or both. |
extraContext | string | Free-text guidance to seed generation (max 2000 chars). |
Response
200
{
"appId": "665f0a2b9c1e4d0012ab34cd",
"name": "Your App",
"category": "Productivity",
"artworkUrl": "https://…/icon.png"
}Create a screenshot set
Plans a screenshot set as a background job. Costs 5 credits, charged when the job is accepted. Returns a jobId to poll.
POST
/public/v1/screenshotsBody
| Field | Type | Description |
|---|---|---|
appIdrequired | string | An appId from POST /public/v1/apps. |
devicerequired | enum | One of iphone-69, iphone-67, iphone-65, ipad-pro, android-phone, android-tablet. |
countrequired | integer | Number of slides, 1–10 (default 5). Ignored when narrativeId is set. |
captionStyle | enum | Voice of the captions (default aso-expert). See the screenshots guide for the full list. |
captionLength | enum | short or long (default short). |
narrativeId | string | Catalogue narrative slug, e.g. standard-launch. Overrides count. |
Response
201
{
"jobId": "77a1b2c3d4e5f6a7b8c9d0e1",
"credits": { "cost": 5, "remaining": 95 }
}Get a job
Returns the status and, once finished, the result of a job.
GET
/public/v1/jobs/{id}Path parameters
| Field | Type | Description |
|---|---|---|
idrequired | string | The jobId returned by POST /public/v1/screenshots. |
Response
status is one of queued, running, succeeded, or failed. result is populated only on success; error only on failure.
200
{
"id": "77a1b2c3d4e5f6a7b8c9d0e1",
"status": "succeeded",
"result": { "device": "iphone-67", "slides": [ … ] },
"error": null
}Always current
This page mirrors the live OpenAPI spec at
https://api.applistinglab.com/api/v1/public/openapi.json. If you build SDKs or agent tooling, generate them from that spec.