App Preview Kit
    FeaturesTemplatesPricingBlog
    Open editor→

    Developers

    Build with App Preview Kit

    Automate screenshot generation, AI listing briefs, and store publishing from any AI agent or script — using MCP tools or REST API v1.

    Jump to section
    • 01 — Authentication
    • 02 — MCP integration
    • 03 — REST API v1
    • 04 — Rate limits
    • 05 — Errors
    • 06 — Support

    Quick reference

    MCP endpoint

    https://mcp.apppreviewkit.com/mcp

    POST · stateless HTTP · 9 tools

    REST base URL

    https://apppreviewkit.com/api/v1

    Bearer token · JSON · 12 endpoints

    Get a token

    Settings → API Tokens — create one, copy it, add it as Authorization: Bearer <token>

    01

    Authentication

    #

    Every API call requires a Bearer token. Create tokens in Settings → API Tokens. Each token has a name and one or more scopes that limit what it can do.

    Authorization: Bearer <your-token>

    The scopes available when creating a token:

    ScopeGrants access to
    projects:readList and get projects, run audits
    sources:writeAdd URL / Markdown context sources
    ai:executeRegenerate listing briefs (uses AI credits)
    render:executeStart screenshot render jobs (uses render credits)
    render:readPoll render status, download ZIPs, publish
    screen-sets:readList templates and screen sets

    Tokens are workspace-scoped. An owner or admin can revoke them at any time from the same settings page. The audit log records every tool call and API request attributed to a token ID.

    02

    MCP integration

    #

    App Preview Kit ships a stateless Model Context Protocol (MCP) server that exposes 9 tools. Plug it into Cursor, Claude Desktop, or any MCP-compatible agent to control the full project lifecycle from chat.

    Cursor IDE — add to .cursor/mcp.json

    {
      "mcpServers": {
        "app-preview-kit": {
          "url": "https://mcp.apppreviewkit.com/mcp",
          "headers": {
            "Authorization": "Bearer <your-token>"
          }
        }
      }
    }

    Restart Cursor after saving. The server appears under MCP Tools in the chat panel.

    Available tools

    ToolDescriptionScope required
    list_projectsList all projects in the workspace. Returns IDs, names, and app URLs.projects:read
    get_projectProject details: metadata, platforms, locales, brief status, timestamps.projects:read
    add_sourceAdd a URL or Markdown context source to improve listing brief generation.sources:write
    regenerate_listing_briefRegenerate AI title, subtitle, description, keywords, and promo text.ai:execute
    render_screen_setStart screenshot renders for device presets + locales. Returns a job ID to poll.render:execute
    export_project_zipGet the download URL for a completed render ZIP (poll jobId first).render:read
    audit_listingCompliance + ASO audit: Apple/Google policy, keyword density, readability.projects:read
    list_templatesList available screenshot templates with IDs, names, and device support.screen-sets:read
    publish_projectPublish a screen set to App Store Connect or Google Play. Requires admin role.render:read

    Transport details

    • POST /mcp — the JSON-RPC endpoint for all tool calls.
    • GET /health — returns { "ok": true }. Use for uptime monitoring.
    • Stateless: no session IDs. Each request is fully self-contained.
    • GET and DELETE to /mcp return 405 (not supported in stateless mode).
    03

    REST API v1

    #

    A lightweight REST API for scripted workflows that don’t use MCP. All endpoints return JSON. Authenticate with the same Bearer tokens.

    https://apppreviewkit.com/api/v1
    MethodPathDescription
    GET/api/v1/projectsList all projects in your workspace.
    POST/api/v1/projectsCreate a new project. Body: { name, appUrl? }
    GET/api/v1/projects/:idGet a project by ID.
    PATCH/api/v1/projects/:idUpdate a project. Body: { name? }
    DELETE/api/v1/projects/:idDelete a project. Returns 204.
    GET/api/v1/projects/:id/screen-setsList screen sets for a project.
    POST/api/v1/projects/:id/screen-setsCreate a screen set. Body: { name, platform?, templateId? }
    GET/api/v1/projects/:id/screen-sets/:ssIdGet a screen set by ID.
    GET/api/v1/projects/:id/screen-sets/:ssId/renderPoll render job status for a screen set.
    GET/api/v1/projects/:id/sourcesList context sources attached to a project.
    POST/api/v1/projects/:id/sourcesAdd a source. Body: { url } or { markdown }
    GET/api/v1/projects/:id/exportDownload the latest completed render ZIP.

    All requests must include Content-Type: application/json for POST and PATCH requests. Responses always include an error field and a human-readable message on non-2xx status codes.

    04

    Rate limits

    #

    Limits apply per workspace, per tool or endpoint. They reset on a rolling window.

    SurfacePer minutePer day
    Read operations (list, get, audit)301,000
    Source ingestion (add_source)30500
    AI brief generation5100
    Render jobs (render_screen_set)10200
    Export / publish301,000

    When a limit is exceeded, the server returns 429 RATE_LIMITED with a Retry-After header (seconds until reset). For MCP, the error message includes Resets in Xs. Implement exponential backoff with jitter on your client.

    05

    Error reference

    #

    Every non-2xx response includes a machine-readable error code and a human-readable message. MCP errors use the MCP error code enumeration in the JSON-RPC response body.

    CodeHTTPMeaning
    UNAUTHENTICATED401Missing or invalid Bearer token.
    FORBIDDEN403Token lacks the required scope for this operation, or your plan doesn't include it.
    NOT_FOUND404The requested resource doesn't exist in your workspace.
    BAD_REQUEST400Missing or invalid request body fields.
    RATE_LIMITED429Per-workspace rate limit exceeded. See Retry-After header.
    INTERNAL_ERROR500Something went wrong on our side. Retry with exponential backoff.
    06

    Support

    #

    Questions about the API, token scopes, or integration bugs — one address:

    joel.jaimon99@gmail.com

    App Preview Kit · Operated as a trade name from India.

    Also see: Authentication · Privacy Policy · Terms of Use

    Developer

    JJ
    Joel Jaimonjoeljaimon.com
    ↗

    On this page

    • 01 — Authentication
    • 02 — MCP integration
    • 03 — REST API v1
    • 04 — Rate limits
    • 05 — Errors
    • 06 — Support
    App Preview Kit

    App Store & Play Store screenshots that convert.

    © 2026 App Preview Kit

    Product
    • Features
    • Templates
    • Pricing
    • Changelog
    Developers
    • Developers
    • MCP Integration
    • REST API v1
    • API Tokens
    By App Category
    • Fitness apps
    • Finance apps
    • Productivity apps
    • Social apps
    • Games
    Alternatives
    • vs. Screenshot Pro
    • vs. AppLaunchPad
    • vs. Previewed
    Privacy Policy|Terms of Use
    Made with by @joeljaimon