AppstoreSpy Events API

The Events API from AppstoreSpy — 1 operation(s) for events.

Operations 1

GET /play/liveops Get Google Play LiveOps events for an app #

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/appstorespy:appstorespy-events-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

appstorespy-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AppstoreSpy Events API
  description: '# Authentication


    The Appstorespy API uses API-KEY authentication.


    If you do not have an API Key token, you can get it on your account page https://appstorespy.com/account.


    An API Key is required to be sent as part of every request in request header.


    ```


    -H ''accept: application/json''


    -H ''API-KEY: ''


    ```


    # Agents and MCP


    AI agents can call the same endpoints as MCP tools at https://api.appstorespy.com/mcp, with the same API-KEY header and the same credits per call.


    https://api.appstorespy.com/agentic-access lists what each operation costs and whether it reads, queues or writes; https://api.appstorespy.com/skills/ holds one agent skill per capability; https://api.appstorespy.com/llms.txt links every agent document.


    # Fields


    Use the fields parameter to specify which fields should be returned.


    Example:


    ```


    Request: fields=name,developer_name,ipd,downloads,...


    Response: {name: ..., developer_name: ..., ipd: ..., downloads: ..., ...}


    ```


    Don`t use fields parameter if you need to get all fields.


    # Sort


    When you use search, you can add a sort parameter.


    ```


    Request: sort=ratingCount


    Response: [{name: app1, ratingCount: 4.2}, {name: app2, ratingCount: 4.4}, ...]


    ```


    If you need DESC sorting add "-" before sort parametr.


    ```


    Request: sort=-ratingCount


    Response: [{name: app2, ratingCount: 4.4}, {name: app1, ratingCount: 4.2}, ...]


    ```


    # County & Language params


    ...


    # Status codes / Error codes


    * 200 OK.


    * 202 Accepted - The app was not present in our databases and has been submitted for crawling. If the app is available anywhere, it will be available soon.


    * 204 No Content - No data for requested country.


    * 403 Forbidden - Your access token is not valid.


    * 429 Too Many Requests - Your request rate is over the limit.'
  termsOfService: https://appstorespy.com/agreement
  contact:
    name: AppstoreSpy Support
    url: https://appstorespy.com/support
    email: support@appstorespy.com
  license:
    name: Proprietary
    url: https://appstorespy.com/agreement
  version: 1.1.1
tags:
- name: Events
  description: 'LiveOps events Google Play surfaces on an app listing: sales, tournaments, updates and new content.'
  externalDocs:
    description: Quickstart examples
    url: https://github.com/romamo/appstorespy-api-docs
paths:
  /play/liveops:
    get:
      tags:
      - Events
      summary: Get Google Play LiveOps events for an app
      description: Returns the LiveOps events (sales, tournaments, updates, new content) Google Play shows for one app in one country. Responds 202 while a fresh crawl is in progress.
      operationId: get_events_play_liveops_get
      parameters:
      - required: true
        schema:
          type: string
          title: App
        name: app
        in: query
      - required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/AppCountries'
          default: US
        name: country
        in: query
      - required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/CacheTime'
          default: 7d
        name: freshness
        in: query
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Event'
                type: array
                title: Response 200 Get Events Play Liveops Get
              example:
              - id: '4829099650712359966'
                app: com.supercell.brawlstars
                store: play
                type: Event
                title: 'New Brawler: Willow!'
                text: Who lives in a dirty swamp under the pier? Willow, the mind controller Brawler, is now available! Check out her powerful mind moves!
                image: https://lh3.googleusercontent.com/szyrcQm36axbrcjkFKrOhBfQb0Z4JDvKI5lReOTKQTRj66Kh6fTa90ghG85FgBH7VJg=h300
                country: US
                state: ACTIVE
                crawled: '2023-04-22T05:43:31+00:00'
                date_from: '2023-04-10T08:00:00'
                date_to: '2023-05-01T08:00:00'
          headers:
            X-Cost:
              description: 'Credits this call cost, after any refund: 0 for a 422, a 429 or a 5xx response, except on job endpoints (the recrawl, liveops and suggestions operations), which are still billed; see https://github.com/romamo/as-rest/issues/99'
              schema:
                type: integer
            X-Remaining-Credits:
              description: Credits left on the account after this call
              schema:
                type: integer
            X-Receipt:
              description: Id of this call's billing receipt
              schema:
                type: string
        '202':
          description: Response in progress
          content:
            application/json: {}
          headers:
            X-Cost:
              description: 'Credits this call cost, after any refund: 0 for a 422, a 429 or a 5xx response, except on job endpoints (the recrawl, liveops and suggestions operations), which are still billed; see https://github.com/romamo/as-rest/issues/99'
              schema:
                type: integer
            X-Remaining-Credits:
              description: Credits left on the account after this call
              schema:
                type: integer
            X-Receipt:
              description: Id of this call's billing receipt
              schema:
                type: string
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          headers:
            X-Cost:
              description: 'Credits this call cost, after any refund: 0 for a 422, a 429 or a 5xx response, except on job endpoints (the recrawl, liveops and suggestions operations), which are still billed; see https://github.com/romamo/as-rest/issues/99'
              schema:
                type: integer
            X-Remaining-Credits:
              description: Credits left on the account after this call
              schema:
                type: integer
            X-Receipt:
              description: Id of this call's billing receipt
              schema:
                type: string
        '401':
          description: The `API-KEY` header is missing or holds an unknown key
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  code:
                    type: integer
                required:
                - message
                - code
              example:
                message: Wrong key
                code: 401
        '402':
          description: The credit balance does not cover this call's price; nothing was charged
          content:
            application/json:
              schema:
                type: string
              example: Insufficient credits in your balance
          headers:
            X-Cost:
              description: Price of the call that did not fit; nothing was charged
              schema:
                type: integer
            X-Remaining-Credits:
              description: Credits on the account when the call was refused
              schema:
                type: integer
      security:
      - APIKeyHeader: []
      x-cost-credits: 5
components:
  schemas:
    AppCountries:
      type: string
      enum:
      - US
      - CA
      - AT
      - BE
      - CY
      - CZ
      - DK
      - FI
      - FR
      - DE
      - GR
      - HU
      - IE
      - IT
      - NL
      - 'NO'
      - PL
      - PT
      - RU
      - ES
      - SE
      - CH
      - TR
      - UA
      - GB
      - EG
      - IN
      - IL
      - MA
      - NG
      - SA
      - ZA
      - AE
      - AU
      - HK
      - ID
      - JP
      - KZ
      - KR
      - MY
      - NZ
      - PK
      - PH
      - SG
      - TW
      - TH
      - VN
      - AR
      - BR
      - MX
      title: AppCountries
      description: An enumeration.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Event:
      properties:
        id:
          type: string
          title: Id
        app:
          type: string
          title: App
        store:
          type: string
          title: Store
        type:
          type: string
          title: Type
        title:
          type: string
          title: Title
        text:
          type: string
          title: Text
        image:
          type: string
          title: Image
        country:
          type: string
          title: Country
        state:
          type: string
          title: State
        crawled:
          type: string
          format: date-time
          title: Crawled
        date_from:
          type: string
          format: date-time
          title: Date From
        date_to:
          type: string
          format: date-time
          title: Date To
        video:
          type: string
          title: Video
      type: object
      required:
      - id
      - app
      - store
      - type
      - title
      - text
      - image
      - country
      - state
      - crawled
      - date_from
      title: Event
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    CacheTime:
      type: string
      enum:
      - 1d
      - 7d
      - 30d
      title: CacheTime
      description: An enumeration.
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: API-KEY
externalDocs:
  description: Guides, examples, a Postman collection and the Spectral ruleset
  url: https://github.com/romamo/appstorespy-api-docs
x-provenance:
  method: harvested
  publisher: AppstoreSpy
  source: https://api.appstorespy.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)