SEO Audit Tool: Titles, Meta Tags, Headings and Links API avatar

SEO Audit Tool: Titles, Meta Tags, Headings and Links API

Pricing

from $1.50 / 1,000 audited pages

Go to Apify Store
SEO Audit Tool: Titles, Meta Tags, Headings and Links API

SEO Audit Tool: Titles, Meta Tags, Headings and Links API

Audit the on-page SEO of any list of pages or websites: titles, meta descriptions, headings, canonicals, indexing, links, images and structured data, with a score and the issues found per page. robots.txt obeyed, no personal data, pay only per audited page.

Pricing

from $1.50 / 1,000 audited pages

Rating

0.0

(0)

Developer

Rowcraft

Rowcraft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

Run an on-page SEO audit on a list of web pages, or on a whole domain. Paste page addresses (or just domains) and get one row per page with its title, meta description, headings, canonical address, indexing directives, language, social tags, structured data types, word count, links and images, plus a list of issue codes and a score from 0 to 100, as JSON, CSV or Excel. Turn on Follow internal links and a domain becomes a small site audit, limited to the number of pages you choose.

Every page is read politely and once: robots.txt first, then one request for the page. Nothing is collected about people. The issue codes and the score follow rules that are written down in this README, so you can check any result against the fields of the row.

Input form of SEO Audit Tool: Titles, Meta Tags, Headings and Links API

What you get

One row per page that was read and audited:

  • Identity and fetch: the address you gave (url), the final address after redirects (finalUrl), HTTP status, number of redirects, response time in milliseconds, content type and page size
  • Title and meta description: the text and its length in characters (an e-mail address or phone number inside is masked)
  • Headings: the first H1, the number of H1 and H2 headings
  • Indexing: canonical address and whether it points to the page itself, the robots and googlebot meta directives, the X-Robots-Tag header, and one indexable flag with the reason when it is false
  • Language and alternates: the lang of the page and the language codes of the hreflang alternates as text (for example de, fr, x-default) and their number in hreflangCount
  • Social tags: Open Graph title, description and image, and the Twitter card type
  • Structured data: the Schema.org types found in JSON-LD and microdata, as text (for example Organization, WebSite; the type names only, never the data inside)
  • Content and links: word count, number of internal links, external links and links marked nofollow, number of images and images without an alt attribute
  • Result: issues (the short codes as text, for example missing_h1, title_too_long), issueCount, a score and a seoHash that changes when the SEO of the page changes

The run also writes a COVERAGE record with one line for every page you asked for (ok, blocked, robots_disallowed, not_found, not_html, skipped, error or not_checked, with the reason) and a RUN_SUMMARY with counts, the most frequent issues and the average score.

Why this actor

  • Every issue is explained. The code list, the thresholds and the score weights are printed below. There is no hidden calculation: a page that scores 83 lost 17 points for issues you can see in its row.
  • A domain or a list, your choice. Audit the exact pages you care about, or follow internal links from a start page up to a page limit per site. Links with a query string, files such as PDFs and images, and links marked nofollow are not followed.
  • Pay only for audited pages. Pages behind an anti-bot page, disallowed by robots.txt, missing, not HTML, invalid or repeated in your list are never charged.
  • Polite by design. robots.txt is read and obeyed on every host before any other request, a Crawl-delay is respected, the default is one request per second, and the actor identifies itself with a clear user agent.
  • Change tracking built in. Turn on Only new rows since the last run and a scheduled run delivers a page again only when its SEO fingerprint changed: a new title, a removed canonical, a noindex that appeared.
  • Flat rows, stable columns. Empty values are null, never missing, and lists such as the issue codes are text separated by commas, not arrays, so a table shows them as they are and the CSV and Excel exports keep the same columns from run to run.

How to use it

  1. Open the Actor and paste page addresses or domains into Pages or websites to audit, one per line. A column copied from a spreadsheet works, and so do entries separated by commas.
  2. For a first try keep the list short, or set Maximum pages delivered to a small number.
  3. Optional: turn on Follow internal links and set Maximum pages per site to audit a domain beyond the pages you listed.
  4. Click Start. The status line shows progress; the run stops cleanly at your maximum or at the charge limit you set in the run options.
  5. Open the Dataset tab. The Overview, Issues, Indexing and speed and Content and links views show the main columns. Sort by score to see the weakest pages first. Download JSON, CSV, Excel, XML or HTML, or send the rows to Google Sheets, Slack, Make, n8n or Zapier with the Integrations tab.
  6. Open the COVERAGE record in the key-value store to see which pages could not be audited and why.
  7. To watch pages over time, run the actor on a schedule with Only new rows since the last run turned on.

Input

FieldWhat it does
startUrlsPage addresses (https://example.com/blog/post) or domains (example.com), one per line. Each entry is audited as the page it points to; a domain means its home page. The #fragment is ignored. Up to 100,000 per run.
crawlOff by default: only the pages you list are audited. On: internal links of each audited page are followed too (same site, www. ignored, robots.txt obeyed).
maxPagesPerSiteUsed only with crawl. The most pages read per site, counting the pages you listed. Default 20, up to 1,000.
maxItemsStop after this many delivered rows. 0 = no limit.
onlyNew, stateNameDeliver a page again only when its SEO fingerprint changed since the last run with the same state name
notifyUrl, notifyWhenEmptyA webhook that receives one message when the run ends; see Automation below
requestIntervalMsPause between requests, default 1000 ms, minimum 250 ms. A longer Crawl-delay in a site's robots.txt wins.

Example: three pages, one row each.

{
"startUrls": ["https://www.python.org/", "https://developer.mozilla.org/en-US/", "https://www.gnu.org/"]
}

Example: audit up to 30 pages of one site, starting from its home page.

{
"startUrls": ["https://example.com/"],
"crawl": true,
"maxPagesPerSite": 30
}

Example: a weekly check of key pages that reports only the pages whose SEO changed, with a Slack message.

{
"startUrls": ["https://example.com/", "https://example.com/pricing", "https://example.com/blog"],
"onlyNew": true,
"stateName": "key-pages",
"notifyUrl": "https://hooks.slack.com/services/..."
}

Output

42 fields per row. Empty values are null, never missing, so CSV and Excel columns are stable.

FieldTypeExample
idstringhttps://www.python.org/about
sitestringpython.org
depthinteger0
urlstringhttps://www.python.org/about/
finalUrlstringhttps://www.python.org/about/
statusCodeinteger200
redirectCountinteger0
responseTimeMsinteger412
contentTypestringtext/html; charset=utf-8
pageSizeBytesinteger48210
titlestringAbout Python | Python.org
titleLengthinteger25
metaDescriptionstringThe official home of the Python Programming Language
metaDescriptionLengthinteger52
h1stringAbout Python
h1Countinteger1
h2Countinteger4
canonicalstringhttps://www.python.org/about/
canonicalIsSelfbooleanTrue
metaRobotsstringnoindex, nofollow
xRobotsTagstringnoindex
indexablebooleanTrue
indexabilityReasonstringcanonical_to_other_url
langstringen
hreflangstringde, fr, x-default
hreflangCountinteger3
ogTitlestringAbout Python
ogDescriptionstringThe official home of the Python Programming Language
ogImagestringhttps://www.python.org/static/opengraph-icon-200x200.png
twitterCardstringsummary
structuredDataTypesstringOrganization, WebSite
wordCountinteger842
internalLinksinteger62
externalLinksinteger11
nofollowLinksinteger2
imagesinteger14
imagesWithoutAltinteger3
issuesstringmissing_meta_description, images_without_alt
issueCountinteger2
scoreinteger83
seoHashstringa1b2c3d4e5f6
checkedAtstring2026-10-14T20:00:00.000Z

Example rows

Two real rows from a run (long texts shortened here, complete in the dataset):

[
{
"id": "https://www.python.org/",
"site": "python.org",
"depth": 0,
"url": "https://www.python.org/",
"finalUrl": "https://www.python.org/",
"statusCode": 200,
"redirectCount": 0,
"responseTimeMs": 35,
"contentType": "text/html; charset=utf-8",
"pageSizeBytes": 51934,
"title": "Welcome to Python.org",
"titleLength": 21,
"metaDescription": "The official home of the Python Programming Language",
"metaDescriptionLength": 52,
"h1": "Functions Defined",
"h1Count": 5,
"h2Count": 9,
"canonical": null,
"canonicalIsSelf": null,
"metaRobots": null,
"xRobotsTag": null,
"indexable": true,
"indexabilityReason": null,
"lang": "en",
"hreflang": null,
"hreflangCount": 0,
"ogTitle": "Welcome to Python.org",
"ogDescription": "The official home of the Python Programming Language",
"ogImage": "https://www.python.org/static/opengraph-icon-200x200.png",
"twitterCard": null,
"structuredDataTypes": "SearchAction, WebSite",
"wordCount": 942,
"internalLinks": 64,
"externalLinks": 63,
"nofollowLinks": 0,
"images": 1,
"imagesWithoutAlt": 0,
"issues": "title_too_short, meta_description_too_short, multiple_h1, missing_canonical",
"issueCount": 4,
"score": 84,
"seoHash": "58754deac877",
"checkedAt": "2026-10-14T17:40:17.659Z"
},
{
"id": "https://nodejs.org/en",
"site": "nodejs.org",
"depth": 0,
"url": "https://nodejs.org/en",
"finalUrl": "https://nodejs.org/en",
"statusCode": 200,
"redirectCount": 0,
"responseTimeMs": 79,
"contentType": "text/html; charset=utf-8",
"pageSizeBytes": 531732,
"title": "Node.js — Run JavaScript Everywhere",
"titleLength": 35,
"metaDescription": "Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command lin…",
"metaDescriptionLength": 157,
"h1": "Run JavaScript Everywhere",
"h1Count": 1,
"h2Count": 0,
"canonical": "https://nodejs.org/en",
"canonicalIsSelf": true,
"metaRobots": "index, follow",
"xRobotsTag": null,
"indexable": true,
"indexabilityReason": null,
"lang": "en-GB",
"hreflang": "x-default, en, es, fr, id, ja, ko, pt-br, pt, ro, ta, tr, uk, zh-cn, zh-tw",
"hreflangCount": 15,
"ogTitle": "Node.js — Run JavaScript Everywhere",
"ogDescription": "Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command lin…",
"ogImage": "https://nodejs.org/en/next-data/og/announcement/Node.js%20%E2%80%94%20Run%20JavaScript%20Everywhere",
"twitterCard": "summary",
"structuredDataTypes": null,
"wordCount": 409,
"internalLinks": 11,
"externalLinks": 27,
"nofollowLinks": 0,
"images": 0,
"imagesWithoutAlt": 0,
"issues": null,
"issueCount": 0,
"score": 100,
"seoHash": "9e55922649a9",
"checkedAt": "2026-10-14T17:40:19.840Z"
}
]

Results can be downloaded as JSON, CSV, Excel, XML or HTML from the Dataset tab, or read through the Apify API.

Results of SEO Audit Tool: Titles, Meta Tags, Headings and Links API in the Apify dataset view

The issue codes and the score

The score starts at 100 and loses the points below for every issue found, never going under 0. Each code can be read off the fields of the row (for example title_too_long means titleLength is above 60). The thresholds are common rules of thumb used by SEO tools, not rules or ranking factors published by Google or any other search engine; treat them as a checklist, not as a verdict.

CodeReported whenPoints
missing_titlethere is no title element, or it is empty20
noindexa robots or googlebot meta tag, or the X-Robots-Tag header, says noindex or none20
missing_h1the page body has no H1, or no H1 with text15
missing_meta_descriptionthere is no meta description, or it is empty12
canonical_to_other_urlthe canonical address differs from the final address (a trailing slash and a #fragment are ignored; www. and http against https are not)10
thin_contentthe body has fewer than 300 words8
not_httpsthe final address starts with http://8
title_too_longthe title is longer than 60 characters5
title_too_shortthe title is shorter than 30 characters5
multiple_h1the body has more than one H15
missing_langthe html tag has no lang attribute5
missing_og_tagsnone of og:title, og:description and og:image is present5
images_without_altat least one image has no alt attribute (an empty alt="" marks a decorative image and is fine)5
slow_responsethe response headers took more than 1,800 ms to arrive5
meta_description_too_longthe meta description is longer than 160 characters4
redirect_chaintwo or more redirects before the final page4
meta_description_too_shortthe meta description is shorter than 70 characters3
missing_canonicalno canonical in the page or in the Link header3
invalid_json_lda JSON-LD block is not valid JSON3
incomplete_og_tagssome, but not all, of og:title, og:description and og:image are present2

How the main fields are read:

  • Title: the first title element of the HTML, as a browser reads it. Entities are decoded and white space is collapsed. A title inside an inline SVG does not count.
  • Indexable: false when a noindex or none directive applies to us (a robots or googlebot meta tag, or an X-Robots-Tag header that names no bot, googlebot or rowcraft), or when the canonical points to another address. indexabilityReason lists the causes: noindex_meta, noindex_header, canonical_to_other_url. Pages that robots.txt blocks are not read at all, so they are never in the dataset.
  • Words: the words of the HTML body without scripts, styles, templates and noscript fallbacks. Menus and footers are included, and text hidden with CSS cannot be told apart. Languages written without spaces (Chinese, Japanese, Thai) are not counted meaningfully.
  • Links: different addresses, not tags. A link to the same address twice counts once, a link to the page itself counts as internal, and links with only a #fragment are skipped. Internal means the same host with www. ignored; another subdomain is external. mailto:, tel:, sms: and every other non-web link is skipped completely and not counted.
  • Response time: from sending the request to receiving the response headers of the final page, in milliseconds. It includes setting up the connection to a new host, and it depends on where the actor runs.
  • SEO fingerprint (seoHash): a hash of the final address, status, title, meta description, H1 and the heading counts, canonical, robots directives, language, hreflang, social tags, structured data types and the issue codes except slow_response. Word and link counts, sizes and times are left out, so a changing comment count or a slow server does not look like an SEO change.

Pricing

Pay per result. You pay for each audited page delivered to your dataset, nothing else: no subscription, no minimum, no charge for pages that could not be read (anti-bot page, robots.txt, not found, not HTML, errors), for invalid or repeated entries, or for pages skipped by Only new rows because nothing changed.

Your Apify planPrice per 1,000 rowsPrice per row
Free plan$2.00$0.002
Starter plan$1.80$0.0018
Scale plan$1.70$0.0017
Business plan and above$1.50$0.0015

Example: 1,000 pages cost $2.00 on the Free plan and $1.50 on the Business plan. The Apify platform usage of a run (compute and storage) is billed by Apify separately, as for every Actor; the actor runs in 256 MB and spends most of its time waiting between requests. A start event of $0.00005 is charged once per run (Apify default). Cap your spend: set Maximum total charge in the run options. The actor stops cleanly when the cap is reached and you keep everything delivered until then. The run summary (RUN_SUMMARY in the key-value store) says why a run stopped.

Automation: only new rows, notifications, schedules

Only new rows since the last run. Turn on onlyNew and the actor remembers, for every page it delivered to you, the SEO fingerprint it had (in a key-value store named rowcraft-seo-audit-tool-state in your Apify account, holding a short hash of the address and the fingerprint, not the page). The next run with the same stateName delivers a page again only when its fingerprint changed; pages with the same fingerprint are skipped and not charged. A change in the word count, the number of links or the response time does not count as a change. The first run delivers every page it can read. Use a different stateName for each list so they keep separate memories. With Follow internal links on, unchanged pages are still read, so that new links are found.

Notification when the run ends. Put a webhook address in notifyUrl and the actor sends one JSON POST with the number of delivered rows, links to the dataset (JSON and CSV) and the run. It works with Slack and Discord incoming webhooks (the message is in text and content), with Make, n8n and Zapier catch hooks, and with your own endpoint. By default it is sent only when at least one row was delivered; notifyWhenEmpty sends it every time.

Schedules. Create a schedule in Apify Console (daily, weekly, monthly or cron) with onlyNew on, and you get a feed of the pages of your list whose SEO changed, for the price of those rows only.

Integrations. Send the results to Make, n8n, Zapier, Google Sheets, Slack, Google Drive, Airtable or any webhook from the Integrations tab of the Actor, with no code.

API, SDKs and AI agents. Every run is available through the Apify API and the official JavaScript and Python clients; the Actor can also be called by AI agents through the Apify MCP server. The example input in the API tab is a working call.

Use cases

  • Quick audit of a new page or a whole section: paste the addresses before a launch and fix the pages with the lowest score first. Missing H1, a noindex left from staging and a canonical pointing to the wrong address show up at once.
  • Agency reports: audit the key pages of each client every month and export the Overview view to a spreadsheet. The issue codes are the same on every run, so months can be compared.
  • Migration checks: list the old addresses and compare the finalUrl, statusCode, redirectCount and canonical fields before and after a move to a new domain or a new CMS. Redirect chains and canonicals that still point to the old host are listed.
  • Regression alerts: schedule the actor on your money pages with Only new rows and a webhook. You hear about a changed title, a noindex or a lost canonical the day it happens, not at the next monthly report.
  • Competitor pages: read the titles, meta descriptions, headings, structured data types and word counts of the pages that rank for your keywords, in one table.
  • Content inventory: follow internal links from a start page and sort by wordCount to find thin pages, or by imagesWithoutAlt to find pages that need alt text.
  • Lead research for SEO services: run a list of prospect domains and open with concrete findings, such as pages without a meta description or without HTTPS.

Ready-made examples, each with the input filled in (open one and press Start, or save it as your own task):

What this actor does not do

  • Run JavaScript. It reads the HTML the server sends, as a basic crawler does. Pages that build their content in the browser (single page apps without server rendering) show only what is in that first HTML, so their word count and headings can be low.
  • Render or measure page speed. responseTimeMs is the time until the headers arrived, not a Core Web Vitals measurement.
  • Compare pages with each other. Duplicate titles and duplicate meta descriptions are not flagged inside a run, because each row is delivered as soon as it is audited; sort or group the dataset by title to find them.
  • Check every link on a page. It counts internal, external and nofollow links; checking whether each link works is a different job.
  • Look at keyword rankings, backlinks, search volume or traffic. No search engine or third-party database is queried.
  • Collect contacts: no e-mail addresses, phone numbers, names of authors or social profiles, and no page text apart from the title, the meta description, the first H1 and the Open Graph title and description.
  • Use proxies, solve CAPTCHAs, log in, fill forms or accept cookie banners. A page behind an anti-bot page is reported as blocked and not charged.

Limits and fair use

  • One request per second by default (minimum 250 ms), across all sites of the run, and never faster than a site's own Crawl-delay (up to 10 seconds is applied). A page takes one request, plus one robots.txt request per site and one per redirect to a new host. In our test runs, eight different sites took about 20 seconds and a 12-page crawl of one site about 19 seconds, which is between 1,000 and 2,000 pages an hour at the default.
  • Page limit per site. With Follow internal links the actor stops at Maximum pages per site (default 20, up to 1,000) and says so in the run summary and the warnings. Pages you listed yourself are always read, and count towards the limit.
  • What a crawl follows. Same-site links in document order, breadth first. Not followed: links marked nofollow, links with a query string, links to files that are not pages (PDF, images, archives, scripts, feeds) and links that redirect to another site. Add such addresses to the list yourself if you want them audited.
  • Anti-bot pages. A site that answers with an anti-bot or access-denied page (Cloudflare, Akamai, DataDome and similar, or HTTP 401, 403, 429) is reported as blocked and not charged. After three such pages in a row on one site the rest of that site is not requested, and after ten in a row anywhere the run stops and says why in the run summary.
  • robots.txt is obeyed for every address the visit touches, including redirect targets and followed links. If robots.txt disallows a page it is robots_disallowed; if robots.txt answers with a server error the site is not read, as the robots.txt standard (RFC 9309) requires.
  • Page size: the first 5 MB of a page are read; larger pages are cut there and counted in the run summary. Answers that are not HTML (PDF, images, JSON) are not read at all and are listed as not_html.
  • Up to 100,000 entries per run. The run stops 90 seconds before its timeout with the summary, the coverage and the Only new rows memory saved; for long lists raise the timeout or split the list.

Data source and licence

The data is what each page sends to every visitor: the response status and headers, and the HTML of the page. The actor reads the page once, as a browser does on the first visit, after checking robots.txt, and keeps only the audited values: tag texts, counts, flags and issue codes. The page body, images, cookies and the data inside structured data blocks are not stored or delivered.

You choose the pages, so you are responsible for auditing only pages you may audit. The terms of each site cannot be checked one by one by the actor; audit your own sites, your clients' sites with their agreement, and public pages for the purposes the site allows. The thresholds and the score are Rowcraft's own rules of thumb and are described above.

Rowcraft is independent and not affiliated with or endorsed by Google, Bing or any other search engine, or by the websites you audit. The names of standards and products appear only to say what a field contains, for example Open Graph (ogp.me) and Schema.org (schema.org).

Privacy: no personal data

Rowcraft actors are built not to collect personal data:

  • Only the audited values of a page are delivered. There are no author names, e-mail addresses, phone numbers or social profiles in the output.
  • mailto:, tel: and sms: links are skipped completely: they are not read, not counted and not delivered.
  • An e-mail address or phone number inside a title, a meta description, a heading or an Open Graph text is replaced by a mask before the row is saved. Addresses in the URL fields are cleaned in the same way.
  • A title or a heading is page text, so on a personal site it can still contain a name that the owner chose to publish; the actor does not look for names and cannot remove them from free text.
  • The actor sends no cookies, fills no forms and never logs in.

You are responsible for using the data in line with the law that applies to you.

Other Rowcraft actors

All Rowcraft actors read official or public sources, deliver flat rows without personal data and support only-new runs and notifications:

FAQ

What does the SEO audit check? The title and meta description (presence and length), the H1 and H2 headings, the canonical address, indexing directives from meta tags and the X-Robots-Tag header, the page language and hreflang alternates, Open Graph and Twitter card tags, the types of structured data, the word count, the number of internal, external and nofollow links, images without alt text, HTTPS, redirects and the response time. The 20 issue codes are listed in the Output section with their thresholds and points.

Can I audit a whole website? Yes, within a limit: turn on Follow internal links, give the home page, and set Maximum pages per site (up to 1,000). The actor follows links in document order, breadth first, and stops at the limit. For a full inventory of every address of a large site, give a list of addresses instead.

Are the thresholds Google's rules? No. A title of 30 to 60 characters, a meta description of 70 to 160, 300 words and 1,800 ms are common rules of thumb. Search engines do not publish a pass mark for them, and a page outside the range is not penalised by that fact alone. Use the codes as a checklist and decide for each page.

Why is the result empty? Every page of the list could not be read or was skipped. The COVERAGE record gives the reason per page: an anti-bot page (blocked), robots.txt (robots_disallowed), a missing page or domain (not_found), an address that is not HTML (not_html), an invalid entry or a connection problem (error). With Only new rows on, pages whose SEO fingerprint did not change are skipped too. Nothing is charged for those, apart from the start event.

Is it legal? The actor reads public pages, one request each, obeys robots.txt and keeps only SEO values, not personal data or page content. Whether and how you may audit a given site, and what you do with the results, depends on the site's terms and on the law that applies to you.

Does it collect personal data? No personal data: no e-mail addresses, phone numbers, author names or social profiles. See the Privacy section.

Do I pay for pages that block the actor? No. Blocked, robots-disallowed, missing, non-HTML and invalid entries are never charged, and neither are duplicates in your list or pages that redirect to an address already audited in the run.

Why does a page show few words or no H1 although I see them in the browser? The actor reads the HTML as the server sends it and does not run JavaScript. If the content is added in the browser, it is not in that HTML. Check the page source (not the inspector): what is not there is not seen by a basic crawler either.

Why is a www page flagged canonical_to_other_url? Because its canonical names another address, for example the same page without www., or with http. That is a real difference in the address, even when the redirect rules of the site make both work. Check which address you want search engines to use.

What does indexable: false mean? A noindex directive (meta tag or header) applies, or the canonical points elsewhere. indexabilityReason says which. The flag describes the page, not the site, and robots.txt rules are not part of it: pages that robots.txt blocks are never read.

How does Only new rows work here? The actor remembers the SEO fingerprint of every page delivered to you. The next run with the same state name delivers a page only when the fingerprint changed, so a weekly schedule costs only the pages that changed.

Can I follow links to other websites? No. A crawl stays on the site of the page it started from; links that redirect to another site are not followed. To audit another site, add it to the list.

How fast is it? At the default, between 1,000 and 2,000 pages an hour (a list of different sites is slower than the pages of one site, because every site also needs its robots.txt). Sites with a Crawl-delay in robots.txt are read more slowly, as the site asks. Lower requestIntervalMs only for sites you own.

Support and reviews

Problems, missing fields, questions: open an issue on the Issues tab of this Actor. We answer within one working day and fix confirmed bugs in the next release; the changelog lists every change.

If this Actor saved you time, a short review on its page helps other users find it and helps us keep improving it.