Skip to main content
POST
https://api.aisa.one/apis/v1
/
dataforseo
/
on_page
/
waterfall
OnPage API Waterfall
curl --request POST \
  --url https://api.aisa.one/apis/v1/dataforseo/on_page/waterfall \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "<string>",
  "url": "<string>",
  "tag": "<string>"
}
'
{
  "version": "<string>",
  "status_code": 123,
  "status_message": "<string>",
  "time": "<string>",
  "cost": 123,
  "tasks_count": 123,
  "tasks_error": 123,
  "tasks": [
    "<string>"
  ],
  "tasks.id": "<string>",
  "tasks.status_code": 123,
  "tasks.status_message": "<string>",
  "tasks.time": "<string>",
  "tasks.cost": 123,
  "tasks.result_count": 123,
  "tasks.path": [
    "<string>"
  ],
  "tasks.data": {},
  "tasks.result": [
    "<string>"
  ],
  "tasks.result.crawl_progress": "<string>",
  "tasks.result.crawl_status": {},
  "tasks.result.crawl_status.max_crawl_pages": 123,
  "tasks.result.crawl_status.pages_in_queue": 123,
  "tasks.result.crawl_status.pages_crawled": 123,
  "tasks.result.items_count": 123,
  "tasks.result.items": [
    "<string>"
  ],
  "tasks.result.items.page_url": "<string>",
  "tasks.result.items.time_to_interactive": 123,
  "tasks.result.items.dom_complete": 123,
  "tasks.result.items.connection_time": 123,
  "tasks.result.items.time_to_secure_connection": 123,
  "tasks.result.items.request_sent_time": 123,
  "tasks.result.items.waiting_time": 123,
  "tasks.result.items.download_time": 123,
  "tasks.result.items.duration_time": 123,
  "tasks.result.items.fetch_start": 123,
  "tasks.result.items.fetch_end": 123,
  "tasks.result.items.resources": [
    "<string>"
  ],
  "tasks.result.items.resources.resource_type": "<string>",
  "tasks.result.items.resources.url": "<string>",
  "tasks.result.items.resources.initiator": "<string>",
  "tasks.result.items.resources.duration_time": 123,
  "tasks.result.items.resources.fetch_start": 123,
  "tasks.result.items.resources.fetch_end": 123,
  "tasks.result.items.resources.location": {},
  "tasks.result.items.resources.location.line": 123,
  "tasks.result.items.resources.location.offset_left": 123,
  "tasks.result.items.resources.location.offset_top": 123,
  "tasks.result.items.resources.is_render_blocking": true
}

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.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
id
string
required

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
string
required

page URL required field specify the pages you want to receive timing for

tag
string

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

Response

Successful response

version
string

the current version of the API

status_code
integer

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
string

general informational message you can find the full list of general informational messages here

time
string

execution time, seconds

cost
number

total tasks cost, USD

tasks_count
integer

the number of tasks in the tasks array

tasks_error
integer

the number of tasks in the tasks array returned with an error

tasks
string[]

array of tasks

tasks.id
string

task identifier unique task identifier in our system in the UUID format

tasks.status_code
integer

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
string

informational message of the task you can find the full list of general informational messages here

tasks.time
string

execution time, seconds

tasks.cost
number

cost of the task, USD

tasks.result_count
integer

number of elements in the result array

tasks.path
string[]

URL path

tasks.data
object

contains the same parameters that you specified in the POST request

tasks.result
string[]

array of results

tasks.result.crawl_progress
string

status of the crawling session possible values: in_progress, finished

tasks.result.crawl_status
object

details of the crawling session

tasks.result.crawl_status.max_crawl_pages
integer

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
integer

number of pages that are currently in the crawling queue

tasks.result.crawl_status.pages_crawled
integer

number of crawled pages

tasks.result.items_count
integer

number of items in the results array

tasks.result.items
string[]

items array

tasks.result.items.page_url
string

URL of the page

tasks.result.items.time_to_interactive
integer

Time To Interactive (TTI) metric the time it takes until the user can interact with a page (in milliseconds)

tasks.result.items.dom_complete
integer

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
integer

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
integer

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
integer

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
integer

time to first byte (TTFB) in milliseconds

tasks.result.items.download_time
integer

time it takes for a browser to receive a response (in milliseconds)

tasks.result.items.duration_time
integer

total time it takes until a browser receives a complete response from a server (in milliseconds)

tasks.result.items.fetch_start
integer

time to start downloading the HTML resource the amount of time the browser needs to start downloading a page

tasks.result.items.fetch_end
integer

time to complete downloading the HTML resource the amount of time the browser needs to complete downloading a page

tasks.result.items.resources
string[]

resource-specific timing contains separate arrays with timing for each resource found on the page

tasks.result.items.resources.resource_type
string

type of the returned resource

tasks.result.items.resources.url
string

resource URL

tasks.result.items.resources.initiator
string

resource initiator

tasks.result.items.resources.duration_time
integer

total time it takes until a browser receives a complete response from a server (in milliseconds)

tasks.result.items.resources.fetch_start
integer

time to start downloading the resource the amount of time the browser needs to start downloading a resource

tasks.result.items.resources.fetch_end
integer

time to complete downloading the resource the amount of time the browser needs to complete downloading a resource

tasks.result.items.resources.location
object

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
integer

line number the number of the line on which the resource is located

tasks.result.items.resources.location.offset_left
integer

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
integer

position in the document the total number of characters between the resource and the top of HTML

tasks.result.items.resources.is_render_blocking
boolean

indicates whether the resource blocks rendering