Felo API PlatformFelo API Platform
All DataForSEO endpoints
v0.2.0-beta
OpenAPI 3.1.0

OnPage API Page Screenshot

Server:https://openapi.felo.ai
Client Libraries

DataForSEO

​

SEO, search-engine results, keyword research, backlinks and AI visibility data.

OnPage API Page Screenshot

​

Renders any url and returns a screenshot, with full_page_screenshot for the whole scroll height and browser_screen_width and browser_screen_height setting the viewport. Standalone - no crawl needed. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. ⚠️ An image is a large tool result even before an agent can do anything with it; ask for a screenshot only when the visual is the point, and use post_dataforseo_on_page_content_parsing_live when the text is.

Pricing reference

  • Metering: Reported response cost.
  • Reference request estimate: USD 0.0051.
  • Reference customer multiplier: 1.0. Do not apply it again to a settled customer amount.

Reference metadata only, not an account quote, a guaranteed price or a spending cap. Resource credits are not Felo credits. Final charges follow Felo billing records.

Body
application/json
  • Type: array (object | null)[]
    • accept_language
      Type: string | null

      language header for accessing the website
      optional field
      all locale formats are supported (xx, xx-XX, xxx-XX, etc.)
      note: if you do not specify this parameter, some websites may deny access; in this case, you will obtain "error_message":"Screenshot is empty" in the response array

    • browser_preset
      Type: string | null

      preset for browser screen parameters
      optional field
      if you use this field, you don't need to indicate browser_screen_width, browser_screen_height, browser_screen_scale_factor

      possible values:
      desktop, mobile, tablet

      desktop preset will apply the following values:

      browser_screen_width: 1920
      browser_screen_height: 1080
      browser_screen_scale_factor: 1

      mobile preset will apply the following values:

      browser_screen_width: 390
      browser_screen_height: 844
      browser_screen_scale_factor: 3

      tablet preset will apply the following values:

      browser_screen_width: 1024
      browser_screen_height: 1366
      browser_screen_scale_factor: 2

      Note: in this endpoint, the enable_browser_rendering, enable_javascript, load_resources, and enable_xhr parameters are always enabled.

    • browser_screen_height
      Type: integer | null

      browser screen height
      optional field
      you can set a custom browser screen height to perform audit for a particular device;
      if you use this field, you don't need to indicate browser_preset as it will be ignored;

      minimum value, in pixels: 240
      maximum value, in pixels: 9999

    • browser_screen_scale_factor
      Type: number | null

      browser screen scale factor
      optional field
      you can set a custom browser screen resolution ratio to perform audit for a particular device;
      if you use this field, you don't need to indicate browser_preset as it will be ignored;

      minimum value: 0.5
      maximum value: 3

    • browser_screen_width
      Type: integer | null Format: int64

      browser screen width
      optional field
      you can set a custom browser screen width to perform audit for a particular device;
      if you use this field, you don't need to indicate browser_preset as it will be ignored;

      minimum value, in pixels: 240
      maximum value, in pixels: 9999

    • custom_user_agent
      Type: string | null

      custom user agent
      optional field
      custom user agent for crawling a website
      example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36

      default value: Mozilla/5.0 (compatible; RSiteAuditor)

    • disable_cookie_popup
      Type: boolean | null

      disable the cookie popup
      optional field
      set to true if you want to disable the popup requesting cookie consent from the user;
      default value:
      false

    • full_page_screenshot
      Type: boolean | null

      take a screenshot of the full page
      optional field
      set to false if you want to capture only the part of the page displayed before scrolling
      default value: true

    • ip_pool_for_scan
      Type: string | null

      proxy pool
      optional field
      you can choose a location of the proxy pool that will be used to obtain the requested data;
      the parameter can be used if page content is inaccessible in one of the locations, resulting in occasional site_unreachable errors
      possible values: us, de

    • switch_pool
      Type: boolean | null

      switch proxy pool
      optional field
      if true, additional proxy pools will be used to obtain the requested data;
      the parameter can be used if a multitude of tasks is set simultaneously, resulting in occasional rate-limit and/or site_unreachable errors

    • url
      Type: string

      page url
      required field
      absolute URL of the page to snap
      note: if the URL you indicate here returns a 404 status code or the indicated value is not a valid URL, you will obtain "error_message":"Screenshot is empty" in the response array

Responses
  • 200
    Type: object | null · Response36Afe1097B20_OnPagePageScreenshotResponseInfo
    • cost
      Type: number | null Format: double

      total tasks cost, USD

    • status_code
      Type: integer | null

      general status code you can find the full list of the response codes here

    • status_message
      Type: string | null

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

    • tasks
      Type: array (object | null)[] | null

      array of tasks

      • Type: object | null · Response36Afe1097B20_OnPagePageScreenshotTaskInfo
        • cost
          Type: number | null Format: double

          total tasks cost, USD

        • data
          Type: object | null

          contains the same parameters that you specified in the POST request

          • propertyName
            Type: object | null
        • id
          Type: string | null

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

        • path
          Type: array (string | null)[] | null

          URL path

        • result
          Type: array (object | null)[] | null

          array of results

          • crawl_progress
            Type: string | null

            status of the crawling session
            possible values: in_progress, finished

          • error_message
            Type: string | null

            error message
            if the url you indicated returns a 404 status code or is not a valid URL, you will obtain "error_message":"Screenshot is empty"
            if no error is encountered, the value will be null

          • items
            Type: array (object | null)[] | null

            items array

            • image
              Type: string | null

              screenshot of the requested page
              URL of the page screenshot on the DataForSEO storage
              note: the page screenshot saved on the DataForSEO storage only remains accessible for one day after making the request

          • items_count
            Type: integer | null Format: int64

            number of items in the results array

        • result_count
          Type: integer | null Format: int64

          number of elements in the result array

        • status_code
          Type: integer | null

          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

        • status_message
          Type: string | null

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

        • time
          Type: string | null

          execution time, seconds

    • tasks_count
      Type: integer | null Format: int64

      the number of tasks in the tasks array

    • tasks_error
      Type: integer | null Format: int64

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

    • time
      Type: string | null

      total execution time, seconds

    • version
      Type: string | null

      the current version of the API

    application/json
  • 400

    The request could not be processed. Check the request parameters.

  • 401

    A valid Felo API key is required.

  • 402

    The request cannot proceed because a billing requirement is not met.

  • 403

    The account is not permitted to perform this operation.

  • 429

    A request or spending limit has been reached.

  • 502

    The service could not complete the request.

  • 503

    The API or billing service is temporarily unavailable.

  • 504

    The service timed out while processing the request.

  • default

    Error response; upstream passthrough responses may use provider formats

    application/json
Request Example for post/v1/beta/dataforseo/on_page/page_screenshot
curl https://openapi.felo.ai/v1/beta/dataforseo/on_page/page_screenshot \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '[
  {
    "url": "https://dataforseo.com/apis"
  }
]'
{
  "version": null,
  "status_code": null,
  "status_message": null,
  "time": null,
  "cost": null,
  "tasks_count": null,
  "tasks_error": null,
  "tasks": [
    {
      "id": null,
      "status_code": null,
      "status_message": null,
      "time": null,
      "cost": null,
      "result_count": null,
      "path": [
        null
      ],
      "data": null,
      "result": [
        {
          "crawl_progress": null,
          "error_message": null,
          "items_count": null,
          "items": [
            {
              "image": null
            }
          ]
        }
      ]
    }
  ]
}
OnPage API Page Screenshot

Need help?