Skip to main content
POST
https://api.aisa.one/apis/v1
/
dataforseo
/
on_page
/
resources
OnPage API Resources
curl --request POST \
  --url https://api.aisa.one/apis/v1/dataforseo/on_page/resources \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "<string>",
  "url": "<string>",
  "limit": 123,
  "offset": 123,
  "filters": [
    "<string>"
  ],
  "relevant_pages_filters": [
    "<string>"
  ],
  "order_by": [
    "<string>"
  ],
  "search_after_token": "<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.total_items_count": 123,
  "tasks.result.items_count": 123,
  "tasks.result.items": [
    "<string>"
  ],
  "tasks.result.items.resource_type": "<string>",
  "tasks.result.items.meta": {},
  "tasks.result.items.meta.alternative_text": "<string>",
  "tasks.result.items.meta.title": "<string>",
  "tasks.result.items.meta.original_width": 123,
  "tasks.result.items.meta.original_height": 123,
  "tasks.result.items.meta.width": 123,
  "tasks.result.items.meta.height": 123,
  "tasks.result.items.status_code": 123,
  "tasks.result.items.location": "<string>",
  "tasks.result.items.url": "<string>",
  "tasks.result.items.size": 123,
  "tasks.result.items.encoded_size": 123,
  "tasks.result.items.total_transfer_size": 123,
  "tasks.result.items.fetch_time": "<string>",
  "tasks.result.items.fetch_timing": {},
  "tasks.result.items.fetch_timing.duration_time": 123,
  "tasks.result.items.fetch_timing.fetch_start": 123,
  "tasks.result.items.fetch_timing.fetch_end": 123,
  "tasks.result.items.cache_control": {},
  "tasks.result.items.cache_control.cachable": true,
  "tasks.result.items.cache_control.ttl": 123,
  "tasks.result.items.checks": {},
  "tasks.result.items.checks.no_content_encoding": true,
  "tasks.result.items.checks.high_loading_time": true,
  "tasks.result.items.checks.is_redirect": true,
  "tasks.result.items.checks.is_4xx_code": true,
  "tasks.result.items.checks.is_5xx_code": true,
  "tasks.result.items.checks.is_broken": true,
  "tasks.result.items.checks.is_www": true,
  "tasks.result.items.checks.is_https": true,
  "tasks.result.items.checks.is_http": true,
  "tasks.result.items.checks.original_size_displayed": true,
  "tasks.result.items.checks.is_minified": true,
  "tasks.result.items.checks.has_redirect": true,
  "tasks.result.items.checks.has_subrequests": true,
  "tasks.result.items.checks.from_sitemap": true,
  "tasks.result.resource_errors": {},
  "tasks.result.resource_errors.errors": [
    "<string>"
  ],
  "tasks.result.resource_errors.errors.line": 123,
  "tasks.result.resource_errors.errors.column": 123,
  "tasks.result.resource_errors.errors.message": "<string>",
  "tasks.result.resource_errors.errors.status_code": 123,
  "tasks.result.resource_errors.warnings": [
    "<string>"
  ],
  "tasks.result.resource_errors.warnings.line": 123,
  "tasks.result.resource_errors.warnings.column": 123,
  "tasks.result.resource_errors.warnings.message": "<string>",
  "tasks.result.resource_errors.warnings.status_code": 123,
  "tasks.result.resource_errors.content_encoding": "<string>",
  "tasks.result.resource_errors.media_type": "<string>",
  "tasks.result.resource_errors.accept_type": "<string>",
  "tasks.result.resource_errors.server": "<string>",
  "tasks.result.resource_errors.last_modified": {},
  "tasks.result.resource_errors.last_modified.header": "<string>",
  "tasks.result.resource_errors.last_modified.sitemap": "<string>",
  "tasks.result.resource_errors.last_modified.meta_tag": "<string>"
}

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

page URL optional field specify this field if you want to get the resources for a specific page note that to obtain resource’s meta from a particular URL, you should specify the URL in this field; if you do not indicate a url when setting a task, resource’s meta in the results will be returned based on the data from the page where our crawler first saw the resource

limit
integer

the maximum number of returned resources optional field default value: 100 maximum value: 1000

offset
integer

offset in the results array of returned resources optional field default value: 0 if you specify the 10 value, the first ten resources in the results array will be omitted and the data will be provided for the successive resources

filters
string[]

array of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters example: ["resource_type","=","stylesheet"] [["resource_type","=","image"], "and",["checks.is_https","=",false]] [["fetch_timing.duration_time",">",1],"and",[["total_transfer_size",">",100],"or",["checks.high_loading_time","=",true]]] The full list of possible filters is available by this link.

relevant_pages_filters
string[]

filter the resources by relevant pages optional field you can use this field to obtain resources from pages matching to the defined parameters you can apply the same filters here as available for the pages endpoint you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, like, not_like you can use the % operator with like and not_like to match any string of zero or more characters example: ["checks.no_image_title","=",true]

order_by
string[]

results sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: ["size,desc"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: ["size,desc","fetch_timing.fetch_end,desc"]

search_after_token
string

token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 20,000 results in a single request; by specifying the unique search_after_token value from the response array, you will get the subsequent results of the initial task; search_after_token values are unique for each subsequent task ; Note: if the search_after_token is specified in the request, all other parameters should be identical to the previous request

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.total_items_count
integer

total number of relevant items crawled

tasks.result.items_count
integer

number of items in the results array

tasks.result.items
string[]

items array

tasks.result.items.resource_type
string

type of the returned resource possible types: script, image, stylesheet, broken

tasks.result.items.meta
object

resource properties the value depends on the resource_type note that if you do not indicate a url when setting a task, resource’s meta is returned based on the data from the page where our crawler first saw the resource; to obtain resource’s meta from a particular url, specify that URL when setting a task

tasks.result.items.meta.alternative_text
string

content of the image alt attribute the value depends on the resource_type

tasks.result.items.meta.title
string

title

tasks.result.items.meta.original_width
integer

original image width in px

tasks.result.items.meta.original_height
integer

original image height in px

tasks.result.items.meta.width
integer

image width in px

tasks.result.items.meta.height
integer

image height in px

tasks.result.items.status_code
integer

status code of the page where a given resource is located

tasks.result.items.location
string

location header indicates the URL to redirect a page to

tasks.result.items.url
string

resource URL

tasks.result.items.size
integer

resource size indicates the size of a given resource measured in bytes

tasks.result.items.encoded_size
integer

resource size after encoding indicates the size of the encoded resource measured in bytes

tasks.result.items.total_transfer_size
integer

compressed resource size indicates the compressed size of a given resource in bytes

tasks.result.items.fetch_time
string

date and time when a resource was fetched in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2021-02-17 13:54:15 +00:00

tasks.result.items.fetch_timing
object

resource fething time range

tasks.result.items.fetch_timing.duration_time
integer

indicates how many milliseconds it took to fetch a resource

tasks.result.items.fetch_timing.fetch_start
integer

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

tasks.result.items.fetch_timing.fetch_end
integer

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

tasks.result.items.cache_control
object

instructions for caching

tasks.result.items.cache_control.cachable
boolean

indicates whether the resource is cacheable

tasks.result.items.cache_control.ttl
integer

time to live the amount of time it takes for the browser to cache a resource; measured in milliseconds

tasks.result.items.checks
object

resource check-ups contents of the array depend on the resource_type

tasks.result.items.checks.no_content_encoding
boolean

resource with no content encoding indicates whether a page has no compression algorithm of the content; available for items with the following resource_type: script, image, stylesheet, broken

tasks.result.items.checks.high_loading_time
boolean

resource with high loading time indicates whether a resource loading time exceeds 3 seconds; available for items with the following resource_type: script, image, stylesheet, broken

tasks.result.items.checks.is_redirect
boolean

resource with redirects indicates whether a page with this resource has 3XX redirects to other pages; available for items with the following resource_type: script, image, stylesheet, broken

tasks.result.items.checks.is_4xx_code
boolean

resource with with 4xx status code indicates whether a page with this resource has 4XX response code

tasks.result.items.checks.is_5xx_code
boolean

resource with 5xx status code indicates whethera page with this resource has 5XX response code

tasks.result.items.checks.is_broken
boolean

broken resource indicates whether a page with this resource returns 4xx, 5xx response codes or has broken elements inside the resource; available for items with the following resource_type: script, image, stylesheet, broken

tasks.result.items.checks.is_www
boolean

page with www indicates whether a page with this resource is on a www subdomain; available for items with the following resource_type: script, image, stylesheet, broken

tasks.result.items.checks.is_https
boolean

page with the https protocol available for items with the following resource_type: script, image, stylesheet, broken

tasks.result.items.checks.is_http
boolean

page with the http protocol available for items with the following resource_type: script, image, stylesheet, broken

tasks.result.items.checks.original_size_displayed
boolean

image desplayes in its original size indicates whether the image is displayed in its original size; available for items with the following resource_type: image

tasks.result.items.checks.is_minified
boolean

resource is minified indicates whether the content of a stylesheet or script is minified; available for items with the following resource_type: stylesheet, script

tasks.result.items.checks.has_redirect
boolean

resource has a redirect available for items with the following resource_type: script, image; if the resource_type is image, this field will indicate whether other pages and/or resources have redirects pointing at the image; if the resource_type is script, this field will indicate whether the script contains a redirect

tasks.result.items.checks.has_subrequests
boolean

resource contains subrequests indicates whether the content of a stylesheet or script contain additional requests; available for items with the following resource_type: stylesheet, script

tasks.result.items.checks.from_sitemap
boolean

resource was found on website’s sitemap if true, the resource was found on the sitemap of the website

tasks.result.resource_errors
object

resource errors and warnings

tasks.result.resource_errors.errors
string[]

resource errors

tasks.result.resource_errors.errors.line
integer

line where the error was found

tasks.result.resource_errors.errors.column
integer

column where the error was found

tasks.result.resource_errors.errors.message
string

text message of the error the full list of possible HTML errors can be found here

tasks.result.resource_errors.errors.status_code
integer

status code of the error possible values: 0 — Unidentified Error; 501 — Html Parse Error; 1501 — JS Parse Error; 2501 — CSS Parse Error; 3501 — Image Parse Error; 3502 — Image Scale Is Zero; 3503 — Image Size Is Zero; 3504 — Image Format Invalid

tasks.result.resource_errors.warnings
string[]

resource warnings

tasks.result.resource_errors.warnings.line
integer

line the warning relates to note that if "line": 0, the warning relates to the whole page

tasks.result.resource_errors.warnings.column
integer

column the warning relates to note that if "column": 0, the warning relates to the whole page

tasks.result.resource_errors.warnings.message
string

text message of the warning possible messages: "Has node with more than 60 childs." – HTML page has at least 1 tag nesting over 60 tags of the same level "Has more that 1500 nodes." – DOM tree contains over 1,500 elements "HTML depth more than 32 tags." – DOM depth exceeds 32 nodes

tasks.result.resource_errors.warnings.status_code
integer

status code of the warning possible values: 0 — Unidentified Warning; 1 — Has node with more than 60 childs; 2 — Has more that 1500 nodes; 3 — HTML depth more than 32 tags

tasks.result.resource_errors.content_encoding
string

type of encoding

tasks.result.resource_errors.media_type
string

types of media used to display a resource

tasks.result.resource_errors.accept_type
string

indicates the expected type of resource for example, if "resource_type": "broken", accept_type will indicate the type of the broken resource possible values: any, none, image, sitemap, robots, script, stylesheet, redirect, html, text, other, font

tasks.result.resource_errors.server
string

server version

tasks.result.resource_errors.last_modified
object

contains data on changes related to the resource if there is no data, the value will be null

tasks.result.resource_errors.last_modified.header
string

date and time when the header was last modified in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00 if there is no data, the value will be null

tasks.result.resource_errors.last_modified.sitemap
string

date and time when the sitemap was last modified in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00 if there is no data, the value will be null

tasks.result.resource_errors.last_modified.meta_tag
string

date and time when the meta tag was last modified in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00 if there is no data, the value will be null