Collect Microsoft Copilot answers through the Scrapeless LLM Chat Scraper API, including Markdown responses, outbound links, and source citations, without reverse-engineering the Copilot UI, maintaining browsers, or building your own anti-blocking stack.
Use this repo when you need a repeatable way to monitor Copilot answers for GEO and AI search visibility, compare prompts across regions, audit cited sources, or pipe AI responses into analytics and automation workflows.
- Full documentation: https://docs.scrapeless.com/en/llm-chat-scraper/quickstart/introduction/
- Get your
x-api-token: https://app.scrapeless.com/passport/login?redirect=/quick-start - API endpoint:
POST https://api.scrapeless.com/api/v2/scraper/execute
Send a single POST request to the Scrapeless endpoint with your API token in
the x-api-token header. The body specifies the actor (scraper.copilot) and
an input object with your prompt and options. The API runs the query and
returns the structured result in task_result.
POST https://api.scrapeless.com/api/v2/scraper/execute
Content-Type: application/json
x-api-token: <YOUR_API_TOKEN>curl 'https://api.scrapeless.com/api/v2/scraper/execute' \
--header 'Content-Type: application/json' \
--header 'x-api-token: YOUR_API_TOKEN' \
--data '{
"actor": "scraper.copilot",
"input": {
"prompt": "Recommended attractions in New York",
"country": "US",
"mode": "search"
}
}'To receive the result asynchronously, add a webhook object:
"webhook": { "url": "https://www.your-webhook.com" }The request body has three top-level fields: actor (always scraper.copilot),
input (below), and an optional webhook.
Parameter (input.*) |
Type | Required | Description |
|---|---|---|---|
prompt |
string | Yes | Prompt to send to Copilot. |
country |
string | Yes | Country / region code (e.g. US, JP). |
mode |
string | Yes | Mode to run: search, smart, chat (Quick response), reasoning (Think Deeper), or study (Study and learn). |
A successful call returns a status envelope; the scraped data lives in
task_result:
{
"status": "success",
"task_id": "e705743d-da2e-4163-9ccd-eef62529ff72",
"task_result": {
"prompt": "Recommended attractions in New York",
"result_text": "...markdown answer...",
"mode": "search",
"links": [],
"citations": [
{ "title": "...", "url": "https://..." }
]
}
}| Field | Type | Description |
|---|---|---|
status |
string | Request status, e.g. success. |
task_id |
string | Unique identifier for the task. |
task_result |
object | Scraped result (fields below). |
| Field | Type | Description |
|---|---|---|
result_text |
string | Markdown response from Copilot. |
prompt |
string | Original prompt. |
mode |
string | Mode used: search, smart, chat, reasoning, or study. |
links |
array | All outbound links returned by Copilot. |
citations |
array | Citation objects extracted from the response (title, url). |
citations.title |
string | Title of the cited source. |
citations.url |
string | URL of the cited source. |
For the complete field list, see the official documentation.
Ready-to-run examples live in examples/:
| Language | File | Run |
|---|---|---|
| Python | example.py |
pip install requests && python example.py |
| Node.js | example.js |
node example.js (Node 18+) |
| Go | example.go |
go run example.go |
| Java | Example.java |
java Example.java (Java 11+) |
| PHP | example.php |
php example.php |
All examples read the token from the SCRAPELESS_API_TOKEN environment variable:
export SCRAPELESS_API_TOKEN="your_api_token"Track how Copilot responds to your brand, product category, documentation topics, or competitor prompts. Store the Markdown answer and citations so your team can measure AI visibility over time.
Run the same prompt across countries and modes to compare which sources Copilot cites, how recommendations change by region, and where your content appears in AI-generated answers.
Collect structured Copilot answers for competitor names, feature comparisons, pricing questions, and "best tool for..." prompts. Use the output to identify messaging gaps and content opportunities.
Pipe Copilot answers into internal dashboards, knowledge-base QA systems, spreadsheets, data warehouses, or alerting workflows through the synchronous API response or webhook callback.
| Benefit | What it means for your team |
|---|---|
| One unified API | Query Copilot through the same Scrapeless LLM Chat Scraper workflow used for other AI answer engines. |
| Structured output | Receive Markdown answers, links, citations, prompts, and mode metadata in a developer-friendly response. |
| Less maintenance | Avoid building browser automation, UI selectors, proxy rotation, retries, and anti-blocking logic yourself. |
| Region-aware analysis | Use country inputs to compare localized AI answers and source citations. |
| Production integration | Use API tokens, webhooks, and language examples to connect Copilot data to real applications quickly. |
Copilot Scraper is a Scrapeless LLM Chat Scraper actor that sends prompts to Microsoft Copilot and returns structured answer data, including the Markdown response, links, citations, prompt, and mode.
No. This repo shows how to call the Scrapeless API. Scrapeless handles the scraping workflow behind the API, so your application only needs to send requests and process the returned data.
The current request schema supports search, smart, chat, reasoning, and study. Check the official documentation for the latest supported options before deploying a production workflow.
Yes. Add a webhook object with your callback URL to receive results asynchronously when the task completes.
Yes. The response includes AI-generated Markdown, outbound links, and citations, which makes it useful for GEO analysis, brand monitoring, source tracking, and competitive research.
Make sure your use case complies with applicable laws, platform terms, privacy requirements, and your organization's data policies. Avoid collecting sensitive, private, or unauthorized information.
- Scrapeless LLM Chat Scraper documentation
- Supported LLM Chat Scraper actors
- Scrapeless dashboard
- Scrapeless website
Need help building a Copilot monitoring workflow or scaling AI answer collection?