Nimbryxo Studio

Bing Organic Search Results Scraper

Run keyword queries against Bing and get ranked organic results with title, URL, display URL and snippet for each position, localized to any market and language.

Input schema

Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.

FieldTypeRequiredDescription
modestringrequiredWhich Bing surface to collect. Web returns organic web results; News, Images and Videos return that vertical; Autocomplete returns query suggestions.
queriesarrayoptionalOne or more searches, exactly as you would type them into Bing. Quotes and search operators work. Repeat queries are searched once.
maxResultsPerQueryintegeroptionalMaximum records to collect for each query, across result pages. Bing may return fewer when its own list ends.
Show all input fields
FieldTypeRequiredDescription
modestringrequiredWhich Bing surface to collect. Web returns organic web results; News, Images and Videos return that vertical; Autocomplete returns query suggestions.
queriesarrayoptionalOne or more searches, exactly as you would type them into Bing. Quotes and search operators work. Repeat queries are searched once.
maxResultsPerQueryintegeroptionalMaximum records to collect for each query, across result pages. Bing may return fewer when its own list ends.
marketstringoptionalThe Bing market and language to search in. Results, interface language and ranking can differ by market.
safeSearchstringoptionalBing's adult-content filter. Moderate is Bing's own default; Strict removes adult pages and images; Off keeps everything Bing returns.
dateRangestringoptionalKeep results published inside this window when Bing prints a date for them. Results without a printed date are kept.
imageSizestringoptionalPrefer small, medium or large images. The choice is applied through Bing's image-size filter.
videoDurationstringoptionalKeep short (under 5 minutes), medium (5–20 minutes) or long (over 20 minutes) videos.
newsSortstringoptionalOrder news articles by Bing's relevance or newest first.

Download the published input schema

View complete JSON
{
  "description": "Search Bing's web, news, image, video and autocomplete surfaces for one or more queries.",
  "properties": {
    "dateRange": {
      "default": "anyTime",
      "description": "Keep results published inside this window when Bing prints a date for them. Results without a printed date are kept.",
      "editor": "select",
      "enum": [
        "anyTime",
        "past24Hours",
        "pastWeek",
        "pastMonth",
        "pastYear"
      ],
      "enumTitles": [
        "Any time",
        "Past 24 hours",
        "Past week",
        "Past month",
        "Past year"
      ],
      "prefill": "anyTime",
      "title": "Published within",
      "type": "string"
    },
    "imageSize": {
      "default": "any",
      "description": "Prefer small, medium or large images. The choice is applied through Bing's image-size filter.",
      "editor": "select",
      "enum": [
        "any",
        "small",
        "medium",
        "large"
      ],
      "enumTitles": [
        "Any size",
        "Small",
        "Medium",
        "Large"
      ],
      "prefill": "any",
      "title": "Image size (mode=imageSearch)",
      "type": "string"
    },
    "market": {
      "default": "en-US",
      "description": "The Bing market and language to search in. Results, interface language and ranking can differ by market.",
      "editor": "select",
      "enum": [
        "en-US",
        "en-GB",
        "en-AU",
        "en-CA",
        "en-IN",
        "en-ID",
        "en-MY",
        "en-NZ",
        "en-PH",
        "en-ZA",
        "es-AR",
        "es-CL",
        "es-ES",
        "es-MX",
        "es-US",
        "pt-BR",
        "fr-FR",
        "fr-BE",
        "fr-CA",
        "fr-CH",
        "de-DE",
        "de-AT",
        "de-CH",
        "it-IT",
        "nl-NL",
        "nl-BE",
        "da-DK",
        "fi-FI",
        "no-NO",
        "sv-SE",
        "pl-PL",
        "tr-TR",
        "ru-RU",
        "ja-JP",
        "ko-KR",
        "zh-CN",
        "zh-HK",
        "zh-TW"
      ],
      "enumTitles": [
        "English (United States)",
        "English (United Kingdom)",
        "English (Australia)",
        "English (Canada)",
        "English (India)",
        "English (Indonesia)",
        "English (Malaysia)",
        "English (New Zealand)",
        "English (Philippines)",
        "English (South Africa)",
        "Spanish (Argentina)",
        "Spanish (Chile)",
        "Spanish (Spain)",
        "Spanish (Mexico)",
        "Spanish (United States)",
        "Portuguese (Brazil)",
        "French (France)",
        "French (Belgium)",
        "French (Canada)",
        "French (Switzerland)",
        "German (Germany)",
        "German (Austria)",
        "German (Switzerland)",
        "Italian (Italy)",
        "Dutch (Netherlands)",
        "Dutch (Belgium)",
        "Danish (Denmark)",
        "Finnish (Finland)",
        "Norwegian (Norway)",
        "Swedish (Sweden)",
        "Polish (Poland)",
        "Turkish (Türkiye)",
        "Russian (Russia)",
        "Japanese (Japan)",
        "Korean (South Korea)",
        "Chinese (China)",
        "Chinese (Hong Kong)",
        "Chinese (Taiwan)"
      ],
      "prefill": "en-US",
      "title": "Market",
      "type": "string"
    },
    "maxResultsPerQuery": {
      "default": 10,
      "description": "Maximum records to collect for each query, across result pages. Bing may return fewer when its own list ends.",
      "maximum": 250,
      "minimum": 1,
      "prefill": 3,
      "title": "Results per query",
      "type": "integer"
    },
    "mode": {
      "default": "webSearch",
      "description": "Which Bing surface to collect. Web returns organic web results; News, Images and Videos return that vertical; Autocomplete returns query suggestions.",
      "editor": "select",
      "enum": [
        "webSearch",
        "newsSearch",
        "imageSearch",
        "videoSearch",
        "autocomplete"
      ],
      "enumTitles": [
        "Web results",
        "News articles",
        "Images",
        "Videos",
        "Autocomplete suggestions"
      ],
      "prefill": "webSearch",
      "title": "Result type",
      "type": "string"
    },
    "newsSort": {
      "default": "relevance",
      "description": "Order news articles by Bing's relevance or newest first.",
      "editor": "select",
      "enum": [
        "relevance",
        "mostRecent"
      ],
      "enumTitles": [
        "Relevance",
        "Newest first"
      ],
      "prefill": "relevance",
      "title": "News order (mode=newsSearch)",
      "type": "string"
    },
    "queries": {
      "description": "One or more searches, exactly as you would type them into Bing. Quotes and search operators work. Repeat queries are searched once.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "maxItems": 100,
      "minItems": 1,
      "prefill": [
        "best coffee shops seattle"
      ],
      "title": "Search queries",
      "type": "array"
    },
    "safeSearch": {
      "default": "moderate",
      "description": "Bing's adult-content filter. Moderate is Bing's own default; Strict removes adult pages and images; Off keeps everything Bing returns.",
      "editor": "select",
      "enum": [
        "moderate",
        "strict",
        "off"
      ],
      "enumTitles": [
        "Moderate (Bing default)",
        "Strict",
        "Off"
      ],
      "prefill": "moderate",
      "title": "SafeSearch",
      "type": "string"
    },
    "videoDuration": {
      "default": "any",
      "description": "Keep short (under 5 minutes), medium (5–20 minutes) or long (over 20 minutes) videos.",
      "editor": "select",
      "enum": [
        "any",
        "short",
        "medium",
        "long"
      ],
      "enumTitles": [
        "Any length",
        "Short (under 5 minutes)",
        "Medium (5–20 minutes)",
        "Long (over 20 minutes)"
      ],
      "prefill": "any",
      "title": "Video length (mode=videoSearch)",
      "type": "string"
    }
  },
  "required": [
    "mode"
  ],
  "schemaVersion": 1,
  "title": "Bing Search Scraper Input",
  "type": "object"
}

Output schema

Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.

FieldTypeRequiredDescription
resultsstringoptionalDataset containing every web, news, image, video or autocomplete record collected by the run.

Download the published output schema

View complete JSON
{
  "actorOutputSchemaVersion": 1,
  "description": "One record per Bing web result, news article, image, video or autocomplete suggestion, with its query, rank, page, destination URL and the details Bing shows for it.",
  "properties": {
    "results": {
      "description": "Dataset containing every web, news, image, video or autocomplete record collected by the run.",
      "template": "{{links.apiDefaultDatasetUrl}}/items",
      "title": "Bing results",
      "type": "string"
    }
  },
  "title": "Bing Search Results, News & Media Scraper Output",
  "type": "object"
}

Dataset schema

Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.

Download the published dataset schema

View complete JSON
{
  "actorSpecification": 1,
  "fields": {
    "properties": {
      "breadcrumb": {
        "description": "Path crumbs Bing shows under the title",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "channel": {
        "description": "Video channel or uploader",
        "type": "string"
      },
      "dateText": {
        "description": "Date exactly as Bing printed it",
        "type": "string"
      },
      "description": {
        "description": "Snippet or description",
        "type": "string"
      },
      "displayUrl": {
        "description": "URL or domain Bing displays",
        "type": "string"
      },
      "duration": {
        "description": "Video duration as printed by Bing",
        "type": "string"
      },
      "height": {
        "description": "Original image height",
        "type": "integer"
      },
      "imageId": {
        "description": "Bing image identifier",
        "type": "string"
      },
      "imageUrl": {
        "description": "Original image URL",
        "type": "string"
      },
      "market": {
        "description": "Bing market used for the query",
        "type": "string"
      },
      "page": {
        "description": "Result page number",
        "type": "integer"
      },
      "platform": {
        "description": "Video platform, e.g. YouTube or TikTok",
        "type": "string"
      },
      "position": {
        "description": "1-based rank within the query",
        "type": "integer"
      },
      "query": {
        "description": "Search query that produced this record",
        "type": "string"
      },
      "rank": {
        "description": "Alias of position",
        "type": "integer"
      },
      "recordType": {
        "description": "webResult, newsArticle, imageResult, videoResult or autocompleteSuggestion",
        "type": "string"
      },
      "resultType": {
        "description": "web, news, image, video or autocomplete",
        "type": "string"
      },
      "richSnippet": {
        "description": "Rich snippet text shown with a web result",
        "type": "string"
      },
      "scrapedAt": {
        "description": "ISO 8601 UTC scrape timestamp",
        "type": "string"
      },
      "searchUrl": {
        "description": "Bing page or endpoint that produced this record",
        "type": "string"
      },
      "siteName": {
        "description": "Site name shown by Bing",
        "type": "string"
      },
      "sitelinks": {
        "description": "Sitelinks shown under a web result",
        "items": {
          "properties": {
            "title": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "snippet": {
        "description": "Alias of description",
        "type": "string"
      },
      "source": {
        "description": "News publisher or author shown by Bing",
        "type": "string"
      },
      "suggestion": {
        "description": "Autocomplete suggestion",
        "type": "string"
      },
      "thumbnailUrl": {
        "description": "Bing-hosted thumbnail URL",
        "type": "string"
      },
      "title": {
        "description": "Result title",
        "type": "string"
      },
      "url": {
        "description": "Destination URL (Bing redirects decoded)",
        "type": "string"
      },
      "videoId": {
        "description": "Bing video identifier",
        "type": "string"
      },
      "views": {
        "description": "View count as printed by Bing",
        "type": "string"
      },
      "width": {
        "description": "Original image width",
        "type": "integer"
      }
    },
    "type": "object"
  },
  "title": "Bing Results",
  "views": {
    "overview": {
      "display": {
        "component": "table",
        "properties": {
          "description": {
            "format": "text",
            "label": "Description"
          },
          "position": {
            "format": "number",
            "label": "#"
          },
          "query": {
            "format": "text",
            "label": "Query"
          },
          "resultType": {
            "format": "text",
            "label": "Type"
          },
          "title": {
            "format": "text",
            "label": "Title"
          },
          "url": {
            "format": "link",
            "label": "URL"
          }
        }
      },
      "title": "Bing results",
      "transformation": {
        "fields": [
          "query",
          "resultType",
          "position",
          "title",
          "url",
          "description"
        ]
      }
    }
  }
}

Key-value schema

Published key-value store definitions, when provided by this build.

This definition is not present in the default published build. See the published README for available documentation.

Published README

Read the full published documentation

Bing Search Results, News & Media Scraper

Bing's results are not a copy of Google's: the ranking, the sites that win, and the snippets and dates shown all differ. This actor turns a list of searches into clean, ranked rows from five Bing surfaces — web results, news, images, videos and autocomplete — in the market and language your audience uses. Destination links are decoded from Bing's tracking wrapper, so every URL is ready to use.

What this actor does

  • Five result types in one run: organic web results, news articles, images, videos and autocomplete suggestions.
  • Many searches at once: send a list of queries and every row is tagged with the query that produced it.
  • Rank and page on every row: follow Bing's own "next page" links and keep a stable position, so rank tracking and page-level analysis work out of the box.
  • Localized results: 38 Bing markets, from en-US and en-GB to ja-JP, pt-BR and zh-TW.
  • Useful filters: SafeSearch, publication window, image size, video length and newest-first news ordering.
  • Clean links and clean data: Bing redirect links are decoded, duplicate URLs and off-topic web rows are removed, and empty fields are omitted rather than written as null.

Output per result

Every row contains the query, its position (also available as rank), the page it came from, the market, the resultType (web, news, image, video or autocomplete), the matching recordType (webResult, newsArticle, imageResult, videoResult or autocompleteSuggestion) and the exact Bing searchUrl used, plus scrapedAt in UTC ISO format.

Web results (mode = webSearch)

  • title, url, displayUrl, description (also available as snippet)
  • siteName — the site name Bing displays
  • breadcrumb — the path crumbs Bing shows under the title, when present
  • dateText — the date exactly as Bing printed it, when present
  • sitelinks — additional links Bing shows under a result, when present
  • richSnippet — extra fact text Bing shows with a result, when present

News articles (mode = newsSearch)

  • title, url, displayUrl, description / snippet
  • source — the publisher or author Bing credits
  • dateText — how long ago the story was published, as Bing shows it
  • imageUrl and thumbnailUrl — article image, when Bing supplies one

Images (mode = imageSearch)

  • title, description / snippet
  • imageUrl — the original image
  • thumbnailUrl — Bing's hosted thumbnail
  • url and displayUrl — the page the image appears on
  • width, height, imageId

Videos (mode = videoSearch)

  • title, url, displayUrl
  • thumbnailUrl, duration, views
  • dateText, platform, channel, videoId

Autocomplete (mode = autocomplete)

  • suggestion, title (same text), position / rank

Input

Field Type Default Description
mode string webSearch webSearch, newsSearch, imageSearch, videoSearch or autocomplete
queries array – One or more searches, exactly as you would type them into Bing. Required; up to 100 per run.
maxResultsPerQuery integer 10 Maximum rows per query, across pages (1–250).
market string en-US Bing market and language. 38 markets are listed in the dropdown.
safeSearch string moderate moderate, strict or off.
dateRange string anyTime anyTime, past24Hours, pastWeek, pastMonth or pastYear. Rows without a printed date are kept.
imageSize string any Image mode only: any, small, medium or large, applied through Bing's image-size filter.
videoDuration string any Video mode only: any, short (under 5 min), medium (5–20 min) or long (over 20 min).
newsSort string relevance News mode only: relevance or mostRecent.

Example: organic web results for several keywords

{
  "mode": "webSearch",
  "queries": [
    "best coffee shops seattle",
    "python web frameworks",
    "cheap flights to rome"
  ],
  "maxResultsPerQuery": 30,
  "market": "en-US",
  "safeSearch": "moderate",
  "dateRange": "anyTime"
}

Example: recent news in a local market

{
  "mode": "newsSearch",
  "queries": ["electric vehicles", "renewable energy"],
  "maxResultsPerQuery": 40,
  "market": "de-DE",
  "safeSearch": "moderate",
  "dateRange": "pastWeek",
  "newsSort": "mostRecent"
}

Example: large product images

{
  "mode": "imageSearch",
  "queries": ["mechanical keyboard", "standing desk"],
  "maxResultsPerQuery": 100,
  "market": "en-GB",
  "safeSearch": "strict",
  "imageSize": "large"
}

Example: short videos and autocomplete

{
  "mode": "videoSearch",
  "queries": ["sourdough tutorial"],
  "maxResultsPerQuery": 50,
  "market": "en-US",
  "videoDuration": "short"
}
{
  "mode": "autocomplete",
  "queries": ["mechanical keyboard"],
  "maxResultsPerQuery": 10,
  "market": "en-US"
}

Use cases

  • Bing rank tracking — record where your pages and competitors appear for a keyword set, with the page number and displayed URL.
  • Cross-market SEO research — compare the same query in the US, UK, Germany, Japan and Brazil without changing your browser settings.
  • News monitoring — collect recent headlines, publishers, dates and images for a topic or brand.
  • Image and video research — build a media list with original image URLs, dimensions, durations and channels.
  • Content gap analysis — see which titles, snippets, breadcrumbs and dates Bing rewards for a topic.
  • Keyword expansion — use Bing autocomplete to discover the phrases searchers actually type.

FAQ

No. The actor works without any account, login, cookie or proxy setup, and chooses a working connection to Bing automatically.

How many results can one query return?

You can request up to 250 rows per query. Bing decides how deep its own list goes: news, images and videos usually paginate further than web results, and some web queries stop after the first page. The actor reports fewer rows honestly instead of inventing positions.

Why did I get fewer rows than I requested?

Bing's own result list can end, repeat a page, or return fewer organic results for a narrow query or a strict filter. The actor stops when Bing stops producing new URLs. Every run ends with a single Run summary: log line that names each query that came back short, with the number of rows it did return, and the same text is set as the run's final status message.

What happens when Bing answers a query with results for a different query?

Bing occasionally serves a cached page for an unrelated search. The actor checks every web result against the words of your query and drops rows that answer something else. If no row passes, the query is reported as having no usable results.

How does the actor connect to Bing?

It tries a direct browser-like request first, then a simple client profile, then Apify's free datacenter proxy automatically. You do not configure a proxy or supply credentials. If every route is blocked for a query, the actor reports that query as having no usable results instead of saving a decoy page.

Which markets are supported?

The dropdown lists 38 Bing markets. Bing can serve some markets differently depending on where the run executes; if a market returns no usable page, try en-US or a nearby market.

How do the date filters work?

The actor asks Bing for the selected window and also checks the date printed on each result. A result with no printed date is kept, because there is nothing to compare. News dates are shown as relative times (for example, "4 hours ago"), exactly as Bing prints them.

Does this include ads, People Also Ask or the AI answer?

No. The actor returns organic results and the media and autocomplete surfaces listed above. Sponsored placements and interactive SERP widgets are not included, so ranking positions are organic positions.

Are image and video URLs ready to use?

Image results include both the original image URL and a Bing-hosted thumbnail; video rows include the video page URL and a thumbnail. Original media can be hotlink-protected by its host, so use the thumbnail when you need a reliable preview.

Are duplicate URLs removed?

Yes, duplicates are removed within each query. If Bing repeats a page, the repeat is skipped and the actor moves on or stops when no new URLs remain.

Is this affiliated with Microsoft or Bing?

No. This is an independent tool that reads publicly available Bing result pages. It is not affiliated with or endorsed by Microsoft.

Limitations

  • Web pagination can stop early. Bing sometimes serves the same web page again instead of the next page. The actor detects the repeat, tries the other free connection routes, and reports the shortfall. News, images and videos generally paginate further.
  • One query can be blank while another works. On a shared datacenter connection Bing sometimes answers a valid query with a decoy page or no results. The actor retries every free route and reports that query instead of saving unrelated rows; rerun later or try another query/market.
  • Web relevance is word-based, not semantic. With a multi-word query, Bing can return a nearby topic and a row that matches one word (for example a Tokyo tourism page for "Tokyo weather") can still appear. The actor drops rows that match no query word and reports zero-result queries; it does not re-rank by meaning.
  • Bing changes its layout. Sitelinks, rich facts and printed dates appear only when Bing shows them. Fields the source does not provide are omitted, never guessed.
  • Rankings move. Bing reorders results between visits and between markets. Treat a run as a snapshot, not a permanent ranking.
  • News recency tops out at 30 days on Bing's side. For news, pastYear behaves like the last 30 days; rows with no printed date are kept.
  • Autocomplete suggestions are capped by Bing. One query usually returns about 12-25 suggestions even when maxResultsPerQuery is higher.
  • maxResultsPerQuery is a cap, not a promise. The source decides how many unique rows exist for a query. The run log ends with a Run summary: line naming every query that returned fewer rows, and the same summary is set as the run's final status message.

Python quickstart

Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.

Open the step-by-step Python guide →

Source build Bm8XvmGrNRDiPNUMS. Documentation is regenerated from the default published build; private drafts are not included.