AsoBeast Apps API

The Apps API from AsoBeast — 21 operation(s) for apps.

Operations 25

POST /apps/{id}/audit/ai Rate limits and quotas #
POST /apps/{id}/audit/ai/runs Rate limits and quotas #
PUT /apps/{id}/keyword-field Rate limits and quotas #
PUT /apps/{id}/keyword-fields/{localization} Rate limits and quotas #
POST /apps/{id}/keywords Rate limits and quotas #
POST /apps/{id}/keywords/bulk Rate limits and quotas #
POST /apps/{id}/keywords/import Rate limits and quotas #
POST /apps/{id}/keywords/import/preview Rate limits and quotas #
POST /apps/{id}/localizations/detect Rate limits and quotas #
POST /apps/{id}/metadata/assistant Rate limits and quotas #
POST /apps/{id}/refresh POST /apps/{id}/refresh returns 200 with a snapshot diff, synchronously #
POST /apps/{id}/run-daily POST /apps/{id}/run-daily returns 202, the daily work is queued #
POST /apps Import an app from a store URL #
GET /apps List imported apps #
GET /apps/{id} Get an app with its latest snapshot and competitors #
DELETE /apps/{id} Delete an app #
GET /apps/{id}/listing-markets List the markets an app has a captured listing in, with the newest rating of… #
GET /apps/{id}/market-availability Probe whether an app is published in a storefront #
GET /apps/{id}/setup Read the guided setup of an app #
PATCH /apps/{id}/setup Update the guided setup of an app #
POST /apps/{id}/market-seed Seed a market with the keywords of its own listing #
GET /apps/{id}/market-suggestions Suggest storefronts from the languages the home listing declares #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/asobeast-com:asobeast-com-apps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

asobeast-com-apps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Asobeast Com Apps API
  x-refined-note:
  - x-authored-by differs across the merged source definitions and was not carried
  - x-engine differs across the merged source definitions and was not carried
  - x-evidence-tiers differs across the merged source definitions and was not carried
  - x-generated differs across the merged source definitions and was not carried
  - x-generated-from differs across the merged source definitions and was not carried
  - x-generator differs across the merged source definitions and was not carried
  - x-provenance differs across the merged source definitions and was not carried
  - x-sources differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged Apps across 2 of this provider''s published API definitions: asobeast-com-openapi-generated.yml, asobeast-com-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: http://localhost:3000/api/backend
  description: Web origin proxy
- url: http://localhost:4000
  description: Direct API
tags:
- name: Apps
paths:
  /apps/{id}/audit/ai:
    post:
      operationId: post_apps_id_audit_ai
      tags:
      - Apps
      summary: Rate limits and quotas
      x-source: https://docs.asobeast.com/api-reference/rate-limits.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps/{id}/audit/ai/runs:
    post:
      operationId: post_apps_id_audit_ai_runs
      tags:
      - Apps
      summary: Rate limits and quotas
      x-source: https://docs.asobeast.com/api-reference/rate-limits.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps/{id}/keyword-field:
    put:
      operationId: put_apps_id_keyword_field
      tags:
      - Apps
      summary: Rate limits and quotas
      x-source: https://docs.asobeast.com/api-reference/rate-limits.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps/{id}/keyword-fields/{localization}:
    put:
      operationId: put_apps_id_keyword_fields_localization
      tags:
      - Apps
      summary: Rate limits and quotas
      x-source: https://docs.asobeast.com/api-reference/rate-limits.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: localization
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps/{id}/keywords:
    post:
      operationId: post_apps_id_keywords
      tags:
      - Apps
      summary: Rate limits and quotas
      x-source: https://docs.asobeast.com/api-reference/rate-limits.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps/{id}/keywords/bulk:
    post:
      operationId: post_apps_id_keywords_bulk
      tags:
      - Apps
      summary: Rate limits and quotas
      x-source: https://docs.asobeast.com/api-reference/rate-limits.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps/{id}/keywords/import:
    post:
      operationId: post_apps_id_keywords_import
      tags:
      - Apps
      summary: Rate limits and quotas
      x-source: https://docs.asobeast.com/api-reference/rate-limits.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps/{id}/keywords/import/preview:
    post:
      operationId: post_apps_id_keywords_import_preview
      tags:
      - Apps
      summary: Rate limits and quotas
      x-source: https://docs.asobeast.com/api-reference/rate-limits.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps/{id}/localizations/detect:
    post:
      operationId: post_apps_id_localizations_detect
      tags:
      - Apps
      summary: Rate limits and quotas
      x-source: https://docs.asobeast.com/api-reference/rate-limits.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps/{id}/metadata/assistant:
    post:
      operationId: post_apps_id_metadata_assistant
      tags:
      - Apps
      summary: Rate limits and quotas
      x-source: https://docs.asobeast.com/api-reference/rate-limits.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps/{id}/refresh:
    post:
      operationId: post_apps_id_refresh
      tags:
      - Apps
      summary: POST /apps/{id}/refresh returns 200 with a snapshot diff, synchronously
      description: Synchronously returns a snapshot diff after refreshing the app.
      x-source: https://docs.asobeast.com/api-reference/conventions.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps/{id}/run-daily:
    post:
      operationId: post_apps_id_run_daily
      tags:
      - Apps
      summary: POST /apps/{id}/run-daily returns 202, the daily work is queued
      description: The daily work is queued and a job reference is returned.
      x-source: https://docs.asobeast.com/api-reference/conventions.md
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
      security:
      - bearer: []
  /apps:
    post:
      operationId: AppsController_import
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportAppDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: object
        '422':
          description: The listing is not available on iPhone, so it cannot rank in the iPhone App Store search that asobeast reads
      summary: Import an app from a store URL
      tags:
      - Apps
      security:
      - personalApiToken: []
    get:
      operationId: AppsController_list
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
      summary: List imported apps
      tags:
      - Apps
      security:
      - personalApiToken: []
    servers:
    - url: http://localhost:3000/api/backend
      description: Web origin proxy
    - url: http://localhost:4000
      description: Direct API
  /apps/{id}:
    get:
      operationId: AppsController_detail
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: country
        required: false
        in: query
        description: The storefront whose listing to use instead of the home storefront.
        schema:
          pattern: ^[a-z]{2}$
          example: de
          type: string
      - name: localization
        required: false
        in: query
        description: A native localization of the storefront to read instead of its default listing. App Store only.
        schema:
          example: pl
          type: string
          enum:
          - ar
          - bn
          - ca
          - zh-Hans
          - zh-Hant
          - hr
          - cs
          - da
          - nl
          - en-AU
          - en-CA
          - en-GB
          - en-US
          - fi
          - fr
          - fr-CA
          - de
          - el
          - gu
          - he
          - hi
          - hu
          - id
          - it
          - ja
          - kn
          - ko
          - ms
          - ml
          - mr
          - 'no'
          - or
          - pl
          - pt-BR
          - pt-PT
          - pa
          - ro
          - ru
          - sk
          - sl
          - es-MX
          - es-ES
          - sv
          - ta
          - te
          - th
          - tr
          - uk
          - ur
          - vi
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      summary: Get an app with its latest snapshot and competitors
      tags:
      - Apps
      security:
      - personalApiToken: []
    delete:
      operationId: AppsController_remove
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '204':
          description: ''
      summary: Delete an app
      tags:
      - Apps
      security:
      - personalApiToken: []
    servers:
    - url: http://localhost:3000/api/backend
      description: Web origin proxy
    - url: http://localhost:4000
      description: Direct API
  /apps/{id}/listing-markets:
    get:
      operationId: AppsController_listingMarkets
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
      summary: List the markets an app has a captured listing in, with the newest rating of…
      tags:
      - Apps
      security:
      - personalApiToken: []
    servers:
    - url: http://localhost:3000/api/backend
      description: Web origin proxy
    - url: http://localhost:4000
      description: Direct API
  /apps/{id}/market-availability:
    get:
      operationId: AppsController_marketAvailability
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      - name: country
        required: true
        in: query
        schema:
          pattern: ^[a-z]{2}$
          example: de
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      summary: Probe whether an app is published in a storefront
      tags:
      - Apps
      security:
      - personalApiToken: []
    servers:
    - url: http://localhost:3000/api/backend
      description: Web origin proxy
    - url: http://localhost:4000
      description: Direct API
  /apps/{id}/link:
    post:
      operationId: AppsController_link
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkAppDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: object
      summary: Link an app to its counterpart on the other store
      tags:
      - Apps
      security:
      - personalApiToken: []
    delete:
      operationId: AppsController_unlink
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '204':
          description: ''
      summary: Unlink an app from its group
      tags:
      - Apps
      security:
      - personalApiToken: []
    servers:
    - url: http://localhost:3000/api/backend
      description: Web origin proxy
    - url: http://localhost:4000
      description: Direct API
  /apps/{id}/setup:
    get:
      description: The status, the skipped steps, whether countries were reviewed and the selected markets of the guided setup, kept on the account so every member and every device sees the same progress. An import starts it in progress; a primary app without a row answers not_started with its home market selected and updatedAt null. Answers 404 for a competitor or an unknown app.
      operationId: AppSetupController_read
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      summary: Read the guided setup of an app
      tags:
      - Apps
      security:
      - personalApiToken: []
    patch:
      description: Changes the fields given and keeps the rest; an empty body changes nothing. Skipped steps are stored in step order. completed stamps completedAt once and keeps that time when completed again; any other status clears it. Answers 400 for an unknown status or step, a repeated step or market, a market that is not a lowercase two letter code, a market that is not a storefront of the app's store unless the setup already holds it or it is the home market of the app, no market or more than 50, and 404 for a competitor or an unknown app.
      operationId: AppSetupController_update
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAppSetupDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      summary: Update the guided setup of an app
      tags:
      - Apps
      security:
      - personalApiToken: []
    servers:
    - url: http://localhost:3000/api/backend
      description: Web origin proxy
    - url: http://localhost:4000
      description: Direct API
  /apps/{id}/market-seed:
    post:
      description: Captures the listing of the app in one storefront now, extracts the title and subtitle phrases of that listing, of its native localizations and of every localization the app ships that the storefront reads besides its default, tracks up to 15 of them in that market as listing keywords within the keyword room of the plan, queues their first score and first position check, and asks for the listings of the competitors there. A phrase the app already tracks there, active or paused, is left as it is. Phrases the room cannot hold are counted in skipped, never refused. Answers status unavailable and writes nothing when the store has no listing of the app in that storefront. Spends one refresh allowance once the store is asked, so a refusal costs nothing. Answers 400 for the home market, for a competitor app and for a code that is not a storefront of the store the app is in, 404 for an unknown app and 429 when the refresh allowance is spent.
      operationId: MarketSeedController_seed
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarketSeedDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      summary: Seed a market with the keywords of its own listing
      tags:
      - Apps
      security:
      - personalApiToken: []
    servers:
    - url: http://localhost:3000/api/backend
      description: Web origin proxy
    - url: http://localhost:4000
      description: Direct API
  /apps/{id}/market-suggestions:
    get:
      description: 'Reads the languages the newest home listing declares and answers every App Store storefront that reads a localization in one of them, the home storefront left out, with the localization, its role in that storefront (default or additional), whether the app already tracks keywords there and the daily store requests the market costs: the listing reads of the app and its competitors, native localizations and the localizations the app ships there included, and the requests one tracked keyword adds. English is never suggested because every storefront reads it. A Google Play app and a competitor app answer an empty list. Answers 404 for an unknown app.'
      operationId: MarketSuggestionsController_suggest
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      summary: Suggest storefronts from the languages the home listing declares
      tags:
      - Apps
      security:
      - personalApiToken: []
    servers:
    - url: http://localhost:3000/api/backend
      description: Web origin proxy
    - url: http://localhost:4000
      description: Direct API
  /store/search:
    get:
      description: Lists up to 25 listings the store returns for a name in one storefront, with the store app id, title, developer, rating and icon, so an app or a competitor can be picked by name before it is imported or added by its id. Reaches the store while you wait, so it answers within the store deadline and spends one store lookup of the hourly allowance; a request the validation refuses spends nothing.
      operationId: StoreSearchController_search
      parameters:
      - name: store
        required: true
        in: query
        schema:
          type: string
          enum:
          - APP_STORE
          - GOOGLE_PLAY
      - name: country
        required: true
        in: query
        schema:
          pattern: ^[a-z]{2}$
          example: us
          type: string
      - name: q
        required: true
        in: query
        schema:
          maxLength: 80
          example: focus timer
          type: string
      - name: limit
        required: false
        in: query
        schema:
          minimum: 1
          maximum: 25
          default: 10
          allOf:
          - $ref: '#/components/schemas/Object'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
      summary: Search a store by app name
      tags:
      - Apps
      security:
      - personalApiToken: []
    servers:
    - url: http://localhost:3000/api/backend
      description: Web origin proxy
    - url: http://localhost:4000
      description: Direct API
components:
  schemas:
    ImportAppDto:
      type: object
      properties:
        url:
          type: string
          example: https://apps.apple.com/us/app/where-am-i-geoguess-map-quiz/id6657987209
        country:
          type: string
          example: de
          pattern: ^[a-z]{2}$
      required:
      - url
    Object:
      type: object
      properties: {}
    LinkAppDto:
      type: object
      properties:
        appId:
          type: string
          example: clx0abcd1234
      required:
      - appId
    UpdateAppSetupDto:
      type: object
      properties:
        status:
          enum:
          - not_started
          - in_progress
          - completed
          - dismissed
          type: string
          example: in_progress
        skipped:
          type: array
          uniqueItems: true
          items:
            type: string
            enum:
            - competitors
            - keywords
            - countries
          example:
          - competitors
        countriesReviewed:
          type: boolean
          example: true
        selectedMarkets:
          uniqueItems: true
          minItems: 1
          maxItems: 50
          example:
          - us
          - de
          type: array
          items:
            type: string
    MarketSeedDto:
      type: object
      properties:
        country:
          type: string
          example: de
          pattern: ^[a-z]{2}$
      required:
      - country
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
    personalApiToken:
      scheme: bearer
      bearerFormat: asob
      type: http
x-refined-from:
- asobeast-com-openapi-generated.yml
- asobeast-com-openapi.json