Skip to content

Connect

Skill: build competitor price scrapers

A skill is a short instruction file for your AI assistant. This one teaches the assistant how to set up competitor price scrapers on Scrapewise from start to finish, through the MCP gateway.

It is the same method we use for our own customer setups. It covers two cases:

  • You have product links (for example 12,000 product pages on 35 competitor shops). The assistant scrapes only those links and gives you comparable prices, for example price per 50 g in EUR.
  • You have shop names and want the whole catalogue of each shop (often tens of thousands of products), matched to your own product list.

Built for large setups

The skill is written for setups with dozens of competitor shops and thousands to tens of thousands of links. There is no limit on shops per group. These are the platform limits it plans with:

WhatLimit
Upload a file of links or productsCSV or JSON Lines up to 200 MB, Excel up to 36 MB. See file limits
Link list fed from a file or another scraperUp to about 700,000 links in one product-page scraper, filled by the server in one step
Links in one MCP callUp to 5,000 (scrapewise_run_scraper_url_list)
Links in one REST JSON Lines uploadUp to 100,000. See Many URLs

For big lists the assistant does not paste links into a chat. It uploads your file once and lets the server fill the link lists from it.

Download

  • SKILL.md - the skill as one Markdown file.
  • build-scrapers.zip - the same file in a folder, ready to upload to apps that take a skill as a ZIP.

What the skill does

StepWhat the assistant doesTools it uses
1. IntakeAsks for shops, markets, links or shop names, the unit to compare (per item, per 50 g, per piece) and how oftennone
2. ModePicks “given links” (one group, market and SKU in the link title) or “catalogue” (one group per market)scrapewise_get_scraper_group_list, scrapewise_create_scraper_group
3. Source per shopLooks for the most reliable source first: a JSON API, the shop platform’s product data, page data, and an AI scraper only as the last choicescrapewise_get_scraper_load_site_content, scrapewise_preview_scraper_from_url, scrapewise_preview_scraper_from_curl
4. BuildCreates one scraper per shop with the same column names. Small link lists are saved directly; big ones are uploaded as a file and fed into the scrapersscrapewise_create_scraper, scrapewise_create_scraper_site, scrapewise_create_customer_schema, scrapewise_create_file_scraper
5. RulesTurns raw prices into comparable prices: price per unit, EUR, stock status. Scraper rules read only the shop’s own fields; EUR and per-unit prices are saved once on the group, with one choice per unit (per 50 g, per 100 g, per piece) picked by a label on each scraperscrapewise_preview_scraper_preview_rule, scrapewise_update_scraper_group_post_process_rules
6. TestOne small sample per scraper, checked against the live pagescrapewise_get_scraper_sample_data
7. First runsOne scraper at a time, then the whole groupscrapewise_run_scraper, scrapewise_run_scraper_group, scrapewise_get_scraper_load_history, scrapewise_get_scraper_job_errors
8. CheckReads the rows and counts complete links. Names each missing link and whyscrapewise_get_scraper_data_group_client
9. Cost and scheduleAdds up the cost of a run. Sets a schedule only when you askscrapewise_get_scraper_load_history, scrapewise_update_scraper_group_schedule

Key ideas in the skill:

  • Reliable first, then scale, then cost. A shop’s own product data survives page redesigns. AI reading of the page is the last choice.
  • The AI copies, rules calculate. The AI extractor copies values as printed. Price per unit and currency conversion are done by after-scrape rules (QUANTITY_NORMALIZE, NUMBER_EXTRACT, CURRENCY_CONVERT, ENUM_MAP, REGEX_CLEAN).
  • Fewest scrapers, fewest columns, no duplicates. One scraper per shop and data source, reused before a new one is made. The same column names on every scraper, and no column that a rule can make. No duplicate rows, sources or rules.
  • One column set for every setup. The same snake_case names on every scraper (price, sale_price, unit, unit_price, unit_price_eur …). One set of unit columns for every product kind, not one per unit.
  • Labels, not extra scrapers. Product kinds (for example yarn per 50 g, accessories per piece) are labels on the scrapers and one choice group on the group. One scraper per shop stays one scraper.
  • Shared rules live on the group. Rules every scraper needs (EUR, per unit, stock, text cleaning) are saved once for the whole group. See Rules for all scrapers in a group.
  • Ask before spending. The assistant tests with single pages and asks you before full runs and schedules.

Set it up

  1. Open the portal, press your name at the bottom of the portal menu, then API Keys. Type a Key name, pick the Full scope (the portal shows it as LLM_FULL) and press Generate API Key. The skill creates and runs scrapers, so it needs a Full key, not a Read key. See Read or Full.
  2. Connect your assistant to https://mcp.scrapewise.ai/mcp with that key. See Connect your assistant (MCP).
  3. Make sure your wallet holds some balance. See Wallet and billing.
  4. Install the skill. Claude Code: put the file in your skills folder with mkdir -p ~/.claude/skills/build-scrapers and curl -o ~/.claude/skills/build-scrapers/SKILL.md https://docs.scrapewise.ai/skills/build-scrapers/SKILL.md. For one project only use .claude/skills/build-scrapers/SKILL.md. Start a new session.
  5. Claude Desktop and claude.ai: if your plan supports skills, open Settings, find Skills under Capabilities and upload build-scrapers.zip. Turn the Scrapewise connector on for the chat.
  6. Any other assistant: paste the content of SKILL.md into its system prompt or project instructions.
  7. Ask for something like “Build scrapers for these competitor links”. The assistant shows you its plan and asks before it spends.

Example session

This is an example setup, not a customer result.

You: Build scrapers for the competitor links in this file. Compare price per 50 g in EUR. Markets DK, DE and UK. Weekly is enough.

Assistant: The file has 12,000 links on 35 shops. 22 shops run on a shop platform with product data I can read directly, 9 have product data on the page, and 4 need AI reading. I uploaded the file once and made one group, “Competitor prices”, with one scraper per shop. Each scraper’s link list is filled from the file, with titles like DK | SKU-1003 | shop.dk. A sample of each scraper matches the live page. Shall I run the scrapers one at a time now? If most pages are plain pages, a full run of 12,000 pages costs about €2 to €4.

You: Yes.

Assistant: Done. 11,640 of 12,000 links have a complete row: price, sale price, pack size, price per 50 g and the EUR values. 360 links show “product not found” on the shop. I put them in a list for you. Shall I set a weekly run on Monday?

Good to know

  • Tests of one page and file uploads cost little or nothing. Full runs are charged per page delivered. See what a tool call costs.
  • The skill never deletes your scrapers, groups or data unless you ask.
  • You can edit the skill. For example, add your own column names or your own unit.

Last updated 4 November 2026