# Microsoft Copilot Responses Scraper (`lofomachines/microsoft-copilot-responses-scraper`) Actor

Extract Microsoft Copilot answers, citation URLs, inline references, tables and product recommendations. Track brand visibility and competitor mentions for GEO and AI search research. No Microsoft login required. Faster and cheapest.

- **URL**: https://apify.com/lofomachines/microsoft-copilot-responses-scraper.md
- **Developed by:** [Lofomachines](https://apify.com/lofomachines) (community)
- **Stats:** 11 total users, 9 monthly users, 97.1% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Microsoft Copilot Responses Scraper — AI Search, GEO & Citation Tracking

Collect **Microsoft Copilot responses, citation URLs, inline references, comparison tables, and product recommendations** in a structured dataset. Turn the questions your customers ask into evidence for **Generative Engine Optimization (GEO)**, answer engine optimization (AEO), competitor research, and AI search visibility reporting.

Enter your questions, choose a country and language, and optionally add brands to track. **No Microsoft account, Copilot subscription, or external API key is required.** An Apify account is needed to run the Actor.

### What can you do with Microsoft Copilot response data?

- **Monitor brand visibility in AI search.** Check whether your brand appears in answers to high-intent customer questions.
- **Research competitors.** Compare brand mentions across the same set of questions and identify which alternatives receive attention.
- **Discover cited websites.** See the publishers, reviews, comparison pages, and domains supporting an answer.
- **Plan GEO and AEO content.** Find questions, topics, and sources worth investigating in your content strategy.
- **Track product discovery.** Review products named in shopping answers and product details when provided.
- **Create agency reports.** Deliver answer snapshots, citation evidence, and brand mention counts to clients.
- **Monitor changes over time.** Schedule repeated runs and compare timestamped datasets in your preferred analytics tool.

This Actor is designed for SEO and GEO agencies, content marketers, e-commerce teams, SaaS businesses, brand researchers, and developers building AI visibility dashboards.

### Quick start

1. Add one or more questions, one per line.
2. Choose your preferred country and language.
3. Optionally enter your brand and competitor names.
4. Start the Actor and review **Overview**, **Citations**, **Products**, **Brand visibility**, or **Full response**.
5. Export the dataset or connect it to your workflow.

#### Example input

```json
{
  "queries": [
    "What are the best CRM platforms for small businesses?",
    "What is the best iPhone cover to buy in New York?"
  ],
  "market": "en-US",
  "brands": ["HubSpot", "Salesforce", "OtterBox"]
}
```

| Input | Required | Description |
| --- | --- | --- |
| `queries` | Yes | 1–1,000 questions, each up to 2,000 characters. Exact duplicate questions are collected once per run. |
| `market` | No | Preferred country and language. Default: `en-US`. |
| `brands` | No | Up to 50 brand or competitor names for literal mention tracking. |

Available markets: United States, United Kingdom, Canada, Australia, Germany, France, Italy, Spain, Brazil, Japan, and India. Include a city or region in your question for local research. Market preference does not guarantee a particular answer language or an exact physical location.

### Structured Microsoft Copilot output

Each unique question produces one dataset record. The output keeps answer content, citations, products, and measurement fields together so you can compare questions without joining separate datasets. Records can finish in a different order from your input.

| Field | What you receive |
| --- | --- |
| `query`, `market` | Your question and requested audience |
| `status`, `responseComplete` | Whether the response is complete, partial, or unavailable |
| `text` | Answer content in Markdown, including lists and tables |
| `rawResponse` | The same unrewritten answer content as `text`; citation metadata is supplied separately |
| `tables` | Comparison tables with headers and rows |
| `sources` | Cited URLs, titles, domains, and available snippets |
| `inlineCitations` | Source references connected to their surrounding answer text |
| `products` | Available product cards and explicitly labelled product mentions |
| `recommendations` | Named list entries and section headings for further analysis; these may include features and categories |
| `links` | Other links appearing in the answer |
| `researchSources` | Additional research sources, kept separate from cited sources |
| `relatedQuestions` | Follow-up questions, when supplied |
| `brandMentions` | Literal mention counts, first character position, and short context snippets |
| `sourceDomains` | Unique cited domains |
| `citationCount`, `inlineCitationCount`, `productCount`, `wordCount` | Convenient summary counts |
| `additionalSections` | Additional answer sections, when present |
| `collectedAt`, `durationMs`, `requestId` | Timestamp, elapsed processing time, and stable question identifier |
| `warnings`, `error` | Availability or completeness notes |

#### Example output

The following shortened example is illustrative. Actual answers, citations, and products vary by question and collection time.

```json
{
  "query": "What are the best CRM platforms for small businesses?",
  "market": "en-US",
  "status": "success",
  "responseComplete": true,
  "text": "Compare HubSpot, Zoho CRM, and Pipedrive against your budget and sales workflow.",
  "rawResponse": "Compare HubSpot, Zoho CRM, and Pipedrive against your budget and sales workflow.",
  "tables": [],
  "sources": [
    {
      "id": 1,
      "url": "https://www.forbes.com/advisor/business/software/best-crm-software/",
      "title": "Best CRM Software",
      "domain": "www.forbes.com",
      "section": "citations",
      "snippet": null
    }
  ],
  "inlineCitations": [
    {
      "id": 1,
      "url": "https://www.forbes.com/advisor/business/software/best-crm-software/",
      "title": "Best CRM Software",
      "textAnchor": "Compare HubSpot, Zoho CRM, and Pipedrive against your budget and sales workflow."
    }
  ],
  "products": [],
  "brandMentions": [
    {
      "brand": "HubSpot",
      "mentioned": true,
      "mentionCount": 1,
      "firstPosition": 8,
      "snippets": ["Compare HubSpot, Zoho CRM, and Pipedrive against your budget and sales workflow."]
    }
  ],
  "citationCount": 1,
  "productCount": 0,
  "warnings": [],
  "error": null
}
```

Product records include `name`, `position`, `evidenceType`, and available `url`, `imageUrl`, `priceText`, `currency`, `seller`, `rating`, and `description`. `productCard` indicates structured product details; `answerMention` identifies a named product in the answer. An answer mention is not a verified merchant listing. Missing details remain `null`; no prices or ratings are invented. Narrative product mentions may not all appear in `products`; the full answer remains available in `text`.

### Microsoft Copilot GEO reporting workflows

#### n8n

Use the Apify integration to run a saved question set, retrieve dataset items, and append the results to Google Sheets, Airtable, or a database. Filter on `status` and `brandMentions` before creating a visibility report.

#### Make

Connect an Apify run to your reporting scenario. Send citation domains to a spreadsheet and route questions mentioning competitors into your content research backlog.

#### Zapier

Trigger a workflow after a completed Apify run, then create spreadsheet rows or notifications for the questions and brands you track.

#### APIs and dashboards

Use the Apify API to start runs and retrieve datasets. JSON preserves nested citations, tables, and product details. CSV and Excel work well for Overview; dedicated citation and product views provide convenient rows for spreadsheet analysis. Schedule runs in Apify to create daily, weekly, or monthly snapshots.

### Frequently asked questions

#### Does this require a Microsoft login?

No. End users do not need to authenticate with Microsoft or provide an external platform key.

#### Can I track competitor mentions?

Yes. Add brand names to `brands`. Counts are case-insensitive literal matches with word boundaries. They measure mentions, not sentiment, recommendation strength, market share, or ranking.

#### Are all research sources citations?

No. `sources` and `inlineCitations` describe citations attached to the answer. Additional research URLs are in `researchSources` and should not be counted as citation wins.

#### Will every question return products or tables?

No. These fields depend on the response. Empty arrays mean no matching items were available. Prices and other product details reflect the answer snapshot and may change.

#### Can answers change between runs?

Yes. AI answers and source selections can vary with time, region, and service availability. Repeated observations are more useful than treating a single answer as a permanent ranking. AI-generated statements may also be inaccurate; keep citations with your reports.

#### What happens when a response is unavailable?

The question remains in the dataset with an explicit status and error. Partial responses are labelled separately. If every question is unavailable, the run is marked failed and its dataset remains available for inspection. Filter to `status: "success"` when building reports that require complete responses.

#### Is this an official Microsoft product?

No. This is an independent Lofomachines Actor and is not affiliated with or endorsed by Microsoft.

### More Lofomachines Actors for SEO and competitive research

- [GEO Audit — AI Search Optimization Checker](https://apify.com/lofomachines/geo-technical-audit) — assess website readiness for AI search visibility.
- [Google Search Results Scraper](https://apify.com/lofomachines/google-serp-scraper) — compare traditional search visibility with AI answer visibility.
- [Website URL Extractor](https://apify.com/lofomachines/urls-extractor) — build website content inventories for audits and research.
- [Google News Scraper](https://apify.com/lofomachines/google-news-scraper) — follow coverage of brands, products, and competitors.
- [Shopify Competitor Product Intelligence](https://apify.com/lofomachines/shopify-competitor-product-intelligence) — extend product research with competitor catalog data.

Explore the [Lofomachines Actor collection](https://apify.com/lofomachines) for more research and automation tools.

# Actor input Schema

## `queries` (type: `array`):

Enter one question per line, up to 1,000 questions. Include a city or region in the question for local research.

## `market` (type: `string`):

Preferred audience for the responses. Availability and response language can vary.

## `brands` (type: `array`):

Brand or competitor names to measure literal mentions in each answer. Use up to 50 names.

## Actor input object example

```json
{
  "queries": [
    "What are the best CRM platforms for small businesses?"
  ],
  "market": "en-US"
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `citations` (type: `string`):

No description

## `products` (type: `string`):

No description

## `brands` (type: `string`):

No description

## `details` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "queries": [
        "What are the best CRM platforms for small businesses?"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("lofomachines/microsoft-copilot-responses-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "queries": ["What are the best CRM platforms for small businesses?"] }

# Run the Actor and wait for it to finish
run = client.actor("lofomachines/microsoft-copilot-responses-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "queries": [
    "What are the best CRM platforms for small businesses?"
  ]
}' |
apify call lofomachines/microsoft-copilot-responses-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lofomachines/microsoft-copilot-responses-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/n2zf5sXid7RSwvfYK/builds/afGEevyFYbiCk2hlC/openapi.json
