Bing Enricher Scraper | Mobile Friendly Test and Indexing avatar

Bing Enricher Scraper | Mobile Friendly Test and Indexing

Pricing

from $3.36 / 1,000 pages

Go to Apify Store
Bing Enricher Scraper | Mobile Friendly Test and Indexing

Bing Enricher Scraper | Mobile Friendly Test and Indexing

Bing scraper for bulk Mobile Friendliness Tests: paste page URLs or domains and get one row per page with the mobile-friendly verdict, every passed and failed check, robots.txt blocked files, a phone screenshot and indexability. 10 pages in 25 seconds, 25 fields each. No Bing account needed.

Pricing

from $3.36 / 1,000 pages

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Bing Enricher Scraper | Bulk Mobile Friendly Test, Screenshots and Indexability (2026)

Bing pages, 25 fields each, from any URL.

From SilentFlow. Creators of Facebook Search Scraper and Pinterest Scraper, with 540,000+ combined lifetime runs.

Run Bing's Mobile Friendliness Test on a whole list of pages or domains, and get one clean row per page: the verdict, every check Bing ran, what failed, what Bing warned about, the files your robots.txt hides from Bing, Bing's own viewport advice, and the screenshot of the page as Bing rendered it on a phone. The same row tells you if the page can be indexed at all: HTTP status, final URL after redirects, title, meta description, H1, canonical, language, noindex and robots.txt permission for Bingbot. On our test run, the prefilled form tested 10 pages in 29 seconds, 8 mobile friendly and 2 not, without a single change. No Bing Webmaster Tools account, no site verification, nothing to install.

Why choose this actor?

Pasting URLs one at a time into a mobile test, then copying the verdict into a spreadsheet? Auditing a sample of 5 pages because testing 300 would take the afternoon? Pitching a redesign without a screenshot that shows the client's site failing on a phone?

  • Paste page links, bare domains, or both. Full page links and plain domains have their own fields, so a column of domains from a CRM goes in as it is, without building a URL for each one. On our test run, 8 bare domains (postgresql.org, lua.org, haskell.org and five more) came back as 8 rows in 43 seconds, 7 mobile friendly and 1 not, each with its homepage audit.
  • Twice the data per page, and the reason behind the verdict. A yes or no is not an audit. Each row lists the checks that passed and the ones that failed, a true or false flag for each of Bing's five checks, the resources blocked by robots.txt, Bing's viewport recommendation, and the page's title, H1, meta description, canonical, language, final URL and indexability. On our test run of 10 pages, every row came back with at least 18 filled data fields, and most with 22, where single-URL Bing checkers return 9 keys.
  • Nothing to fill in before the first run. No field is required: the form opens with 7 page links and 7 domains and runs as it is. Links alone start a run, domains alone start a run. On our test run, the prefilled form returned 10 tested pages in 29 seconds.

Try Bing Enricher Scraper

Try your first page test

Paste this input in the JSON tab, or keep the prefilled form and press Start. It queues 7 well-known pages (Wikipedia, Hacker News, the Berkshire Hathaway homepage, the first website ever published at CERN, Craigslist, the Python "About" page and Dan Luu's blog) and 7 domains, and stops once 10 of them are tested.

{
"urls": [
"https://www.wikipedia.org/",
"https://news.ycombinator.com/",
"https://www.berkshirehathaway.com/",
"http://info.cern.ch/",
"https://www.craigslist.org/",
"https://www.python.org/about/",
"https://danluu.com/"
],
"domains": [
"debian.org",
"gnu.org",
"ietf.org",
"kernel.org",
"sqlite.org",
"openbsd.org",
"lwn.net"
],
"maxItems": 10,
"includeScreenshot": true
}

Runs on the Apify Free plan: sign up, open the actor, press Start. Each tested page lands as one row of the dataset, which you can open as a table, download as CSV, Excel or JSON, or read from the API. Replace the links with your own pages, paste your client domains, and raise Max pages to the size of your list.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the Bing Enricher Scraper on Apify: silentflow/bing-enricher-scraper
It runs Bing Webmaster Tools' Mobile Friendliness Test on many pages at once and returns
one dataset row per tested web page, with an indexability audit of the page.
Input (no field is required, give at least one page or domain):
- urls (array of strings): full page links, e.g. "https://www.python.org/about/".
A link without "https://" works. {"url": "..."} objects are accepted too.
- domains (array of strings): bare domains tested on their homepage, e.g. "stripe.com".
- url (string, optional): a single page link, accepted for compatibility.
- maxItems (integer, default 100): the most pages one run tests. The run stops at this count.
- includeScreenshot (boolean, default true): keep the PNG of the page as Bing rendered it on a phone.
Output, one row per page:
- url (string): the normalized page link that was tested
- domain (string): the site, without "www."
- title (string or null): the page's <title>
- testedUrl (string): the address Bing rendered (the www form for some bare domains)
- isMobileFriendly (boolean): Bing's verdict
- auditStatus (string): MOBILE_FRIENDLY or NOT_MOBILE_FRIENDLY
- conclusion (string): Bing's verdict sentence
- passedChecks, failedChecks, warnings (arrays of strings): Bing's checks, in Bing's English wording
- recommendations (array of strings): Bing's advice, e.g. the viewport tag to add
- blockedResources (array of strings): URLs of files robots.txt hides from Bing
- passedChecksCount, failedChecksCount, warningsCount (integers)
- isViewportConfigured, isContentFitToWidth, isTextReadable, isTapTargetsSized, isZoomAllowed
(boolean or null): one flag per Bing check, null when Bing did not list the check
- httpStatus (integer or null), finalUrl (string or null): the page's answer and address after redirects
- metaDescription, h1, metaViewport, metaRobots, canonicalUrl, language (string or null)
- indexingAllowed (boolean or null): false when the page is noindex for Bing or returns 404/410
- crawlAllowed (boolean or null): robots.txt permission for Bingbot
- screenshotUrl (string or null): link to the mobile screenshot (PNG) stored with the run
- inputUrl (string): what was typed in the input
- scrapedAt (string): RFC 3339 UTC time of the test
Pages Bing cannot load give no row; they are listed in the run's UNTESTED_PAGES record.
Use apify-client for Python or JavaScript, or the Apify MCP server.

How to check Bing mobile friendliness in bulk

Test one page in seconds

The smallest useful run: one link, one row. Use it to check a landing page before a campaign goes live.

{
"urls": ["https://www.python.org/about/"]
}

Check the homepages of a list of client sites

Paste bare domains, one per line, straight from a CRM export or a spreadsheet column. Each domain is tested on its homepage. Screenshots stay on, so every failing site comes with a picture you can put in a report.

{
"domains": ["postgresql.org", "lua.org", "haskell.org", "elixir-lang.org", "php.net", "nodejs.org", "ocaml.org", "julialang.org"],
"maxItems": 50
}

Audit the inner templates of a site without screenshots

Home pages are rarely the problem. Test one URL per template (article, documentation page, archive page, legacy page) and keep only the verdict and the audit for a lighter dataset.

{
"urls": [
"https://www.rust-lang.org/learn",
"https://go.dev/doc/",
"https://en.wikipedia.org/wiki/Responsive_web_design",
"https://www.gnu.org/philosophy/free-sw.html",
"https://www.berkshirehathaway.com/letters/letters.html",
"http://info.cern.ch/hypertext/WWW/TheProject.html"
],
"includeScreenshot": false,
"maxItems": 6
}

On our test run, these 6 inner pages came back as 6 rows in 26 seconds: 4 mobile friendly, and 2 not (the Berkshire Hathaway letters archive and the original CERN project page, each failing 4 of Bing's checks).

Input parameters

ParameterTypeDefaultDescription
urlsarray of stringsnone (prefilled with 7 pages)Full links of the pages to test, one per line. Each page gives one row.
domainsarray of stringsnone (prefilled with 7 domains)Bare domains, tested on their homepage. Each domain gives one row.
maxItemsinteger100 (prefilled with 10)The most pages one run tests, across links and domains. The run stops once this many pages are tested.
includeScreenshotbooleantrueKeep the picture of the page as Bing rendered it on a phone, linked from screenshotUrl.

No field is required. Give at least one page link or one domain; an input with neither stops at once with a message that says what to add.

Formats accepted:

  • Page links with https:// or http://: https://www.python.org/about/, http://info.cern.ch/.
  • Links typed without the scheme: www.python.org/about/ is read as https://www.python.org/about/.
  • Link objects pasted from other tools: {"url": "https://www.python.org/about/"}.
  • Domains with or without www.: gnu.org, www.gnu.org. A domain is tested on its homepage, and a bare domain also on its www. form when only that one loads.
  • A single page in the url field, the shape other Bing checkers take: {"url": "https://apify.com"}.
  • The same page given twice, in either field, is tested once. An entry that is not a web address (notaurl) is skipped and named in the log.

What data can you extract from Bing's Mobile Friendliness Test?

Every row is one tested page, flat, ready for a spreadsheet. 33 fields per row, in five groups:

  • Identity (4): url, domain, title, testedUrl.
  • Bing's verdict (16): isMobileFriendly, auditStatus, conclusion, passedChecks, failedChecks, warnings, recommendations, blockedResources, passedChecksCount, failedChecksCount, warningsCount, and one flag per check: isViewportConfigured, isContentFitToWidth, isTextReadable, isTapTargetsSized, isZoomAllowed.
  • Page audit (10): httpStatus, finalUrl, metaDescription, h1, metaViewport, metaRobots, canonicalUrl, language, indexingAllowed, crawlAllowed.
  • Media (1): screenshotUrl, the PNG of the page as Bing rendered it on a phone.
  • Meta (2): inputUrl (what you typed) and scrapedAt (RFC 3339, UTC).

Lists are never null: an empty failedChecks means no check failed. Text fields the page does not have (no meta description, no canonical) are null, never an empty string. The check names are Bing's own English wording, so you can filter on them exactly ("Text on page is too small", "Links and tap targets are too close/small", "Viewport not configured correctly").

url is the stable key of a row: the same page tested next week gives the same url, so two runs join on it. finalUrl shows where the page redirects today, for example https://ietf.org/ landing on https://www.ietf.org/.

Output example

One row from our test run (the screenshot link is filled on Apify, where the picture is stored with the run):

{
"url": "https://ietf.org/",
"domain": "ietf.org",
"title": "IETF | Internet Engineering Task Force",
"testedUrl": "https://ietf.org/",
"isMobileFriendly": true,
"auditStatus": "MOBILE_FRIENDLY",
"conclusion": "This page is mobile friendly",
"passedChecks": [
"Zoom control is not restricted",
"Page content fits device width",
"Text on the page is readable",
"Links and tap targets are sufficiently large and touch-friendly"
],
"failedChecks": [],
"warnings": [
"Viewport not configured correctly",
"Some resources on the page are blocked by robots.txt configuration"
],
"recommendations": [],
"blockedResources": [
"https://static.ietf.org/fonts/inter/import.css",
"https://static.ietf.org/logos/ietf.svg"
],
"passedChecksCount": 4,
"failedChecksCount": 0,
"warningsCount": 2,
"isViewportConfigured": false,
"isContentFitToWidth": true,
"isTextReadable": true,
"isTapTargetsSized": true,
"isZoomAllowed": true,
"httpStatus": 200,
"finalUrl": "https://www.ietf.org/",
"metaDescription": "The Internet Engineering Task Force (IETF) is the premier Internet standards body, developing open standards through open processes.",
"h1": "Welcome to the IETF",
"metaViewport": "width=device-width,initial-scale=1",
"metaRobots": null,
"canonicalUrl": null,
"language": "en",
"indexingAllowed": true,
"crawlAllowed": true,
"screenshotUrl": "https://api.apify.com/v2/key-value-stores/YOUR_RUN_STORE_ID/records/screenshot-5dbfc458b7da3e7d.png",
"inputUrl": "ietf.org",
"scrapedAt": "2026-10-20T15:40:54Z"
}

This row shows why the details matter: Bing calls the page mobile friendly, yet it warns that the viewport is not configured the way it expects and that robots.txt hides a stylesheet and the logo from Bing. A plain yes or no would have hidden both.

The dataset has three views: Overview (screenshot, title, page, verdict, failed checks, warnings, HTTP status, indexable), Mobile checks (one column per check, plus failed checks, recommendations and blocked resources) and Indexability (status, final URL, title, meta description, canonical, language, meta robots, indexable, crawl allowed).

Advanced usage

Audit a long list of pages in one run

Paste every URL you want to cover (a sitemap export, the top pages from your analytics) and raise the cap to the size of the list. Screenshots off keeps the dataset light when you only need verdicts. Pages run side by side, so a long list does not take one test after another.

{
"urls": [
"https://www.python.org/about/",
"https://www.python.org/downloads/",
"https://www.python.org/doc/",
"https://www.python.org/community/",
"https://www.python.org/jobs/"
],
"maxItems": 1000,
"includeScreenshot": false
}

Build a redesign lead list from domains

Agencies selling mobile redesigns: paste the domains of your prospects, keep screenshots on, then filter the dataset on isMobileFriendly = false. Each failing site comes with the list of checks it failed and a phone screenshot for the first email.

{
"domains": ["lua.org", "kernel.org", "sqlite.org", "openbsd.org", "lwn.net"],
"includeScreenshot": true
}

Watch your key templates every week

Save the input below as a task and give it a weekly schedule on Apify. Compare runs on url: a page that loses its viewport tag after a release flips isViewportConfigured to false, a page set to noindex by mistake flips indexingAllowed to false.

{
"urls": [
"https://www.gnu.org/",
"https://www.gnu.org/philosophy/free-sw.html",
"https://www.gnu.org/software/"
],
"includeScreenshot": false
}

Check a migration: old and new addresses side by side

Test the old URLs and the new ones in the same run. finalUrl shows where each old address lands, httpStatus shows broken redirects, and canonicalUrl shows whether the new page points to itself.

{
"urls": [
"http://info.cern.ch/",
"http://info.cern.ch/hypertext/WWW/TheProject.html",
"https://ietf.org/",
"https://www.ietf.org/"
]
}

Send failing pages to your team's sheet

Call the actor from Python, keep the pages Bing does not call mobile friendly, and write them to a CSV your team can open in Google Sheets or Excel.

{
"domains": ["lua.org", "postgresql.org", "haskell.org"],
"includeScreenshot": true
}
import csv
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("silentflow/bing-enricher-scraper").call(
run_input={"domains": ["lua.org", "postgresql.org", "haskell.org"], "includeScreenshot": True}
)
rows = client.dataset(run["defaultDatasetId"]).list_items().items
failing = [r for r in rows if not r["isMobileFriendly"]]
with open("not-mobile-friendly.csv", "w", newline="") as f:
w = csv.writer(f)
w.writerow(["url", "failedChecks", "screenshotUrl"])
for r in failing:
w.writerow([r["url"], "; ".join(r["failedChecks"]), r["screenshotUrl"]])

FAQ

What does this actor return for each page? One row with Bing's Mobile Friendliness verdict, the checks that passed and failed, Bing's warnings and advice, the files robots.txt hides from Bing, a phone screenshot, and an indexability audit of the page: HTTP status, final URL, title, meta description, H1, meta viewport, meta robots, canonical, language, noindex and robots.txt permission for Bingbot. 33 fields per row.

Is this Google's Mobile-Friendly Test? No. Google retired its Mobile-Friendly Test. This actor runs Bing's Mobile Friendliness Test, the one in Bing Webmaster Tools, which renders the page on a phone the way Bing's crawler sees it.

Do I need a Bing Webmaster Tools account, or to verify my site? No. No account, no site verification, no API key. You can test any public page, including competitors' pages and your prospects' sites.

What is Bing Webmaster Tools? Bing Webmaster Tools is Microsoft's free console for site owners, the counterpart of Google Search Console for Bing. Its Mobile Friendliness Test is a public tool that checks one page at a time in a browser; this actor runs it on a whole list.

Why did some pages give no row? Bing could not load them: the site is offline, blocks Bing's crawler, or takes longer to load than Bing allows. Those pages are not delivered as rows; they are listed in the run's UNTESTED_PAGES record (Storage tab, key-value store), so you can feed them to a later run. A page Bing does test always gives a row, mobile friendly or not.

How long does a run take? Bing renders every page on a phone, which takes 10 to 30 seconds per page, and pages run side by side. On our test runs, 10 pages took 29 seconds, 8 domains took 43 seconds and 6 inner pages took 26 seconds.

How many pages can I test in one run? There is no fixed limit. maxItems (default 100) is the cap you choose; raise it to the size of your list. The run stops once that many pages are tested.

How fresh are the results? Live. Every run asks Bing to render each page at that moment, so a fix you shipped an hour ago shows up in the next run.

Why is a page mobile friendly with a warning like "Viewport not configured correctly"? Bing weighs its checks itself and can still call a page mobile friendly when one of them raises a warning. The row keeps both: the verdict in isMobileFriendly, and every warning in warnings, so you decide what to fix first.

What is the difference between crawlAllowed and indexingAllowed? crawlAllowed says whether the site's robots.txt lets Bingbot fetch the page. indexingAllowed says whether the page lets Bing put it in search results: it is false when the page carries a noindex in its meta robots tag or its X-Robots-Tag header, or answers 404 or 410.

Can I test several sites in one run? Yes. Mix page links from different sites and bare domains in the same run. Each page gives its own row with its own domain.

How long do screenshot links work? The screenshot is stored with the run, in its key-value store, and the link works as long as your plan keeps run storage. Download the PNGs if you need them for a report you keep longer.

Is it legal to run this test on any site? The test reads public pages through Bing's public tool, the same thing a visitor does in a browser. See the legal section below.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

📈 Marketing

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor runs Bing's public Mobile Friendliness Test and reads publicly available web pages. It does not bypass any login, paywall or CAPTCHA, and it does not need an account. Users are responsible for complying with the terms of service of Bing and of the sites they test, and with applicable data protection laws (GDPR, CCPA, and PIPL where relevant). The output describes web pages, not people; if a tested page shows personal data in its title or description, handle it accordingly. The data returned is informational; verify accuracy for regulated use cases.

Bing Enricher Scraper by SilentFlow: Bing's mobile verdict, the reasons behind it and the page's indexability, one row per page.