AppLovin MAX Revenue Reporting API

The MAX Revenue Reporting API returns aggregated MAX mediation revenue and user-level publisher data. Publishers query the API with a Report Key, a date range (up to a 45-day window), and a list of columns to return (day, hour, application, ad format, country, network, impressions, eCPM, revenue, etc.). The API supports filtering, sorting, and pagination, and returns results as either JSON or CSV. The endpoint is commonly integrated with mobile measurement partners (MMPs) and BI pipelines for monetization analytics.

OpenAPI Specification

applovin-max-revenue-reporting.yaml Raw ↑
openapi: 3.0.3
info:
  title: AppLovin MAX Revenue Reporting API
  version: v1
  x-generated-from: documentation
  x-source-url: https://support.axon.ai/en/max/reporting-apis/revenue-reporting-api
  x-last-validated: '2026-05-05'
  description: |
    REST endpoint that returns aggregated MAX mediation revenue and user-level
    publisher data. Authenticate with your Report Key, request a list of
    columns, and constrain the result with a date range (max 45-day window).
    Supports JSON and CSV output, plus filter / sort / pagination.
  contact:
    name: AppLovin Support
    url: https://support.axon.ai
servers:
  - url: https://r.applovin.com
    description: AppLovin reporting host
security:
  - apiKeyQuery: []
tags:
  - name: Revenue Reporting
    description: Mediation revenue and user-level reporting
paths:
  /maxReport:
    get:
      operationId: getMaxRevenueReport
      summary: Get MAX Revenue Report
      description: |
        Retrieve aggregated MAX revenue and user-level metrics for a publisher
        account. Specify the columns you want returned plus a date range
        (start, end) within a rolling 45-day window. Optional filters, sort,
        limit, and offset support customised reporting and pagination.
      tags:
        - Revenue Reporting
      parameters:
        - $ref: '#/components/parameters/ApiKey'
        - $ref: '#/components/parameters/Columns'
        - $ref: '#/components/parameters/Start'
        - $ref: '#/components/parameters/End'
        - $ref: '#/components/parameters/Format'
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Offset'
        - $ref: '#/components/parameters/NotZero'
      responses:
        '200':
          description: Report results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevenueReportResponse'
              example:
                code: 200
                count: 2
                results:
                  - day: '2019-03-25'
                    hour: '00:00'
                    application: My Test App
                    impressions: '987654'
                  - day: '2019-03-26'
                    hour: '00:00'
                    application: My Test App
                    impressions: '876543'
            text/csv:
              schema:
                type: string
                description: CSV-encoded report rows with header row
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    apiKeyQuery:
      type: apiKey
      in: query
      name: api_key
      description: Report Key issued by the AppLovin / Axon dashboard.
  parameters:
    ApiKey:
      name: api_key
      in: query
      required: true
      description: Report Key (issued under Account > Keys in the Axon dashboard).
      schema:
        type: string
        example: Hyfi8MkctXXXXXXXXXXXXXXXXXXXXXXX
    Columns:
      name: columns
      in: query
      required: true
      description: Comma-separated list of report columns to return.
      schema:
        type: string
        example: day,application,ad_format,country,impressions,ecpm,revenue
    Start:
      name: start
      in: query
      required: true
      description: Inclusive start date in YYYY-MM-DD. Must fall within a 45-day request window with end.
      schema:
        type: string
        format: date
        example: '2019-03-25'
    End:
      name: end
      in: query
      required: true
      description: Inclusive end date in YYYY-MM-DD. Must fall within a 45-day request window with start.
      schema:
        type: string
        format: date
        example: '2019-03-29'
    Format:
      name: format
      in: query
      required: false
      description: Response format. Defaults to JSON.
      schema:
        type: string
        enum:
          - json
          - csv
        default: json
    Limit:
      name: limit
      in: query
      required: false
      description: Maximum rows to return.
      schema:
        type: integer
        minimum: 1
    Offset:
      name: offset
      in: query
      required: false
      description: Number of rows to skip for pagination.
      schema:
        type: integer
        minimum: 0
    NotZero:
      name: not_zero
      in: query
      required: false
      description: Set to 1 to exclude rows where all metrics are zero.
      schema:
        type: integer
        enum:
          - 0
          - 1
  schemas:
    RevenueReportResponse:
      type: object
      description: |
        Top-level wrapper around revenue report results.
        x-schema-source: documentation
      properties:
        code:
          type: integer
          description: HTTP status code echoed in the body (200 indicates success).
          example: 200
        count:
          type: integer
          description: Number of rows in `results`.
          example: 2
        results:
          type: array
          description: Result rows whose keys are the requested columns.
          items:
            $ref: '#/components/schemas/RevenueReportRow'
      required:
        - code
        - count
        - results
    RevenueReportRow:
      type: object
      description: |
        A single report row. The exact set of keys depends on the requested
        `columns` parameter. Common columns are listed below.
      additionalProperties: true
      properties:
        day:
          type: string
          format: date
          description: Reporting day in YYYY-MM-DD.
        hour:
          type: string
          description: Reporting hour bucket in HH:00 format (UTC).
        application:
          type: string
          description: Display name of the publisher application.
        package_name:
          type: string
          description: Bundle identifier (iOS) or package name (Android).
        ad_format:
          type: string
          description: Ad format (BANNER, INTER, REWARD, MREC, NATIVE).
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code.
        network:
          type: string
          description: Mediated ad network name.
        impressions:
          type: string
          description: Impression count as a string.
        clicks:
          type: string
          description: Click count as a string.
        ctr:
          type: string
          description: Click-through rate.
        ecpm:
          type: string
          description: Effective CPM in USD.
        revenue:
          type: string
          description: Revenue in USD.
    Error:
      type: object
      properties:
        code:
          type: integer
          description: HTTP status code.
        message:
          type: string
          description: Human-readable error description.
      required:
        - code
  responses:
    BadRequest:
      description: Malformed or invalid request parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 400
            message: Invalid date range
    Unauthorized:
      description: Missing or invalid api_key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 401
            message: Unauthorized