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

ActionWhat it does
Ask an AI assistantAsk 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 crawlSee how far a crawl has got and read the pages it has gathered so far.
Check your Scrapeless creditSee how much credit is left on the connected Scrapeless account and when the plan renews.
Crawl a siteRead a whole site by following its links, and get the text of every page.
Fetch a page's sourceGet 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 missedSee 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 listingRead an Amazon product or seller page as data: title, price, stock, rating, reviews, images and specifications.
Read a pageGet a web page's text, even when the site blocks ordinary requests.
Read several pagesRead up to 25 pages in one step and get one entry back per page.
Search AmazonSearch any Amazon site for products and get back the listings with their prices, ratings, review counts and links; the search page as data.
Search GoogleSearch 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 crawlStop 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

AskassistanttextRequired
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.
QuestionprompttextRequired
What to ask, exactly as a person would type it.
Asked fromcountrytext
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 websearch_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 recommendationsinclude_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

Crawlcrawl_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 aturltextRequired
Where the crawl begins. Everything under this address is followed; start at a section to crawl only that section.
Stop afterpage_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 matchinginclude_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 matchingexclude_pathslist
Leave out the pages whose address matches one of these patterns, such as tag/.* for tag listings.
Leave the starting sectionfollow_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 sitesfollow_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 pagespause_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 backformatslist
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 footersmain_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 fromproxy_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

AddressurltextRequired
The address to fetch.
Let the page run its scriptsrun_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 fromproxy_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

Crawlcrawl_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 linkurltextRequired
The product or seller page to read, from any Amazon site.
Deliver todelivery_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 addressurltextRequired
The address of the page to read.
Bring backformatslist
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 footersmain_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 readingwait_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 fromproxy_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 addressesurlslistRequired
The pages to read, up to 25. Feed this the links from an earlier step.
Bring backformatslist
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 footersmain_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 readingwait_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 fromproxy_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 forkeywordstextRequired
What to search Amazon for.
Onsitetext
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.
Pagepagenumber
Which page of results to fetch. 1 is the first page, 2 the next, and so on.From 1 to 50. Default: 1.
Deliver todelivery_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 forquerytextRequired
What to search for. Anything you would type into Google works, including site: and "quoted phrases".
Searchsearch_intext
Which of Google's tabs to search.One of: web (The web), news, images, videos, shopping, places (Local places), patents. Default: web.
Search fromcountrytext
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 inlanguagetext
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 nearneartext
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 pageresults_per_pagenumber
How many results one page should hold.From 1 to 100. Default: 10.
Pagepagenumber
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 resultshide_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

Crawlcrawl_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
}

On this page