The Scenario
You're a pricing analyst at a mid-size e-commerce company. Column A of your Competitors worksheet has 200 product URLs — competitors' listings, compiled over the past two weeks. Your job this Monday morning is to have a fresh pricing snapshot ready before the 10 AM category review.
The bad version:
- Copy all 200 URLs out of column A, format them as a JSON array, paste them into the Apify web-scraper Actor input form, start the run, and wait.
- Download the dataset CSV when it finishes, open it separately in Excel, match each row back to the original URL, then paste title, price, and stock status into columns B, C, and D manually.
- Realize the scraper returned some URLs in a different order than the input, spend 20 minutes re-aligning everything with a VLOOKUP, and still be three minutes late to the meeting.
Nobody hired you to wrestle a CSV into the right column order. The analysis was supposed to start an hour ago.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads the data, understands the structure, and through its built-in Apify integration it can trigger Actor runs and write the results back into the right columns — without you touching a JSON input form or a CSV.
Run the Apify Actor 'apify/web-scraper' on every URL in column A and write the returned title, price, and stock fields into columns B, C, and D
What You Get
- Column B fills with the scraped product title for each URL in column A.
- Column C fills with the price value, in the format returned by the Actor (string or number).
- Column D fills with the stock status field.
- Rows where the Actor returned an error or empty response get a note in column E so you can see which URLs failed without hunting through a run log.
What If the Data Is Not Quite Ready
Some URLs in column A have trailing spaces or are missing the protocol
Clean all URLs in column A — strip leading and trailing whitespace, add 'https://' where the protocol is missing — then run the Apify Actor 'apify/web-scraper' on the cleaned list and write title, price, and stock into columns B, C, and D
The Actor returns nested JSON with a 'pricing.amount' field, not a flat 'price' field
Run the Apify Actor 'apify/web-scraper' on every URL in column A, extract 'pricing.amount' from the nested response, and write it into column C along with 'title' in column B and 'availability' in column D
You only want to run the Actor on rows where column E says "refresh needed"
Run the Apify Actor 'apify/web-scraper' only on rows in column A where column E contains "refresh needed", and write the scraped title, price, and stock back into columns B, C, and D for those rows only
The stock status comes back as a boolean — you want a label, a freshness check, and the scrape in one shot
Run the Apify Actor 'apify/web-scraper' on every URL in column A, write title into column B and price into column C, convert the boolean 'inStock' field to "In Stock" or "Out of Stock" in column D, then flag any row in column E where the price is higher than the value in column F
The pattern: ask for the transformation and the data fetch together — SheetXAI handles both in a single pass.
Try It
Get the 7-day free trial of SheetXAI and open any Excel workbook with a column of URLs you've been meaning to scrape, then ask it to trigger the Actor and write the fields back. You can also check out how to import an Apify dataset and deduplicate results or see the full Apify + Excel overview.
