Command reference
Every bwt command with its flags, examples, and the Bing methods it calls, generated from the command tree.
Generated from the bwt command tree on main. The command guides explain when to use each group.
Global flags apply to every command.
--access-token string Bearer token override (prefer BWT_ACCESS_TOKEN)
--api-key string API key override (prefer BWT_API_KEY or auth login)
--dry-run For writes: print the requests and send nothing
--no-input Never prompt or open a browser
-o, --output string Output format: table, json, yaml, csv (default "table")
--profile string Named profile (or BWT_PROFILE)
-q, --quiet Suppress informational stderr output
--raw Print Bing's wire JSON without date conversion
--read-only Block remote writes, local credential changes, and self-update
-s, --site string Site URL exactly as in sites list, or a bare host (or BWT_SITE)
--timeout duration HTTP request timeout (default 30s)
-v, --verbose Log method, redacted URL, and status to stderr
-y, --yes Confirm destructive commands and updates without a promptbwt
Bing Webmaster Tools from your terminal
Read and manage Bing Webmaster Tools data: search performance, crawl health, URL and sitemap submission, IndexNow, keyword research, and site settings. Data goes to stdout and diagnostics to stderr. --read-only blocks every state change.
bwtbwt api
Call any Bing Webmaster API method directly
Sends an authenticated request to https://ssl.bing.com/webmaster/api.svc/json/METHOD with the same redaction, fault handling, and date conversion as other commands. Known methods use their documented HTTP verb and effect; unknown methods need --http and count as writes, so --read-only refuses them. Writes ask for confirmation (or --yes): a raw call can remove sites, sitemaps, or users. --param values are sent as strings; use --data for typed JSON values (POST only).
bwt api METHOD [flags] bwt api GetUserSites
bwt api GetQueryStats --param siteUrl=https://example.com/
bwt api SubmitUrlBatch --data '{"siteUrl":"https://example.com/","urlList":["https://example.com/a"]}' --data string JSON object of parameters (POST)
--http string HTTP method for methods not in the registry: GET or POST
--param stringArray Parameter as name=value (repeatable)bwt api methods
List every Bing method: HTTP verb, read/write effect, status, and the command that calls it
bwt api methods bwt api methods -o jsonbwt auth
Log in, inspect credentials, and manage profiles
bwt authbwt auth list
List saved profiles without secrets
bwt auth listbwt auth login
Save your Bing Webmaster API key and pick a default site
Logs in with your Bing Webmaster Tools API key, which covers every site in your account. In a terminal it opens Bing Webmaster Tools, shows where the key is (Settings > API Access > API Key), and reads it from a hidden prompt; piped input is read from stdin. The key is checked with one GetUserSites call before anything is saved, then stored in the OS keychain, and a default site is chosen. Without an OS keychain, login stops unless you pass --insecure-storage (a 0600 plaintext file). Bing's OAuth registration rejects loopback redirect URIs, so there is no browser OAuth login.
changes local configuration.
bwt auth login [flags] bwt auth login
bwt auth login --profile client-b
printf '%s' "$KEY" | bwt auth login --no-input --profile ci
BWT_API_KEY=... bwt sites list # use a key without saving it --insecure-storage Store the key in a 0600 plaintext file instead of the OS keychain
--no-verify Save without checking the key with Bing (for a key that is not active yet)bwt auth logout
Delete the profile's saved API key (keeps its site and IndexNow keys)
Deletes the saved API key from the keychain or secrets file. Logging out removes the key from this machine only. To invalidate it, regenerate it in Bing Webmaster Tools > Settings > API Access.
changes local configuration.
bwt auth logoutbwt auth status
Show the active credential source without revealing secrets
Local only unless --verify, which makes one GetUserSites call.
bwt auth status [flags] --verify Check access with one GetUserSites callbwt auth use
Set the default profile
changes local configuration.
bwt auth use NAMEbwt block
Block URLs from Bing results (Block URLs tool)
bwt blockbwt block add
Block a page or directory from Bing results
--request cache-only removes the cached copy; full-removal removes the URL from Bing results until it expires. There is no default for --request, and full removal asks for confirmation.
changes Bing state (blocked by --read-only); Bing methods: AddBlockedUrl.
bwt block add URL [flags] --request string cache-only or full-removal (required)
--type string page or directory (default "page")bwt block list
List blocked URLs
Bing methods: GetBlockedUrls.
bwt block listbwt block remove
Unblock a URL
Looks up the block with GetBlockedUrls and removes exactly that entry.
changes Bing state (blocked by --read-only); Bing methods: GetBlockedUrls, RemoveBlockedUrl.
bwt block remove URLbwt completion
Generate shell completion script
bwt completion [bash|zsh|fish|powershell]bwt config
Inspect configuration and select profiles
bwt configbwt config list-profiles
List saved profiles without secrets
bwt config list-profilesbwt config show
Show the active credential source without revealing secrets
Local only unless --verify, which makes one GetUserSites call.
bwt config show [flags] --verify Check access with one GetUserSites callbwt config use-profile
Set the default profile
changes local configuration.
bwt config use-profile NAMEbwt connected-pages
Pages (such as social profiles) connected to your site
bwt connected-pagesbwt connected-pages add
Connect a page to your site
changes Bing state (blocked by --read-only); Bing methods: AddConnectedPage.
bwt connected-pages add URLbwt connected-pages list
List connected pages
Bing methods: GetConnectedPages.
bwt connected-pages listbwt crawl
Crawl statistics, crawl issues, and crawl settings
bwt crawlbwt crawl issues
URLs with crawl issues, with the issue bitmask decoded
Lists URLs Bing had trouble crawling. issue_labels is decoded locally from the Issues bitmask. Fixed issues can stay listed for several days, and an empty list does not prove the site has none.
Bing methods: GetCrawlIssues.
bwt crawl issuesbwt crawl set-settings
Change hourly crawl rate or crawl boost
Reads the current crawl settings, applies your changes, and saves the full object. --rate takes 24 comma-separated hourly values (Bing does not document the valid range or timezone).
changes Bing state (blocked by --read-only); Bing methods: GetCrawlSettings, SaveCrawlSettings.
bwt crawl set-settings [flags] bwt crawl set-settings --rate 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,5,4,3,3,4
bwt crawl set-settings --boost on --boost string Crawl boost: on or off
--rate string 24 comma-separated hourly crawl-rate valuesbwt crawl settings
Show crawl rate and crawl boost settings
CrawlRate has 24 hourly values. Bing does not document their valid range or the timezone of the hours.
Bing methods: GetCrawlSettings.
bwt crawl settingsbwt crawl stats
Daily crawl statistics
Daily counts of crawled pages, pages in the index, crawl errors, and HTTP status classes. Bing updates this daily.
Bing methods: GetCrawlStats.
bwt crawl statsbwt deeplink-blocks
Block deep links (sitelinks) shown under a result
bwt deeplink-blocksbwt deeplink-blocks add
Block a deep link
changes Bing state (blocked by --read-only); Bing methods: AddDeepLinkBlock.
bwt deeplink-blocks add [flags] --deep-link-url string Deep link URL to block (required)
--market string Market, such as en-US (required)
--search-url string Result URL the deep link appears under (required)bwt deeplink-blocks list
List deep-link blocks
Bing methods: GetDeepLinkBlocks.
bwt deeplink-blocks listbwt deeplink-blocks remove
Remove a deep-link block
changes Bing state (blocked by --read-only); Bing methods: RemoveDeepLinkBlock.
bwt deeplink-blocks remove [flags] --deep-link-url string Deep link URL to block (required)
--market string Market, such as en-US (required)
--search-url string Result URL the deep link appears under (required)bwt doctor
Check configuration, credentials, site selection, and PATH
Runs local checks without network access; --verify adds one GetUserSites call. Exits nonzero when a check fails.
bwt doctor [flags] --verify Also check access with one GetUserSites callbwt experimental
Documented Bing methods that did not work in live checks
These methods are still in Bing's documentation, but a live check on 2026-10-04 failed (GetSiteMoves returned HTTP 404). Each run prints a notice. Confirm results in the Bing Webmaster Tools dashboard.
bwt experimentalbwt experimental site-move
Site moves (Bing's site move tool)
bwt experimental site-movebwt experimental site-move list
List submitted site moves
experimental; Bing methods: GetSiteMoves.
bwt experimental site-move listbwt experimental site-move submit
Tell Bing that content moved to a new location
changes Bing state (blocked by --read-only); experimental; Bing methods: SubmitSiteMove.
bwt experimental site-move submit [flags] --from string Source URL (required)
--scope string domain, host, or directory (required)
--to string Target URL (required)
--type string local or global (required)bwt fetch
Fetch as Bingbot: request a fetch and read the results
bwt fetchbwt fetch get
Show a fetched URL's status, headers, and document
The table shows the status. --save writes what Bingbot fetched (its crawl record and the response) to a file; -o json includes it too.
Bing methods: GetFetchedUrlDetails.
bwt fetch get URL [flags] bwt fetch get https://www.example.com/ --save fetched.txt --save string Write the fetched document to this filebwt fetch list
List fetch requests and whether they completed
Bing methods: GetFetchedUrls.
bwt fetch listbwt fetch request
Ask Bingbot to fetch a URL
Schedules a Bingbot fetch. Check the result later with bwt fetch list and bwt fetch get.
changes Bing state (blocked by --read-only); Bing methods: FetchUrl.
bwt fetch request URLbwt geo
Country or region targeting for pages, directories, or hosts
bwt geobwt geo add
Target a URL to a country or region
changes Bing state (blocked by --read-only); Bing methods: AddCountryRegionSettings.
bwt geo add [flags] --country string Two-letter ISO country code (required)
--type string page, directory, domain, or subdomain (default "page")
--url string Page, directory, or host URL (required)bwt geo list
List targeting settings
Bing methods: GetCountryRegionSettings.
bwt geo listbwt geo remove
Remove a targeting setting
changes Bing state (blocked by --read-only); Bing methods: RemoveCountryRegionSettings.
bwt geo remove [flags] --country string Two-letter ISO country code (required)
--type string page, directory, domain, or subdomain (default "page")
--url string Page, directory, or host URL (required)bwt indexnow
Notify Bing and other engines of new or changed URLs with IndexNow
IndexNow needs no Bing login: you host a key file on your site and submit URLs with the key. A submission to one participating endpoint is shared with the other IndexNow engines. Keys are public by design (served at https://host/KEY.txt), so the CLI keeps them in the config file.
bwt indexnowbwt indexnow key
Create and check the IndexNow key for a host
bwt indexnow keybwt indexnow key check
Fetch the key file and confirm it matches
bwt indexnow key check [flags] --host string Host to check (default: the selected site's host)
--key string Key to check (default: the saved key)
--key-location string Key file URL (default: https://host/KEY.txt)bwt indexnow key generate
Create a new key and save it for a host
Creates a 32-character hexadecimal key and shows where to host it. The key is saved in the selected profile unless --no-save. Upload a text file named KEY.txt containing only the key to the site root, then run bwt indexnow key check.
changes local configuration.
bwt indexnow key generate [flags] --host string Host the key is for (default: the selected site's host)
--no-save Print the key without saving itbwt indexnow submit
Submit new, changed, or deleted URLs with IndexNow
Groups URLs by host and sends up to 10,000 per request, one request at a time. Stops at the first rejected batch. 200 and 202 mean received (202: key validation pending); neither means indexed.
changes Bing state (blocked by --read-only).
bwt indexnow submit [URL...] [flags] bwt indexnow submit https://example.com/new-post
bwt indexnow submit --sitemap https://example.com/sitemap.xml --changed-since 2026-10-01
bwt indexnow submit --file changed.txt --endpoint bing --changed-since string With --sitemap: only URLs whose lastmod is on or after YYYY-MM-DD
--endpoint string indexnow (api.indexnow.org), bing, or an https URL (default "indexnow")
--file string Read URLs from a file, one per line (- for stdin)
--key string IndexNow key for every host (default: saved key per host, or BWT_INDEXNOW_KEY)
--key-location string Key file URL (single host only)
--sitemap string Read URLs from a sitemap or sitemap indexbwt keywords
Bing keyword research (market data, not your site's performance)
Keyword research reports Bing search demand for a query in a market. It is not filtered to your site. Bing does not document the accepted date syntax for these methods; the CLI sends YYYY-MM-DD.
bwt keywordsbwt keywords get
Impressions for one query over a date range
Bing methods: GetKeyword.
bwt keywords get QUERY [flags] --country string Market country code, such as us or gb (default "us")
--end string End date YYYY-MM-DD (default: today, UTC)
--language string Market language, such as en-US (default "en-US")
--start string Start date YYYY-MM-DD (default: 30 days before --end)bwt keywords related
Related queries with impressions over a date range
Bing methods: GetRelatedKeywords.
bwt keywords related QUERY [flags] --country string Market country code, such as us or gb (default "us")
--end string End date YYYY-MM-DD (default: today, UTC)
--language string Market language, such as en-US (default "en-US")
--start string Start date YYYY-MM-DD (default: 30 days before --end)bwt keywords stats
Weekly impression history for one query
Bing methods: GetKeywordStats.
bwt keywords stats QUERY [flags] --country string Market country code, such as us or gb (default "us")
--language string Market language, such as en-US (default "en-US")bwt links
Inbound links Bing has found
Bing's legacy link methods can return empty results for sites that have links; empty is not proof of none.
bwt linksbwt links counts
Pages on your site with inbound link counts
Pages start at 0. --all follows Bing's TotalPages (bounded by --max-pages).
Bing methods: GetLinkCounts.
bwt links counts [flags] --all Fetch pages until the end (bounded by --max-pages)
--max-pages int Upper bound on pages fetched with --all (default 100)
--page int Page to fetch, starting at 0bwt links list
Inbound links to one page, with anchor text
Pages start at 0. --all follows Bing's TotalPages (bounded by --max-pages).
Bing methods: GetUrlLinks.
bwt links list URL [flags] --all Fetch pages until the end (bounded by --max-pages)
--max-pages int Upper bound on pages fetched with --all (default 100)
--page int Page to fetch, starting at 0bwt login
Alias for auth login
Logs in with your Bing Webmaster Tools API key, which covers every site in your account. In a terminal it opens Bing Webmaster Tools, shows where the key is (Settings > API Access > API Key), and reads it from a hidden prompt; piped input is read from stdin. The key is checked with one GetUserSites call before anything is saved, then stored in the OS keychain, and a default site is chosen. Without an OS keychain, login stops unless you pass --insecure-storage (a 0600 plaintext file). Bing's OAuth registration rejects loopback redirect URIs, so there is no browser OAuth login.
changes local configuration.
bwt login [flags] bwt auth login
bwt auth login --profile client-b
printf '%s' "$KEY" | bwt auth login --no-input --profile ci
BWT_API_KEY=... bwt sites list # use a key without saving it --insecure-storage Store the key in a 0600 plaintext file instead of the OS keychain
--no-verify Save without checking the key with Bing (for a key that is not active yet)bwt params
URL query parameters Bing should ignore when normalizing URLs
bwt paramsbwt params add
Add a parameter to ignore
changes Bing state (blocked by --read-only); Bing methods: AddQueryParameter.
bwt params add NAMEbwt params disable
Disable a parameter
changes Bing state (blocked by --read-only); Bing methods: EnableDisableQueryParameter.
bwt params disable NAMEbwt params enable
Enable a parameter
changes Bing state (blocked by --read-only); Bing methods: EnableDisableQueryParameter.
bwt params enable NAMEbwt params list
List normalization parameters
Bing methods: GetQueryParameters.
bwt params listbwt params remove
Remove a parameter
changes Bing state (blocked by --read-only); Bing methods: RemoveQueryParameter.
bwt params remove NAMEbwt preview-blocks
Block or allow page previews (snippets) in Bing results
bwt preview-blocksbwt preview-blocks add
Block the preview for a URL
--reason is Bing's BlockReason number. Microsoft does not publish the enum values; existing blocks in preview-blocks list show the values in use.
changes Bing state (blocked by --read-only); Bing methods: AddPagePreviewBlock.
bwt preview-blocks add URL [flags] --reason string BlockReason number (required)bwt preview-blocks list
List active page preview blocks
Bing methods: GetActivePagePreviewBlocks.
bwt preview-blocks listbwt preview-blocks remove
Remove a preview block
changes Bing state (blocked by --read-only); Bing methods: RemovePagePreviewBlock.
bwt preview-blocks remove URLbwt quota
Remaining URL and content submission quota
Shows Bing's daily and monthly counters exactly as returned. Quotas are site-specific; nothing is assumed.
Bing methods: GetUrlSubmissionQuota, GetContentSubmissionQuota.
bwt quotabwt sitemaps
Sitemaps and feeds submitted to Bing
bwt sitemapsbwt sitemaps get
Show the sitemaps inside a sitemap index
Bing methods: GetFeedDetails.
bwt sitemaps get URLbwt sitemaps list
List submitted sitemaps and feeds
Bing methods: GetFeeds.
bwt sitemaps listbwt sitemaps remove
Remove a sitemap or feed
changes Bing state (blocked by --read-only); Bing methods: RemoveFeed.
bwt sitemaps remove URLbwt sitemaps submit
Submit a sitemap or feed URL
Supports XML sitemaps, sitemap indexes, RSS 2.0, Atom 0.3/1.0, and text feeds.
changes Bing state (blocked by --read-only); Bing methods: SubmitFeed.
bwt sitemaps submit URLbwt sites
List, add, verify, remove, and select sites
bwt sitesbwt sites add
Add a site to your account (it still needs verification)
Adds the site to your account. Adding is harmless if the site is already there. Verify ownership afterwards with an XML file, meta tag, or DNS record, then run bwt sites verify.
changes Bing state (blocked by --read-only); Bing methods: AddSite.
bwt sites add SITEbwt sites list
List the sites in your Bing Webmaster account
Lists your sites. Use these URLs exactly (scheme and trailing slash) in other commands. JSON also includes AuthenticationCode and DnsVerificationCode for verification.
Bing methods: GetUserSites.
bwt sites listbwt sites remove
Remove a site from your account
changes Bing state (blocked by --read-only); Bing methods: RemoveSite.
bwt sites remove SITEbwt sites use
Set the profile's default site (local)
Saves SITE as the default for the selected profile. A bare host is matched against your sites.
changes local configuration.
bwt sites use SITEbwt sites verify
Ask Bing to verify ownership of a site
Asks Bing to check the site's verification file, meta tag, or DNS record. Prints verified: false when Bing could not confirm ownership.
changes Bing state (blocked by --read-only); Bing methods: VerifySite.
bwt sites verify SITEbwt stats
Search performance: Bing's top queries, pages, and traffic
Bing returns its own top rows with no date range, row limit, or paging on the server. --since, --until, --limit, and --sort filter and sort locally; JSON records filtered_locally. Positions are shown as Bing returns them (their scale is undocumented).
bwt statsbwt stats detail
Position detail for one query and page
Bing returns its own top rows with no date range, row limit, or paging on the server. --since, --until, --limit, and --sort filter and sort locally; JSON records filtered_locally. Positions are shown as Bing returns them (their scale is undocumented). Bing updates this data weekly.
Bing methods: GetQueryPageDetailStats.
bwt stats detail QUERY URL [flags] --asc Sort ascending
--limit int Keep at most N rows after sorting (local)
--since string Keep rows on or after this day (YYYY-MM-DD, local filter)
--sort string Sort locally by date, clicks, impressions, ctr, query, position, avg-click-position, or avg-impression-position (descending)
--until string Keep rows on or before this day (YYYY-MM-DD, local filter)bwt stats page-queries
Queries that lead to a page
Bing returns its own top rows with no date range, row limit, or paging on the server. --since, --until, --limit, and --sort filter and sort locally; JSON records filtered_locally. Positions are shown as Bing returns them (their scale is undocumented). Bing updates this data weekly.
Bing methods: GetPageQueryStats.
bwt stats page-queries URL [flags] --asc Sort ascending
--limit int Keep at most N rows after sorting (local)
--since string Keep rows on or after this day (YYYY-MM-DD, local filter)
--sort string Sort locally by date, clicks, impressions, ctr, query, position, avg-click-position, or avg-impression-position (descending)
--until string Keep rows on or before this day (YYYY-MM-DD, local filter)bwt stats pages
Top pages
Bing returns its own top rows with no date range, row limit, or paging on the server. --since, --until, --limit, and --sort filter and sort locally; JSON records filtered_locally. Positions are shown as Bing returns them (their scale is undocumented). Bing updates this data weekly.
Bing methods: GetPageStats.
bwt stats pages [flags] --asc Sort ascending
--limit int Keep at most N rows after sorting (local)
--since string Keep rows on or after this day (YYYY-MM-DD, local filter)
--sort string Sort locally by date, clicks, impressions, ctr, query, position, avg-click-position, or avg-impression-position (descending)
--until string Keep rows on or before this day (YYYY-MM-DD, local filter)bwt stats queries
Top queries
Bing returns its own top rows with no date range, row limit, or paging on the server. --since, --until, --limit, and --sort filter and sort locally; JSON records filtered_locally. Positions are shown as Bing returns them (their scale is undocumented). Bing updates this data weekly.
Bing methods: GetQueryStats.
bwt stats queries [flags] --asc Sort ascending
--limit int Keep at most N rows after sorting (local)
--since string Keep rows on or after this day (YYYY-MM-DD, local filter)
--sort string Sort locally by date, clicks, impressions, ctr, query, position, avg-click-position, or avg-impression-position (descending)
--until string Keep rows on or before this day (YYYY-MM-DD, local filter)bwt stats query-pages
Pages that rank for a query
Bing returns its own top rows with no date range, row limit, or paging on the server. --since, --until, --limit, and --sort filter and sort locally; JSON records filtered_locally. Positions are shown as Bing returns them (their scale is undocumented). Bing updates this data weekly.
Bing methods: GetQueryPageStats.
bwt stats query-pages QUERY [flags] --asc Sort ascending
--limit int Keep at most N rows after sorting (local)
--since string Keep rows on or after this day (YYYY-MM-DD, local filter)
--sort string Sort locally by date, clicks, impressions, ctr, query, position, avg-click-position, or avg-impression-position (descending)
--until string Keep rows on or before this day (YYYY-MM-DD, local filter)bwt stats query-traffic
Traffic history for one query (top queries only)
Bing returns its own top rows with no date range, row limit, or paging on the server. --since, --until, --limit, and --sort filter and sort locally; JSON records filtered_locally. Positions are shown as Bing returns them (their scale is undocumented). Bing updates this data daily.
Bing methods: GetQueryTrafficStats.
bwt stats query-traffic QUERY [flags] --asc Sort ascending
--limit int Keep at most N rows after sorting (local)
--since string Keep rows on or after this day (YYYY-MM-DD, local filter)
--sort string Sort locally by date, clicks, impressions, ctr, query, position, avg-click-position, or avg-impression-position (descending)
--until string Keep rows on or before this day (YYYY-MM-DD, local filter)bwt stats summary
Totals over the latest N days of site traffic, computed locally
Sums GetRankAndTrafficStats over the N calendar days ending at the latest day Bing returned. CTR is recomputed from the sums. --compare previous adds the preceding N days; percentage changes are null when the earlier value is zero, and the CTR change is in percentage points.
Bing methods: GetRankAndTrafficStats.
bwt stats summary [flags] --compare string Compare with: previous
--days int Window length in days (default 28)bwt stats traffic
Site clicks and impressions by day
Bing returns its own top rows with no date range, row limit, or paging on the server. --since, --until, --limit, and --sort filter and sort locally; JSON records filtered_locally. Positions are shown as Bing returns them (their scale is undocumented). Bing updates this data daily.
Bing methods: GetRankAndTrafficStats.
bwt stats traffic [flags] --asc Sort ascending
--limit int Keep at most N rows after sorting (local)
--since string Keep rows on or after this day (YYYY-MM-DD, local filter)
--sort string Sort locally by date, clicks, impressions, ctr, query, position, avg-click-position, or avg-impression-position (descending)
--until string Keep rows on or before this day (YYYY-MM-DD, local filter)bwt status
Alias for auth status
Local only unless --verify, which makes one GetUserSites call.
bwt status [flags] --verify Check access with one GetUserSites callbwt submit
Submit URLs to Bing (prefer indexnow submit for new or changed URLs)
bwt submitbwt submit content
Push a page's full HTTP response to Bing (content submission)
Sends a complete HTTP response (status line, headers, blank line, body) for URL, base64-encoded, up to 10 MB. Works with an API key. Submitted content may be indexed even if robots.txt disallows it (NOINDEX is honored). Capture a response with: curl -s --http1.1 -i https://example.com/page -o page.http
changes Bing state (blocked by --read-only); Bing methods: SubmitContent.
bwt submit content URL [flags] curl -s --http1.1 -i https://www.example.com/ -o home.http
bwt submit content https://www.example.com/ --file home.http --dynamic-serving string none, pc, mobile, amp, tablet, or nonvisual (default "none")
--file string File with the full HTTP response (required)
--structured-data string File with structured data, normally JSON-LDbwt submit urls
Submit URLs with Bing's URL Submission API
Submits URLs for crawling. One URL uses SubmitUrl; more are sent in batches of up to 500 with SubmitUrlBatch, one after another. On a failure the command reports the batches Bing accepted and stops; it never resubmits automatically because repeated submissions spend quota. Accepted means Bing received the URLs; it does not mean they are indexed.
changes Bing state (blocked by --read-only); Bing methods: SubmitUrl, SubmitUrlBatch, GetUrlSubmissionQuota.
bwt submit urls [URL...] [flags] bwt submit urls https://example.com/new-page
bwt submit urls --file urls.txt --check-quota --batch-size int URLs per batch (1-500) (default 500)
--check-quota Read the URL submission quota first
--file string Read URLs from a file, one per line (- for stdin)bwt update
Update bwt to the latest release (SHA-256 verified)
Downloads the latest GitHub release for this OS and architecture, verifies it against the release's checksums.txt, and replaces the running bwt executable. Works on macOS, Linux, and Windows; on Windows the old executable is renamed to bwt.exe.old and deleted on a later run.
Asks "Update now? [Y/n]" when stdin is a terminal; --yes skips the question, and --no-input requires --yes. --check only reports the current and latest versions. A bwt in a Go bin directory ($GOBIN, $GOPATH/bin, or ~/go/bin) is not replaced: rebuild it from your checkout instead. --read-only blocks installing but allows --check.
Update notice: in an interactive terminal, bwt checks the github.com releases page (not the GitHub API, so its rate limit never applies) for a new release at most once a day and, after a command's output, prints a notice on stderr. The command that runs the day's check waits up to 1 second after its output for the answer; other commands never wait. bwt update and update --check store their result in the same cache. It never checks when stderr is not a terminal, when CI is set, with --quiet, or when BWT_NO_UPDATE_NOTIFIER or NO_UPDATE_NOTIFIER is set (to anything).
bwt update [flags] bwt update --check
bwt update
bwt update --yes --no-input --check Only report the current and latest versions (always checks the github.com releases page)bwt url
What Bing knows about a URL and the URLs under it
Bing's URL data has no explicit indexed verdict. IsPage and HttpStatus describe crawling, not indexing.
bwt urlbwt url children
URLs under a URL, with crawl details and filters
Lists URLs below URL. Pages start at 0; --all continues until Bing returns an empty page. This is a read even though Bing implements it with POST.
Bing methods: GetChildrenUrlInfo.
bwt url children URL [flags] --all Fetch pages until the end (bounded by --max-pages)
--crawl-date string Crawled within: any, last-week, last-two-weeks, last-three-weeks (default "any")
--discovered string Discovered within: any, last-week, last-month (default "any")
--doc-flags string Comma list: blocked-by-robots, malware
--http string Comma list: 2xx, 3xx, 301, 302, 4xx, 5xx, other
--max-pages int Upper bound on pages fetched with --all (default 100)
--page int Page to fetch, starting at 0bwt url children-traffic
Clicks and impressions for URLs under a URL
Bing methods: GetChildrenUrlTrafficInfo.
bwt url children-traffic URL [flags] --all Fetch pages until the end (bounded by --max-pages)
--max-pages int Upper bound on pages fetched with --all (default 100)
--page int Page to fetch, starting at 0bwt url info
Crawl details for one URL
Shows last crawl, discovery date, HTTP status, size, anchors, and child count. A zero status or IsPage=false is not an indexing verdict.
Bing methods: GetUrlInfo.
bwt url info URLbwt url traffic
Clicks and impressions for one URL (window undocumented)
Bing methods: GetUrlTrafficInfo.
bwt url traffic URLbwt users
Users and roles delegated on a site
bwt usersbwt users add
Delegate access to a user
Grants EMAIL a role on the site (or on --delegated-url, a host under it). --auth-code defaults to the delegated site's AuthenticationCode from your site list.
changes Bing state (blocked by --read-only); Bing methods: AddSiteRoles, GetUserSites.
bwt users add EMAIL [flags] --auth-code string Authentication code of the delegated site (default: looked up)
--delegated-url string Site or host to delegate (default: the selected site)
--role string Role: admin, read-only, or read-write (required)bwt users list
List users with access to the site
Bing methods: GetSiteRoles.
bwt users list [flags] --all-subdomains Include users of all subdomainsbwt users remove
Remove a user's delegated access
Looks up the user's role with GetSiteRoles and removes exactly that role. Several matches are an error; narrow them with --delegated-url.
changes Bing state (blocked by --read-only); Bing methods: GetSiteRoles, RemoveSiteRole.
bwt users remove EMAIL [flags] --delegated-url string Only the role on this site or hostbwt version
Print build information
Prints the version, commit, and build date. latest and update_available come from the last release check (see bwt update --help) and appear only when one is cached; version never uses the network.
bwt version