Scrapeless
App · AI Agents · 12 actions
Read web pages that block ordinary requests, crawl whole sites, and search Google (the web, news, images, videos, shopping, local places and patents), all as clean data. Look up Amazon products and sellers, and capture what ChatGPT, Perplexity, Gemini, Grok, Copilot and Google's AI answers say about anything you ask.
Actions
| Action | What it does |
|---|---|
| Ask an AI assistant | Ask ChatGPT, Perplexity, Gemini, Grok, Microsoft Copilot, Google AI Mode or Google AI Overview a question and get back the answer they would give a real person, with the sources they cited. |
| Check a crawl | See how far a crawl has got and read the pages it has gathered so far. |
| Check your Scrapeless credit | See how much credit is left on the connected Scrapeless account and when the plan renews. |
| Crawl a site | Read a whole site by following its links, and get the text of every page. |
| Fetch a page's source | Get a page exactly as the site sends it: the HTML source, or the raw JSON behind an address that answers with data. |
| List the pages a crawl missed | See which pages a crawl could not read and why, and which ones the site's robots.txt told it to leave alone. |
| Look up an Amazon listing | Read an Amazon product or seller page as data: title, price, stock, rating, reviews, images and specifications. |
| Read a page | Get a web page's text, even when the site blocks ordinary requests. |
| Read several pages | Read up to 25 pages in one step and get one entry back per page. |
| Search Amazon | Search any Amazon site for products and get back the listings with their prices, ratings, review counts and links; the search page as data. |
| Search Google | Search Google and get the results as data rather than a page: the web, news, images, videos, shopping, local places or patents, from any country and in any language. |
| Stop a crawl | Stop a crawl that is still running, so it reads no further pages and costs no more credit. |
Ask an AI assistant
Ask ChatGPT, Perplexity, Gemini, Grok, Microsoft Copilot, Google AI Mode or Google AI Overview a question and get back the answer they would give a real person, with the sources they cited. Use it to watch what the assistants say about a brand, a product or a competitor.
Inputs
- Ask
assistanttextRequired - Which assistant should answer.One of:
chatgpt,perplexity,gemini(Google Gemini),grok,copilot(Microsoft Copilot),google_ai_mode(Google AI Mode),google_ai_overview(Google AI Overview). Default:chatgpt. - Question
prompttextRequired - What to ask, exactly as a person would type it.
- Asked from
countrytext - The country to ask from. Assistants answer differently by market, so this changes what comes back.One of:
AL(Albania),DZ(Algeria),AO(Angola),AR(Argentina),AM(Armenia),AW(Aruba),AU(Australia),AT(Austria),AZ(Azerbaijan),BH(Bahrain), and 129 more. Default:US. - Let it search the web
search_the_webtrue/false - Ask for an answer backed by a live web search. Only ChatGPT and Perplexity can be asked either way; the rest always search.Default:
true. - Include product recommendations
include_productstrue/false - Bring back the products and merchant offers behind a shopping answer. Scrapeless charges twice as much for a reply that carries them. Applies to ChatGPT, Gemini, Google AI Mode and Google AI Overview.Default:
false.
Outputs
answertext- The answer, as Markdown.
assistanttext- Which assistant answered.
full_answerobject- Everything the assistant returned, including follow-up suggestions and media.
productslist- The products recommended, when they were asked for.
prompttext- The question that was asked.
sourceslist- The pages the answer cited.
Example output
{
"answer": "Several tools stand out, depending on...",
"assistant": "ChatGPT",
"full_answer": {
"model": "gpt-5-1"
},
"products": [],
"prompt": "What is the best tool for web scraping?",
"sources": [
{
"title": "Best web scraping tools",
"url": "https://example.com/tools"
}
]
}Check a crawl
See how far a crawl has got and read the pages it has gathered so far. Check 'is_finished' to know whether more is still coming.
Inputs
- Crawl
crawl_idtextRequired - The crawl's id, as given back by 'Crawl a site'.
Outputs
crawl_idtext- The crawl checked.
errortext- Why the crawl stopped, if it failed.
is_finishedtrue/false- True once the crawl has stopped running.
page_countnumber- How many pages are in this response.
pageslist- The pages gathered so far, text and all.
pages_foundnumber- How many pages the crawl knows about.
pages_readnumber- How many pages have been read.
statustext- Where the crawl is up to.
Example output
{
"crawl_id": "3a6f1d90-2b4c-4f1e-9f3a-8c2d5e7b1a04",
"error": null,
"is_finished": true,
"page_count": 1,
"pages": [
{
"description": "Plans and prices.",
"error": null,
"html": null,
"links": [
"https://example.com/signup"
],
"metadata": {
"statusCode": 200,
"title": "Pricing"
},
"raw_html": null,
"screenshot": null,
"status_code": 200,
"text": "# Pricing\n\nStarter is $19 a month...",
"title": "Pricing",
"url": "https://example.com/pricing"
}
],
"pages_found": 1,
"pages_read": 1,
"status": "completed"
}Check your Scrapeless credit
See how much credit is left on the connected Scrapeless account and when the plan renews. Costs nothing to call, so it also makes a good first step for checking the connection still works.
Inputs
None.
Outputs
account_idtext- Scrapeless's id for the account.
creditsnumber- Credit left on the account.
extra_creditsnumber- Credit bought on top of the plan.
is_activetrue/false- Whether the account is in good standing.
plan_creditsnumber- Credit left in this month's plan.
plan_pricenumber- What the plan costs.
plan_renews_ontext- When the current plan period ends.
Example output
{
"account_id": "fad03c7e-0000-0000-b066-ece80f03d5d5",
"credits": 82.15,
"extra_credits": 0.0,
"is_active": true,
"plan_credits": 0.0,
"plan_price": 0.0,
"plan_renews_on": "2026-10-18T23:59:59.999Z"
}Crawl a site
Read a whole site by following its links, and get the text of every page. The crawl is not finished when this step is: it keeps running in the background, so follow this with a Wait step and 'Check a crawl'.
Inputs
- Start at
urltextRequired - Where the crawl begins. Everything under this address is followed; start at a section to crawl only that section.
- Stop after
page_limitnumber - The most pages to read. Each page costs credit, so start small and raise it once the results look right.From 1 to 1000. Default:
10. - Only pages matching
include_pathslist - Read only the pages whose address matches one of these patterns, such as blog/.* for everything under /blog/. Leave empty to read everything found.
- Skip pages matching
exclude_pathslist - Leave out the pages whose address matches one of these patterns, such as tag/.* for tag listings.
- Leave the starting section
follow_links_above_starttrue/false - Follow links that point outside where the crawl started, such as a link from /docs/ to /pricing. Still stays on the same site.Default:
false. - Follow links to other sites
follow_external_linkstrue/false - Let the crawl leave this site altogether. Use with a small page limit: the web has no edges.Default:
false. - Pause between pages
pause_secondsnumber - Seconds to wait between pages, to go easy on a small site. Leave at 0 to crawl at full speed.From 0 to 30. Default:
0. - Bring back
formatslist - What each page should come back as. Readable text is Markdown with the navigation stripped out, which is what most steps want.One or more of:
markdown(Readable text),html(Tidied HTML),rawHtml(Raw HTML),links(Every link on the page),screenshot,screenshot@fullPage(Full-page screenshot). Default:["markdown"]. - Skip navigation and footers
main_content_onlytrue/false - Keep only the main body of each page. Turn this off when the part you need lives in a sidebar, a header or a footer.Default:
true. - Browse from
proxy_countrytext - Load the page from an address in this country. Use it when a site shows different prices, stock or news depending on where the reader is. Anywhere lets Scrapeless pick.One of:
ANY(Anywhere),AL(Albania),DZ(Algeria),AO(Angola),AR(Argentina),AM(Armenia),AW(Aruba),AU(Australia),AT(Austria),AZ(Azerbaijan), and 130 more. Default:ANY.
Outputs
crawl_idtext- Pass this to 'Check a crawl' to read the pages.
page_limitnumber- The most pages this crawl will read.
urltext- Where the crawl started.
Example output
{
"crawl_id": "3a6f1d90-2b4c-4f1e-9f3a-8c2d5e7b1a04",
"page_limit": 10,
"url": "https://example.com/docs/"
}Fetch a page's source
Get a page exactly as the site sends it: the HTML source, or the raw JSON behind an address that answers with data. Use 'Read a page' when you want readable text instead.
Inputs
- Address
urltextRequired - The address to fetch.
- Let the page run its scripts
run_javascripttrue/false - Load the page in a browser first, so anything the page draws for itself is in the source. Turn it off for an address that answers with data, which is quicker and cheaper.Default:
true. - Browse from
proxy_countrytext - Load the page from an address in this country. Use it when a site shows different prices, stock or news depending on where the reader is. Anywhere lets Scrapeless pick.One of:
ANY(Anywhere),AL(Albania),DZ(Algeria),AO(Angola),AR(Argentina),AM(Armenia),AW(Aruba),AU(Australia),AT(Austria),AZ(Azerbaijan), and 130 more. Default:ANY.
Outputs
contenttext- What the site sent back, unchanged.
content_lengthnumber- How many characters came back.
javascript_rantrue/false- Whether the page was rendered in a browser.
urltext- The address fetched.
Example output
{
"content": "<!doctype html><html><head><title>Example</title>...",
"content_length": 1256,
"javascript_ran": true,
"url": "https://example.com"
}List the pages a crawl missed
See which pages a crawl could not read and why, and which ones the site's robots.txt told it to leave alone. Use it when a crawl came back smaller than expected.
Inputs
- Crawl
crawl_idtextRequired - The crawl's id, as given back by 'Crawl a site'.
Outputs
blocked_by_robotslist- Addresses the site's robots.txt ruled out.
blocked_countnumber- How many addresses robots.txt ruled out.
crawl_idtext- The crawl checked.
failed_countnumber- How many pages failed.
failed_pageslist- Each page that failed, with its address and reason.
Example output
{
"blocked_by_robots": [
"https://example.com/docs/internal"
],
"blocked_count": 1,
"crawl_id": "3a6f1d90-2b4c-4f1e-9f3a-8c2d5e7b1a04",
"failed_count": 1,
"failed_pages": [
{
"error": "404 Not Found",
"id": "9d1f",
"timestamp": "2026-09-18T10:31:00Z",
"url": "https://example.com/docs/old"
}
]
}Look up an Amazon listing
Read an Amazon product or seller page as data: title, price, stock, rating, reviews, images and specifications. Paste any Amazon product or seller link and Scrapeless reads the right kind of page.
Inputs
- Amazon link
urltextRequired - The product or seller page to read, from any Amazon site.
- Deliver to
delivery_postcodetext - A postcode or ZIP code to price the products for. Amazon shows different prices, stock and delivery dates by address.
Outputs
kindtext- Whether it was a product or a seller page.
listingobject- Everything Amazon shows on that page, as data.
urltext- The page that was read.
Example output
{
"kind": "product",
"listing": {
"price": "$328.00",
"rating": 4.6,
"reviews": 8123,
"title": "Wireless Noise Cancelling Headphones"
},
"url": "https://www.amazon.com/dp/B0BQXHK363"
}Read a page
Get a web page's text, even when the site blocks ordinary requests. Scrapeless loads the page in a real browser, solves any challenge in the way, and hands back clean readable text ready for the next step.
Inputs
- Page address
urltextRequired - The address of the page to read.
- Bring back
formatslist - What each page should come back as. Readable text is Markdown with the navigation stripped out, which is what most steps want.One or more of:
markdown(Readable text),html(Tidied HTML),rawHtml(Raw HTML),links(Every link on the page),screenshot,screenshot@fullPage(Full-page screenshot). Default:["markdown"]. - Skip navigation and footers
main_content_onlytrue/false - Keep only the main body of each page. Turn this off when the part you need lives in a sidebar, a header or a footer.Default:
true. - Wait before reading
wait_secondsnumber - Seconds to let the page finish loading before the text is taken. Raise it for a page that fills itself in after it opens.From 0 to 30. Default:
0. - Browse from
proxy_countrytext - Load the page from an address in this country. Use it when a site shows different prices, stock or news depending on where the reader is. Anywhere lets Scrapeless pick.One of:
ANY(Anywhere),AL(Albania),DZ(Algeria),AO(Angola),AR(Argentina),AM(Armenia),AW(Aruba),AU(Australia),AT(Austria),AZ(Azerbaijan), and 130 more. Default:ANY.
Outputs
descriptiontext- The page's own one-line summary, where it has one.
errortext- What went wrong with this page, if anything did.
htmltext- The page's tidied HTML.
linkslist- Every link on the page.
metadataobject- Everything else the page declared about itself.
raw_htmltext- The page's HTML exactly as sent.
screenshottext- A picture of the page, where one was asked for.
status_codenumber- The HTTP status the site answered with.
texttext- The page's readable text, as Markdown.
titletext- The page's title.
urltext- The address the text came from.
Example output
{
"description": "Plans and prices.",
"error": null,
"html": null,
"links": [
"https://example.com/signup"
],
"metadata": {
"statusCode": 200,
"title": "Pricing"
},
"raw_html": null,
"screenshot": null,
"status_code": 200,
"text": "# Pricing\n\nStarter is $19 a month...",
"title": "Pricing",
"url": "https://example.com/pricing"
}Read several pages
Read up to 25 pages in one step and get one entry back per page. Faster than reading them one at a time, and an address that turns out not to be a page is skipped rather than failing the run.
Inputs
- Page addresses
urlslistRequired - The pages to read, up to 25. Feed this the links from an earlier step.
- Bring back
formatslist - What each page should come back as. Readable text is Markdown with the navigation stripped out, which is what most steps want.One or more of:
markdown(Readable text),html(Tidied HTML),rawHtml(Raw HTML),links(Every link on the page),screenshot,screenshot@fullPage(Full-page screenshot). Default:["markdown"]. - Skip navigation and footers
main_content_onlytrue/false - Keep only the main body of each page. Turn this off when the part you need lives in a sidebar, a header or a footer.Default:
true. - Wait before reading
wait_secondsnumber - Seconds to let the page finish loading before the text is taken. Raise it for a page that fills itself in after it opens.From 0 to 30. Default:
0. - Browse from
proxy_countrytext - Load the page from an address in this country. Use it when a site shows different prices, stock or news depending on where the reader is. Anywhere lets Scrapeless pick.One of:
ANY(Anywhere),AL(Albania),DZ(Algeria),AO(Angola),AR(Argentina),AM(Armenia),AW(Aruba),AU(Australia),AT(Austria),AZ(Azerbaijan), and 130 more. Default:ANY.
Outputs
page_countnumber- How many pages came back.
pageslist- One entry per page, in the order asked for.
skipped_urlslist- Addresses Scrapeless could not treat as pages.
Example output
{
"page_count": 1,
"pages": [
{
"description": "Plans and prices.",
"error": null,
"html": null,
"links": [
"https://example.com/signup"
],
"metadata": {
"statusCode": 200,
"title": "Pricing"
},
"raw_html": null,
"screenshot": null,
"status_code": 200,
"text": "# Pricing\n\nStarter is $19 a month...",
"title": "Pricing",
"url": "https://example.com/pricing"
}
],
"skipped_urls": []
}Search Amazon
Search any Amazon site for products and get back the listings with their prices, ratings, review counts and links; the search page as data.
Inputs
- Search for
keywordstextRequired - What to search Amazon for.
- On
sitetext - Which Amazon site to search.One of:
com(Amazon.com (United States)),co.uk(Amazon.co.uk (United Kingdom)),de(Amazon.de (Germany)),fr(Amazon.fr (France)),it(Amazon.it (Italy)),es(Amazon.es (Spain)),nl(Amazon.nl (Netherlands)),se(Amazon.se (Sweden)),pl(Amazon.pl (Poland)),com.tr(Amazon.com.tr (Turkey)), and 9 more. Default:com. - Page
pagenumber - Which page of results to fetch. 1 is the first page, 2 the next, and so on.From 1 to 50. Default:
1. - Deliver to
delivery_postcodetext - A postcode or ZIP code to price the products for. Amazon shows different prices, stock and delivery dates by address.
Outputs
full_responseobject- Everything the search page returned.
pagenumber- The page fetched.
product_countnumber- How many products came back.
productslist- The products found, each with its title, price, rating and link.
sitetext- The Amazon site that was searched.
Example output
{
"full_response": {
"results": []
},
"page": 1,
"product_count": 1,
"products": [
{
"asin": "B0BQXHK363",
"price": "$328.00",
"rating": 4.6,
"title": "Wireless Noise Cancelling Headphones"
}
],
"site": "amazon.com"
}Search Google
Search Google and get the results as data rather than a page: the web, news, images, videos, shopping, local places or patents, from any country and in any language.
Inputs
- Search for
querytextRequired - What to search for. Anything you would type into Google works, including site: and "quoted phrases".
- Search
search_intext - Which of Google's tabs to search.One of:
web(The web),news,images,videos,shopping,places(Local places),patents. Default:web. - Search from
countrytext - Get the results someone in this country would see. Leave it empty and Google decides.One of:
al(Albania),dz(Algeria),ao(Angola),ar(Argentina),am(Armenia),aw(Aruba),au(Australia),at(Austria),az(Azerbaijan),bh(Bahrain), and 129 more. - Search in
languagetext - The language Google should answer in.One of:
ar(Arabic),hy(Armenian),bg(Bulgarian),ca(Catalan),zh(Chinese),hr(Croatian),cs(Czech),da(Danish),nl(Dutch),en(English), and 31 more. - Search near
neartext - A town or city to search as if you were standing in it, such as Austin, Texas, United States. Worth setting for local places and shopping.
- Results per page
results_per_pagenumber - How many results one page should hold.From 1 to 100. Default:
10. - Page
pagenumber - Which page of results to fetch. 1 is the first page, 2 the next, and so on.From 1 to 50. Default:
1. - Hide explicit results
hide_explicit_resultstrue/false - Turn Google's SafeSearch on for this search.Default:
false.
Outputs
full_responseobject- Everything Google returned, including answer boxes, knowledge panels and ads.
pagenumber- The page fetched.
related_searcheslist- What Google suggests searching next.
result_countnumber- How many results came back.
resultslist- The results, best first, each with its position, title, address and snippet.
search_informationobject- How many results Google has and how long it took.
searched_intext- Which tab was searched.
Example output
{
"full_response": {
"organic_results": []
},
"page": 1,
"related_searches": [
{
"query": "example domain rfc"
}
],
"result_count": 1,
"results": [
{
"link": "https://example.com",
"position": 1,
"snippet": "This domain is for use in examples.",
"title": "Example Domain"
}
],
"search_information": {
"total_results": 1250000
},
"searched_in": "web"
}Stop a crawl
Stop a crawl that is still running, so it reads no further pages and costs no more credit. The pages it already gathered stay readable with 'Check a crawl'.
Inputs
- Crawl
crawl_idtextRequired - The crawl's id, as given back by 'Crawl a site'.
Outputs
crawl_idtext- The crawl stopped.
statustext- What the crawl's state is now.
stoppedtrue/false- True once Scrapeless has accepted the stop.
Example output
{
"crawl_id": "3a6f1d90-2b4c-4f1e-9f3a-8c2d5e7b1a04",
"status": "cancelled",
"stopped": true
}