Data API / DataForSEO / On Page
OnPage API Duplicate Tags
Pages within a crawl sharing a title or meta description. ⚠️ type accepts exactly duplicate_title or duplicate_description - anything else, including the obvious 'title', is rejected with status_code 40501 inside an HTTP 200. accumulator narrows the result to pages carrying one specific tag value. Returns total_pages_count, pages_count, items_count and items. Reads a finished crawl, so it needs the id from post_dataforseo_on_page_submit and returns crawl_progress plus a crawl_status of max_crawl_pages, pages_in_queue and pages_crawled - check those before trusting a small result, because a crawl still running simply has less to report. For duplicated body content instead, use post_dataforseo_on_page_duplicate_content. 💰 Free upstream: querying a finished crawl costs nothing, only the crawl itself does.
Parameters
No path, query, or header parameters.
Request body
idstringRequiredID of the task required field you can get this ID in the response of the Task POST endpoint example: “07131248-1535-0216-1000-17384017ad04”
typestringRequiredAllowed values: duplicate_title · duplicate_description
duplicate tags type required field indicates the type of duplicate elements found on the pages. The results will depend on the type you specify possible values: duplicate_title, duplicate_description
accumulatorstringOptionaltag value optional field specify a title or description here if you want to receive a list of duplicate pages that contains this tag
limitintegerOptionalthe maximum number of returned pages optional field default value: 100 maximum value: 1000
offsetintegerOptionaloffset in the results array of returned pages optional field default value: 0 if you specify the 10 value, the first ten pages in the results array will be omitted and the data will be provided for the successive pages
tagstringOptionaluser-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
Example request
curl -X POST "https://openapi.felo.ai/v1/beta/dataforseo/on_page/duplicate_tags" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"id": "<string>",
"type": "<string>",
"accumulator": "<string>",
"limit": 0,
"offset": 0,
"tag": "<string>"
}'Response
Response fields
versionstringOptionalthe current version of the API
status_codeintegerOptionalgeneral 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_messagestringOptionalgeneral informational message you can find the full list of general informational messages here
timestringOptionalexecution time, seconds
costnumberOptionaltotal tasks cost, USD
tasks_countintegerOptionalthe number of tasks in the tasks array
tasks_errorintegerOptionalthe number of tasks in the tasks array returned with an error
tasksstring[]Optionalarray of tasks
idstringOptionaltask identifier unique task identifier in our system in the UUID format
status_codeintegerOptionalstatus 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_messagestringOptionalinformational message of the task you can find the full list of general informational messages here
timestringOptionalexecution time, seconds
costnumberOptionalcost of the task, USD
result_countintegerOptionalnumber of elements in the result array
pathstring[]OptionalURL path
dataobjectOptionalcontains the same parameters that you specified in the POST request
resultstring[]Optionalarray of results
crawl_progressstringOptionalstatus of the crawling session possible values: in_progress, finished
crawl_statusobjectOptionaldetails of the crawling session
max_crawl_pagesintegerOptionalmaximum number of pages to crawl indicates the max_crawl_pages limit you specified when setting a task
pages_in_queueintegerOptionalnumber of pages that are currently in the crawling queue
pages_crawledintegerOptionalnumber of crawled pages
total_pages_countintegerOptionaltotal number of pages with duplicate tags displays the total number of pages with duplicate tags of the target website
pages_countintegerOptionalnumber of pages with duplicate tags in the response displays the number of pages with duplicate tags returned in the response
items_countintegerOptionalnumber of items in the results array
itemsstring[]Optionalitems array
accumulatorstringOptionalcontains the value of duplicated tag
total_countintegerOptionaltotal count of duplicate pages
pagesstring[]Optionalpages with duplicate tags
resource_typestringOptionaltype of the returned resource = ‘html’
status_codeintegerOptionalstatus code of the page
locationstringOptionallocation header indicates the URL to redirect a page to
urlstringOptionalpage URL
metaobjectOptionalpage properties the value depends on the resource_type
titleintegerOptionalpage title
charsetintegerOptionalcode page example: 65001
followbooleanOptionalindicates whether a page’s ‘meta robots’ allows crawlers to follow the links on the page if false, the page’s ‘meta robots’ tag contains “nofollow” parameter instructing crawlers not to follow the links on the page
generatorstringOptionalmeta tag generator
htagsobjectOptionalHTML header tags
descriptionstringOptionalcontent of the meta description tag
faviconstringOptionalfavicon of the page
meta_keywordsstringOptionalcontent of the keywords meta tag
canonicalstringOptionalcanonical page
internal_links_countintegerOptionalnumber of internal links on the page
external_links_countintegerOptionalnumber of external links on the page
inbound_links_countintegerOptionalnumber of internal links pointing at the page
images_countintegerOptionalnumber of images on the page
images_sizeintegerOptionaltotal size of images on the page measured in bytes
scripts_countintegerOptionalnumber of scripts on the page
scripts_sizeintegerOptionaltotal size of scripts on the page measured in bytes
stylesheets_countintegerOptionalnumber of stylesheets on the page
stylesheets_sizeintegerOptionaltotal size of stylesheets on the page measured in bytes
title_lengthintegerOptionallength of the title tag in characters
description_lengthintegerOptionallength of the description tag in characters
render_blocking_scripts_countintegerOptionalnumber of scripts on the page that block page rendering
render_blocking_stylesheets_countintegerOptionalnumber of CSS styles on the page that block page rendering
cumulative_layout_shiftnumberOptionalCore Web Vitals metric measuring the layout stability of a page measures the sum total of all individual layout shift scores for every unexpected layout shift that occurs during the entire lifespan of the page. Learn more.
contentobjectOptionaloverall information about content of the page
plain_text_sizeintegerOptionaltotal size of the text on the page measured in bytes
plain_text_rateintegerOptionalplaintext rate value plain_text_size to size ratio
plain_text_word_countnumberOptionalnumber of words on the page
automated_readability_indexnumberOptionalAutomated Readability Index
coleman_liau_readability_indexnumberOptionalColeman–Liau Index
dale_chall_readability_indexnumberOptionalDale–Chall Readability Index
flesch_kincaid_readability_indexnumberOptionalFlesch–Kincaid Readability Index
smog_readability_indexnumberOptionalSMOG Readability Index
description_to_content_consistencynumberOptionalconsistency of the meta description tag with the page content measured from 0 to 1
title_to_content_consistencynumberOptionalconsistency of the meta title tag with the page content measured from 0 to 1
meta_keywords_to_content_consistencynumberOptionalconsistency of meta keywordstag with the page content measured from 0 to 1
deprecated_tagsstring[]Optionaldeprecated tags on the page
duplicate_meta_tagsstring[]Optionalduplicate meta tags on the page
spellobjectOptionalspellcheck hunspell spellcheck errors
hunspell_language_codestringOptionalspellcheck language code
misspelledstring[]Optionalarray of misspelled words
wordstringOptionalmisspelled word
resource_errorsobjectOptionalresource errors and warnings
errorsstring[]Optionalresource errors
lineintegerOptionalline where the error was found
messagestringOptionaltext message of the error the full list of possible HTML errors can be found here
warningsstring[]Optionalresource warnings
lineintegerOptionalline the warning relates to note that if "line": 0, the warning relates to the whole page
messagestringOptionaltext 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
social_media_tagsobjectOptionalobject of social media tags found on the page contains social media tags and their content supported tags include but are not limited to Open Graph and Twitter card
page_timingobjectOptionalarray of page load metrics
time_to_interactiveintegerOptionalTime To Interactive (TTI) metric the time it takes until the user can interact with a page (in milliseconds)
dom_completeintegerOptionaltime to load resources the time it takes until the page and all of its subresources are downloaded (in milliseconds)
largest_contentful_paintnumberOptionalCore Web Vitals metric measuring how fast the largest above-the-fold content element is displayed The amount of time (in milliseconds) to render the largest content element visible in the viewport, from when the user requests the URL. Learn more.
first_input_delaynumberOptionalCore Web Vitals metric indicating the responsiveness of a page The time (in milliseconds) from when a user first interacts with your page to the time when the browser responds to that interaction. Learn more.
connection_timeintegerOptionaltime to connect to a server the time it takes until the connection with a server is established (in milliseconds)
time_to_secure_connectionintegerOptionaltime to establish a secure connection the time it takes until the secure connection with a server is established (in milliseconds)
request_sent_timeintegerOptionaltime to send a request to a server the time it takes until the request to a server is sent (in milliseconds)
waiting_timeintegerOptionaltime to first byte (TTFB) in milliseconds
download_timeintegerOptionaltime it takes for a browser to receive a response (in milliseconds)
duration_timeintegerOptionaltotal time it takes until a browser receives a complete response from a server (in milliseconds)
fetch_startintegerOptionaltime to start downloading the HTML resource the amount of time the browser needs to start downloading a page
fetch_endintegerOptionaltime to complete downloading the HTML resource the amount of time the browser needs to complete downloading a page
onpage_scorenumberOptionalshows how page is optimized on a 100-point scale this field shows how page is optimized considering critical on-page issues and warnings detected; 100 is the highest possible score that means the page does not have any critical on-page issues and important warnings; learn more about how the metric is calculated in this help center article
total_dom_sizeintegerOptionaltotal DOM size of a page
custom_js_responsestringOptionalthe result of executing a specified JS script note that you should specify a custom_js field when setting a task to receive this data and the field type and its value will totally depend on the script you specified;
custom_js_client_exceptionstringOptionalerror when executing a custom js if the error occurred when executing the script you specified in the custom_js field, the error message would be displayed here
broken_resourcesbooleanOptionalindicates whether a page contains broken resources
broken_linksbooleanOptionalindicates whether a page contains broken links
duplicate_titlebooleanOptionalindicates whether a page has duplicate title tags
duplicate_descriptionbooleanOptionalindicates whether a page has a duplicate description
duplicate_contentbooleanOptionalindicates whether a page has duplicate content
click_depthintegerOptionalnumber of clicks it takes to get to the page indicates the number of clicks from the homepage needed before landing at the target page
sizeintegerOptionalresource size indicates the size of a given page measured in bytes
encoded_sizeintegerOptionalpage size after encoding indicates the size of the encoded page measured in bytes
total_transfer_sizeintegerOptionalcompressed page size indicates the compressed size of a given page
fetch_timestringOptionaldate and time when a resource was fetched in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00
cache_controlobjectOptionalinstructions for caching
cachablebooleanOptionalindicates whether the page is cacheable
ttlintegerOptionaltime to live the amount of time the browser caches a resource
checksobjectOptionalwebsite checks on-page check-ups related to the page
no_content_encodingbooleanOptionalpage with no content encoding indicates whether a page has no compression algorithm of the content
high_loading_timebooleanOptionalpage with high loading time indicates whether a page loading time exceeds 3 seconds
is_redirectbooleanOptionalpage with redirects indicates whether a page has 3XX redirects to other pages
is_4xx_codebooleanOptionalpage with 4xx status codes indicates whether a page has 4xx response code
is_5xx_codebooleanOptionalpage with 5xx status codes indicates whether a page has 5xx response code
is_brokenbooleanOptionalbroken page indicates whether a page returns a response code less than 200 or greater than 400
is_wwwbooleanOptionalpage with www indicates whether a page is on a www subdomain
is_httpsbooleanOptionalpage with the https protocol
is_httpbooleanOptionalpage with the http protocol
high_waiting_timebooleanOptionalpage with high waiting time indicates whether a page waiting time (aka Time to First Byte) exceeds 1.5 seconds
no_doctypebooleanOptionalpage with no doctype indicates whether a page is without the declaration
canonicalbooleanOptionalpage is canonical
no_encoding_meta_tagbooleanOptionalpage with no meta tag encoding indicates whether a page is without Content-Type informative only if the encoding is not explicit in the Content-Type header for example: Content-Type: "text/html; charset=utf8"; Note: available for pages with canonical check set to true
no_h1_tagbooleanOptionalpage with empty or absent h1 tags Note: available for pages with canonical check set to true
https_to_http_linksbooleanOptionalHTTPS page has links to HTTP pages if true, this HTTPS page has links to HTTP pages Note: available for pages with canonical check set to true
has_html_doctypebooleanOptionalpage with HTML doctype declaration if true, the page has HTML DOCTYPE declaration
size_greater_than_3mbbooleanOptionalpage with size larger than 3 MB if true, the page size is exceeding 3 MB; Note: available for pages with canonical check set to true
meta_charset_consistencybooleanOptionalconsistency between charset encoding and page charset if true, the page’s charset encoding doesn’t match the actual charset of the page; Note: available for pages with canonical check set to true
has_meta_refresh_redirectbooleanOptionalpages with meta refresh redirect if true, the page has tag that instructs a browser to load another page after a specified time span; Note: available for pages with canonical check set to true
has_render_blocking_resourcesbooleanOptionalpage with render-blocking resources if true, the page has render-blocking scripts or stylesheets; Note: available for pages with canonical check set to true
redirect_chainbooleanOptionalpage with multiple redirects if true, there were at least two redirects before our crawler reached this page
low_content_ratebooleanOptionalpage with low content rate indicates whether a page has the plaintext size to page size ratio of less than 0.1; Note: available for pages with canonical check set to true
high_content_ratebooleanOptionalpage with high content rate indicates whether a page has the plaintext size to page size ratio of more than 0.9; Note: available for pages with canonical check set to true
low_character_countbooleanOptionalindicates whether the page has less than 1024 characters Note: available for pages with canonical check set to true
high_character_countbooleanOptionalindicates whether the page has more than 256,000 characters Note: available for pages with canonical check set to true
small_page_sizebooleanOptionalindicates whether a page is too small the value will be true if a page size is smaller than 1024 bytes; Note: available for pages with canonical check set to true
large_page_sizebooleanOptionalindicates whether a page is too heavy the value will be true if a page size exceeds 1 megabyte; Note: available for pages with canonical check set to true
low_readability_ratebooleanOptionalpage with a low readability rate indicates whether a page is scored less than 15 points on the Flesch–Kincaid readability test; Note: available for pages with canonical check set to true
irrelevant_descriptionbooleanOptionalpage with irrelevant description indicates whether a page description tag is irrelevant to the content of a page; the relevance threshold is 0.2; Note: available for pages with canonical check set to true
irrelevant_titlebooleanOptionalpage with irrelevant title indicates whether a page title tag is irrelevant to the content of the page; the relevance threshold is 0.3; Note: available for pages with canonical check set to true
irrelevant_meta_keywordsbooleanOptionalpage with irrelevant meta keywords indicates whether a page keywords tags are irrelevant to the content of a page; the relevance threshold is 0.6; Note: available for pages with canonical check set to true
title_too_longbooleanOptionalpage with a long title indicates whether the content of the title tag exceeds 65 characters; Note: available for pages with canonical check set to true
title_too_shortbooleanOptionalpage with short titles indicates whether the content of title tag is shorter than 30 characters; Note: available for pages with canonical check set to true
deprecated_html_tagsbooleanOptionalpage with deprecated tags indicates whether a page has deprecated HTML tags; Note: available for pages with canonical check set to true
duplicate_meta_tagsbooleanOptionalpage with duplicate meta tags indicates whether a page has more than one meta tag of the same type; Note: available for pages with canonical check set to true
duplicate_title_tagbooleanOptionalpage with more than one title tag indicates whether a page has more than one title tag; Note: available for pages with canonical check set to true
no_image_altbooleanOptionalimages without alt tags Note: available for pages with canonical check set to true
no_image_titlebooleanOptionalimages without title tags Note: available for pages with canonical check set to true
no_descriptionbooleanOptionalpages with no description indicates whether a page has an empty or absent description meta tag; Note: available for pages with canonical check set to true
no_titlebooleanOptionalpage with no title indicates whether a page has an empty or absent title tag; Note: available for pages with canonical check set to true
no_faviconbooleanOptionalpage with no favicon Note: available for pages with canonical check set to true
seo_friendly_urlbooleanOptionalpage with seo-frienldy URL the ‘SEO-friendliness’ of a page URL is checked by four parameters: – the length of the relative path is less than 120 characters – no special characters – no dynamic parameters – relevance of the URL to the page if at least one of them is failed then such URL is considered as not ‘SEO-friendly’ Note: available for pages with canonical check set to true
flashbooleanOptionalpage with flash indicates whether a page has flash elements
framebooleanOptionalpage with frames indicates whether a page contains frame, iframe, frameset tags
lorem_ipsumbooleanOptionalpage with lorem ipsum indicates whether a page has lorem ipsum content; Note: available for pages with canonical check set to true
has_misspellingbooleanOptionalpage with misspelled content
seo_friendly_url_characters_checkbooleanOptionalURL characters check-up indicates whether a page URL containing only uppercase and lowercase Latin characters, digits and dashes
seo_friendly_url_dynamic_checkbooleanOptionalURL dynamic check-up the value will be true if a page has no dynamic parameters in the url
seo_friendly_url_keywords_checkbooleanOptionalURL keyword check-up indicates whether a page URL is consistent with the title meta tag
seo_friendly_url_relative_length_checkbooleanOptionalURL length check-up the value will be true if a page URL no longer than 120 characters
is_orphan_pagebooleanOptionalpage with no internal links pointing to it true if the page has no reference from other pages of the domain
is_link_relation_conflictbooleanOptionalmix of both followed and nofollowed incoming internal links true if the page receives at least one link with the rel="nofollow" attribute and at least one dofollow link
has_links_to_redirectsbooleanOptionalpage is pointing to a page that redirect elsewhere true if the page is pointing to a page that responds with a 3XX redirect
recursive_canonicalbooleanOptionalrecursive canonical error true if the page contains rel="canonical" tag to another page, which in turn, refers back to the initial page
canonical_chainbooleanOptionalpages with canonical pointing to a page that has a canonical pointing elsewhere true if the page has a canonical link element pointing to a page that has a canonical pointing to a different page e.g. page a is canonicalized to page b, which is canonicalized to page c
canonical_to_redirectbooleanOptionalcanonical page pointing to a page that redirect elsewhere true if the page has a canonical link element pointing to a page that responds with a 3XX redirect
canonical_to_brokenbooleanOptionalcanonical link pointing to a broken page true if the page has a a canonical link pointing to a page that responds with a 4xx or 5xx response codes
content_encodingstringOptionaltype of encoding
media_typestringOptionaltypes of media used to display a page
serverstringOptionalserver version
is_resourcebooleanOptionalindicates whether a page is a single resource
last_modifiedobjectOptionalcontains data on changes related to the resource if there is no data, the value will be null
headerstringOptionaldate 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
sitemapstringOptionaldate 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
meta_tagstringOptionaldate 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