Bing visibility agent

Four numbers from Bing every week, and every deploy pushed to it.

Copilot answers from Bing’s index, and ChatGPT search reads Bing as one of its sources, so a page Bing has not fetched cannot be cited there. Bing Webmaster Tools shows all of this, but only to someone who opens it every week and reads four reports side by side.

Running on our own company since Oct 6, 2026 · Bing Webmaster Tools · IndexNow · Risk: Low. Everything on this page is public; there is nothing to sign in for.

Goes inThe Bing Webmaster API, the AI Performance export from a signed-in browser, and the list of URLs the last deploy changed
Comes outOne summary beside the previous week’s: pages indexed, 28-day impressions and clicks, Copilot citations, IndexNow pushes; and a line in the weekly report
Human stepSomeone keeps the browser signed in to Bing Webmaster Tools and reads the summary. The agent never changes a page
Runs onA machine you control: Node for the scripts, a Chrome profile for the one report Bing has no API for

Tasks and outputs

What it takes on

Pull the week’s numbers

Calls the Bing Webmaster API for crawl stats, traffic, queries, pages, sitemaps and quota, and keeps each answer as a dated file.

Nine JSON files

Export what Copilot cites

Opens Bing Webmaster Tools in the signed-in Chrome, downloads the three AI Performance CSVs and normalises them by what their columns mean.

Citations by query and by page

Summarise and push

Writes the four numbers beside last week’s with the queries behind them; after a deploy, pushes the changed URLs to IndexNow.

summary.md and an IndexNow log line

Who it is for: Teams that publish often and want to know, weekly, whether Bing is keeping up: how many pages it holds, whether anyone arrives from it, which questions Copilot cites them for, and whether the last deploy was pushed to it.

How we use it: We have run it on claw-world.app every week since October 2026. Its first readout found Bing holding 191 of our pages and no category query at all; its second found the pages Copilot cites and two template problems on every post. The numbers it reads are the ones on the public run log.

.agents/skills/bing-visibility/SKILL.mdDefinitions table of the skill

What each number is counted to

01Pages indexed is Bing’s InIndex on the last day of its crawl stats. The target is parity with the sitemap, not a bigger number: retired pages still in the index count against it.

02Impressions and clicks are the 28 days ending the day before the snapshot, summed by day. A single-week change under 2x is not a signal.

03Copilot citations are the AI Performance series summed over 28 days and over the whole exported window. Bing calls the report a sample; the count is a floor.

04A category query is what a buyer of the service types: AEO, answer engine, AI visibility, mentioned in ChatGPT and the like, never the brand name. The definition is shared with the Google readout; changing one changes both.

05IndexNow pushes are the log lines with a 2xx status in the 7 days before the snapshot. Zero means a deploy went out without one.

06Changing a definition changes what every past summary meant, so it is written down first.

Read from the skill fileEvery summary states its window and the snapshot it is compared to

The rules the agent’s output is written to, from the file named above. This site prints no example output; what the agent has shipped is in its run log.

Workflow

How a run goes, step by step

Pick a step to see what goes in, what comes out, and where a person is involved.

Step 1 of 6

Pull the API

Asks Bing which site string it wants, then pulls seven reports for it. A report that answers 403 or 404 is skipped and the run goes on; Bing’s wrapped dates are unwrapped here.

Goes in

The API key, read from a file outside the repository

Comes out

A dated folder with sites, traffic, queries, pages, crawl, crawl issues, feeds and quota as JSON

Where a person steps in

None. If the key file is missing, the run stops before any call.

Step 2 of 6

Export the AI report

Opens one tab in the signed-in Chrome over the DevTools protocol, sets the range to three months, downloads the overview series, the grounding queries and the cited pages, and closes only that tab.

Goes in

Chrome with remote debugging on a fixed port, signed in to Bing Webmaster Tools

Comes out

Three CSV files in the same folder, and a screenshot of the report

Where a person steps in

When the browser is not signed in: the script stops and says so, and a person signs in once. A manual download dropped into the folder works the same.

Step 3 of 6

Normalise

Recognises each CSV by what its columns mean (query, page, date) rather than by its headers, so a renamed column does not break the week, and keeps the original columns alongside.

Goes in

The three CSVs

Comes out

One JSON file of citations by query, by page and by day

Where a person steps in

None.

Step 4 of 6

Summarise

Writes the four numbers beside the previous snapshot’s, the crawl figures, the queries and pages Bing showed the site for, the Copilot grounding queries and cited pages, and which pages are cited this week that were not last week.

Goes in

This week’s folder and the previous one

Comes out

summary.md, with its window and the snapshot it is compared to in the first line

Where a person steps in

A person reads it. The first time a category question appears, they note which page caught it.

Step 5 of 6

Report

Puts the four numbers into the week’s report with one sentence of judgement. The whole summary is not pasted; the report is for reading.

Goes in

summary.md

Comes out

One line in the weekly report

Where a person steps in

The person running it writes the sentence.

Step 6 of 6

Push after a deploy

After every deploy, the deploy script asks the sitemap generator which URLs are built from the files that changed and submits exactly those to IndexNow. A template change that alters every page is pushed once by hand; the whole sitemap is never resubmitted weekly.

Goes in

The commit range of the deploy

Comes out

One line in the IndexNow log: when, how many URLs, what IndexNow answered

Where a person steps in

When the push fails, the deploy still goes out; a person reruns the push.

Before you start

What you’ll need to bring

Company material

The site verified in Bing Webmaster Tools, and the list of category terms a buyer of what you sell would type.

Source material

Your sitemap, served and submitted to Bing, and the IndexNow key file at your site root. The agent reads both; it writes neither.

Platform account

A Bing Webmaster API key for the API reports, and a Chrome profile signed in to Bing Webmaster Tools for the one report that has no API. No password handed over.

Run environment

A machine that can keep that Chrome open during the export, Node.js for the scripts, and an agent runner that follows a written workflow. We use Claude Code.

Guides and files

Set it up yourself

The setup guide, and the files the agent is built from. You run it in your own environment, with your own accounts.

Open · no account neededA Claude Code skill (markdown instructions) plus five Node scripts: the API pull, the browser export over the raw DevTools protocol, the CSV normaliser, the summariser and the IndexNow submitter. Not packaged for public download yet — the setup guide below describes what they do; the managed tier runs it for you today.
Setup guide
  1. 01

    Runtime

    • An agent runner that can follow a written workflow and run Node scripts — we use Claude Code.
    • Node.js 20 or later, for the five scripts.
  2. 02

    Browser setup

    • A dedicated Chrome profile signed in to Bing Webmaster Tools, launched with remote debugging on a fixed port. Only the AI Performance export, the Recommendations lists and Site Scan need it; the four numbers come from the API.
    • Signing in is a one-time human step in that window; the session persists in the profile.
  3. 03

    Account setup

    • The site verified in Bing Webmaster Tools (importing it from Google Search Console takes a minute).
    • A Bing Webmaster API key, issued per user under Settings → API access, kept in a file outside the repository.
    • An IndexNow key: any 32-character key, served as a text file at the site root. No account needed.
  4. 04

    Configuration

    • The site’s host name and the folder the weekly snapshots go to.
    • The list of category terms a buyer of your product would type, so the summary can say whether a query of that kind has appeared. Keep it identical to the one your Google readout uses.
    • A deploy hook that calls the IndexNow submitter with the URLs that changed.
  5. 05

    First run

    • Run the API pull once and check that the site string and the four numbers match the Bing Webmaster Tools dashboard.
    • Run the browser export and confirm the three CSV files landed; if the browser is not signed in, the script stops and says so.
    • Push one URL to IndexNow and look for it in the IndexNow report in Bing Webmaster Tools the next day.
Files · 6

SKILL.md

Workflow · Markdown. The steps above, the definitions and the known pitfalls, as the runner reads them.

Workflow

pull.mjs

Script · Node. Calls the Bing Webmaster API and writes one dated JSON file per report.

Script

export-ai.mjs

Script · Node. Drives the signed-in Chrome over the raw DevTools protocol: the AI Performance CSVs, the Recommendations lists, a Site Scan.

Script

ingest-ai.mjs

Script · Node. Normalises the CSVs by column meaning into one JSON file.

Script

summarize.mjs

Script · Node. Writes summary.md beside the previous snapshot.

Script

indexnow-submit.mjs

Script · Node. Submits URLs to IndexNow: a list, the files a deploy changed, or the whole sitemap once.

Script

Not packaged for public download yet. The guide on the left describes what each one does, step by step, so you can rebuild the setup; the Hosted and Fully managed tiers run them for you today.

Rather have us run it?

Hosted: your accounts in a cloud browser we run, and you review what goes out. Fully managed: we set the strategy and run the agents.

Good to know

Where it stops and asks for you

  • The browser is not signed in. The export stops before touching anything and says so. The API numbers are already on disk; only the Copilot part waits for a person.
  • Bing renamed a button. The export matches visible text, exactly first and then by contains. When neither matches, the run stops with a screenshot and the list of clickable texts, and the text in the script is updated.
  • The IndexNow key file is not served. The submitter checks the key URL first and stops; IndexNow silently ignores submissions whose key it cannot read, so this is never retried blind.
  • The API throttles. A report answering 403 or 404 is skipped and the run goes on; the per-URL lookup stops after about ten calls and is not part of the weekly numbers.

Risk notice

What to watch for

  • Bing states the AI Performance report is a sample, not a full log: low-frequency citations do not appear, so the citation count is a floor, never a total.
  • The browser export depends on Bing’s UI; a redesign breaks it until someone updates the button text. The four numbers come from the API and are unaffected.
  • IndexNow accepts whatever it is sent: resubmitting the whole sitemap every week teaches Bing nothing, and the skill forbids it outside a template change that alters every page.

FAQ

Questions about this agent

The browser export stops with “not signed in”.

Open Bing Webmaster Tools in that same Chrome profile and sign in by hand; nothing else changes. The API pull does not need the browser at all.

Bing renamed a button and the export cannot find it.

The export clicks by visible text. The script has a discover mode that screenshots the page and lists every clickable text, so the new name is a one-line change.

IndexNow answered 200 but the page is still not indexed.

A 2xx means received, not indexed; IndexNow never reports what Bing did with a URL. The IndexNow report in Bing Webmaster Tools and the next week’s indexed count are where that shows.

The per-URL lookup answers “ThrottleHost”.

The Bing API throttles after about ten URL lookups in a row. Wait a minute and continue; the weekly numbers do not use that endpoint.

Would you rather we ran this agent for you? There is a managed service for that.

Talk to us