> ## Documentation Index
> Fetch the complete documentation index at: https://docs.asobeast.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Store impressions, page views, downloads and conversion of an app by market and window

> Reads the rows the connected store console reported: a zero filled daily series of the requested days with the total and the search share, and the 7, 14 and 28 day windows of complete days against the period before. A day is complete once it is three days old and the store has delivered it. Answers connected false and empty series for a competitor, a store without an active connection, or an app the connected key does not report.



## OpenAPI

````yaml /api-reference/openapi.json get /apps/{id}/funnel
openapi: 3.0.0
info:
  title: asobeast API
  description: >-
    Self hosted ASO toolkit API.


    A metered instance carries RateLimit-Limit, RateLimit-Remaining and
    RateLimit-Reset on every response, for the tightest limit the request
    touched. A self hosted instance has no request rate limits and sends no such
    header. Limits are per workspace, so minting more tokens does not buy more
    capacity, and they are sized per plan across three classes: read for stored
    data, write for configuration changes and store for the endpoints that reach
    the App Store or Google Play.


    A 429 carries Retry-After and a rateLimit object naming the window that
    closed, or an aiAllowance object when the workspace has spent the AI calls
    its plan includes this month. A 403 with a quota object means a plan
    capacity limit such as apps or tracked keyword markets, which is a different
    problem from a rate limit. A 402 with an entitlement object means the
    workspace needs a plan.


    Positions are 1-based and null means checked but not found within the
    captured depth, never zero. Daily granularity uses UTC dates.
  version: 1.13.0
  contact: {}
servers:
  - url: http://localhost:3000/api/backend
    description: Web origin proxy
  - url: http://localhost:4000
    description: Direct API
security:
  - personalApiToken: []
tags: []
paths:
  /apps/{id}/funnel:
    get:
      tags:
        - store-connect
      summary: >-
        Store impressions, page views, downloads and conversion of an app by
        market and window
      description: >-
        Reads the rows the connected store console reported: a zero filled daily
        series of the requested days with the total and the search share, and
        the 7, 14 and 28 day windows of complete days against the period before.
        A day is complete once it is three days old and the store has delivered
        it. Answers connected false and empty series for a competitor, a store
        without an active connection, or an app the connected key does not
        report.
      operationId: StoreFunnelController_report
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: country
          required: false
          in: query
          description: >-
            Count only the storefront of this market. Omitted means every market
            the console reports.
          schema:
            type: string
            example: de
            pattern: ^[a-z]{2}$
        - name: days
          required: false
          in: query
          description: Days of daily points, ending today
          schema:
            minimum: 7
            maximum: 365
            default: 90
            type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
components:
  securitySchemes:
    personalApiToken:
      scheme: bearer
      bearerFormat: asob
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.