> ## 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.

# Read a top chart for one day

> One day of a free, paid or grossing chart of one store, country, category and device: every row with its position, its position on the comparison day and the movement between them, the climbers, fallers, new entries and exits, the days a capture exists for, whether this workspace follows the chart, and which rows are its own apps or competitors. Reads what the daily run or a capture stored; never reaches the store.



## OpenAPI

````yaml /api-reference/openapi.json get /charts
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.10.0
  contact: {}
servers:
  - url: http://localhost:3000/api/backend
    description: Web origin proxy
  - url: http://localhost:4000
    description: Direct API
security:
  - personalApiToken: []
tags: []
paths:
  /charts:
    get:
      tags:
        - charts
      summary: Read a top chart for one day
      description: >-
        One day of a free, paid or grossing chart of one store, country,
        category and device: every row with its position, its position on the
        comparison day and the movement between them, the climbers, fallers, new
        entries and exits, the days a capture exists for, whether this workspace
        follows the chart, and which rows are its own apps or competitors. Reads
        what the daily run or a capture stored; never reaches the store.
      operationId: ChartsController_page
      parameters:
        - name: store
          required: true
          in: query
          schema:
            enum:
              - APP_STORE
              - GOOGLE_PLAY
            type: string
        - name: country
          required: true
          in: query
          schema:
            type: string
            example: us
            pattern: ^[a-z]{2}$
        - name: collection
          required: true
          in: query
          schema:
            enum:
              - free
              - paid
              - grossing
            type: string
        - name: genre
          required: true
          in: query
          description: A chart genre of the store, or overall
          schema:
            maxLength: 32
            example: '6014'
            type: string
        - name: device
          required: true
          in: query
          schema:
            enum:
              - iphone
              - android
            type: string
        - name: date
          required: false
          in: query
          description: The UTC day to read. Omitted reads the newest capture.
          schema:
            pattern: ^\d{4}-\d{2}-\d{2}$
            example: '2026-10-13'
            type: string
        - name: compare
          required: false
          in: query
          schema:
            default: 1d
            type: string
            enum:
              - 1d
              - 7d
              - 30d
        - name: dates
          required: false
          in: query
          description: How many captured days to list, newest first.
          schema:
            minimum: 1
            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.