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

# OnPage API Waterfall

> This endpoint is designed to provide you with the page speed insights.



## OpenAPI

````yaml openapi/dataforseo.json POST /dataforseo/on_page/waterfall
openapi: 3.0.3
info:
  title: DataForSEO API
  version: 1.0.0
  description: DataForSEO API endpoints exposed through the AIsa unified gateway.
servers:
  - url: https://api.aisa.one/apis/v1
security:
  - BearerAuth: []
paths:
  /dataforseo/on_page/waterfall:
    post:
      summary: OnPage API Waterfall
      description: >-
        This endpoint is designed to provide you with the page speed insights.
        Using this function you can get detailed information about the page
        loading time, time to secure connection, the time it takes to load page
        resources, and so on.
      operationId: post_dataforseo_on_page_waterfall
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: >-
                    ID of the task required field you can get this ID in the
                    response of the Task POST endpoint example:
                    “07131248-1535-0216-1000-17384017ad04”
                url:
                  type: string
                  description: >-
                    page URL required field specify the pages you want to
                    receive timing for
                tag:
                  type: string
                  description: >-
                    user-defined task identifier optional field the character
                    limit is 255 you can use this parameter to identify the task
                    and match it with the result you will find the specified tag
                    value in the data object of the response
              required:
                - id
                - url
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  version:
                    type: string
                    description: the current version of the API
                  status_code:
                    type: integer
                    description: >-
                      general status code you can find the full list of the
                      response codes here Note: we strongly recommend designing
                      a necessary system for handling related exceptional or
                      error conditions
                  status_message:
                    type: string
                    description: >-
                      general informational message you can find the full list
                      of general informational messages here
                  time:
                    type: string
                    description: execution time, seconds
                  cost:
                    type: number
                    description: total tasks cost, USD
                  tasks_count:
                    type: integer
                    description: the number of tasks in the tasks array
                  tasks_error:
                    type: integer
                    description: >-
                      the number of tasks in the tasks array returned with an
                      error
                  tasks:
                    type: array
                    items:
                      type: string
                    description: array of tasks
                  tasks.id:
                    type: string
                    description: >-
                      task identifier unique task identifier in our system in
                      the UUID format
                  tasks.status_code:
                    type: integer
                    description: >-
                      status code of the task generated by DataForSEO; can be
                      within the following range: 10000-60000 you can find the
                      full list of the response codes here
                  tasks.status_message:
                    type: string
                    description: >-
                      informational message of the task you can find the full
                      list of general informational messages here
                  tasks.time:
                    type: string
                    description: execution time, seconds
                  tasks.cost:
                    type: number
                    description: cost of the task, USD
                  tasks.result_count:
                    type: integer
                    description: number of elements in the result array
                  tasks.path:
                    type: array
                    items:
                      type: string
                    description: URL path
                  tasks.data:
                    type: object
                    description: >-
                      contains the same parameters that you specified in the
                      POST request
                  tasks.result:
                    type: array
                    items:
                      type: string
                    description: array of results
                  tasks.result.crawl_progress:
                    type: string
                    description: >-
                      status of the crawling session possible values:
                      in_progress, finished
                  tasks.result.crawl_status:
                    type: object
                    description: details of the crawling session
                  tasks.result.crawl_status.max_crawl_pages:
                    type: integer
                    description: >-
                      maximum number of pages to crawl indicates the
                      max_crawl_pages limit you specified when setting a task
                  tasks.result.crawl_status.pages_in_queue:
                    type: integer
                    description: number of pages that are currently in the crawling queue
                  tasks.result.crawl_status.pages_crawled:
                    type: integer
                    description: number of crawled pages
                  tasks.result.items_count:
                    type: integer
                    description: number of items in the results array
                  tasks.result.items:
                    type: array
                    items:
                      type: string
                    description: items array
                  tasks.result.items.page_url:
                    type: string
                    description: URL of the page
                  tasks.result.items.time_to_interactive:
                    type: integer
                    description: >-
                      Time To Interactive (TTI) metric the time it takes until
                      the user can interact with a page (in milliseconds)
                  tasks.result.items.dom_complete:
                    type: integer
                    description: >-
                      time to load resources the time it takes until the page
                      and all of its subresources are downloaded (in
                      milliseconds)
                  tasks.result.items.connection_time:
                    type: integer
                    description: >-
                      time to connect to a server the time it takes until the
                      connection with a server is established (in milliseconds)
                  tasks.result.items.time_to_secure_connection:
                    type: integer
                    description: >-
                      time to establish a secure connection the time it takes
                      until the secure connection with a server is established
                      (in milliseconds)
                  tasks.result.items.request_sent_time:
                    type: integer
                    description: >-
                      time to send a request to a server the time it takes until
                      the request to a server is sent (in milliseconds)
                  tasks.result.items.waiting_time:
                    type: integer
                    description: time to first byte (TTFB) in milliseconds
                  tasks.result.items.download_time:
                    type: integer
                    description: >-
                      time it takes for a browser to receive a response (in
                      milliseconds)
                  tasks.result.items.duration_time:
                    type: integer
                    description: >-
                      total time it takes until a browser receives a complete
                      response from a server (in milliseconds)
                  tasks.result.items.fetch_start:
                    type: integer
                    description: >-
                      time to start downloading the HTML resource the amount of
                      time the browser needs to start downloading a page
                  tasks.result.items.fetch_end:
                    type: integer
                    description: >-
                      time to complete downloading the HTML resource the amount
                      of time the browser needs to complete downloading a page
                  tasks.result.items.resources:
                    type: array
                    items:
                      type: string
                    description: >-
                      resource-specific timing contains separate arrays with
                      timing for each resource found on the page
                  tasks.result.items.resources.resource_type:
                    type: string
                    description: type of the returned resource
                  tasks.result.items.resources.url:
                    type: string
                    description: resource URL
                  tasks.result.items.resources.initiator:
                    type: string
                    description: resource initiator
                  tasks.result.items.resources.duration_time:
                    type: integer
                    description: >-
                      total time it takes until a browser receives a complete
                      response from a server (in milliseconds)
                  tasks.result.items.resources.fetch_start:
                    type: integer
                    description: >-
                      time to start downloading the resource the amount of time
                      the browser needs to start downloading a resource
                  tasks.result.items.resources.fetch_end:
                    type: integer
                    description: >-
                      time to complete downloading the resource the amount of
                      time the browser needs to complete downloading a resource
                  tasks.result.items.resources.location:
                    type: object
                    description: >-
                      location of the resource in the document parameters
                      defining the location of the specific resource within the
                      document’s HTML
                  tasks.result.items.resources.location.line:
                    type: integer
                    description: >-
                      line number the number of the line on which the resource
                      is located
                  tasks.result.items.resources.location.offset_left:
                    type: integer
                    description: >-
                      position in line the number of line characters before the
                      resource; sometimes referred to as column Note: counts
                      from 1, i.e. if the resource doesn’t have any characters
                      to the left, the value will be 1
                  tasks.result.items.resources.location.offset_top:
                    type: integer
                    description: >-
                      position in the document the total number of characters
                      between the resource and the top of HTML
                  tasks.result.items.resources.is_render_blocking:
                    type: boolean
                    description: indicates whether the resource blocks rendering
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '429':
          description: Rate limit exceeded
        '500':
          description: Internal server error
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````