---
title: "HasData Integration"
description: "HasData (formerly Scrape-It.Cloud) is a web scraping platform with JavaScript rendering and AI extraction. Agents scrape any page, query dozens of source-specific scrapers for Google, Maps, Amazon, Zillow, Indeed, and more, and run asynchronous crawler jobs."
url: https://flowrunner.ai/integrations/scrape-it-cloud
date_modified: 2026-09-04T14:59:52-07:00
---

# HasData

[Developer Tools](https://flowrunner.ai/integrations/category/developer-infrastructure)

HasData (formerly Scrape-It.Cloud) is a web scraping platform with JavaScript rendering and AI extraction. Agents scrape any page, query dozens of source-specific scrapers for Google, Maps, Amazon, Zillow, Indeed, and more, and run asynchronous crawler jobs.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 65 actions · API key · available

[HasData website](https://hasdata.com/) · [Platform Documentation](https://hasdata.com/) · Capability data verified 2026-08-25

1.  A market coverage request names a category and a metro area
2.  Search Google Maps returns places for the keyword at a coordinate whose zoom suffix sets the search radius
3.  Agent plans a grid of coordinates rather than paging one search, because a single point covers a neighborhood and not a city
4.  Get Usage reports the remaining credit balance, since an exhausted balance arrives as a 403 rather than a message that says so
5.  Start Scraper Job queues the asynchronous run that will produce the full result set
6.  The job's parameters, its per-row billing, and whether email extraction is enabled go to the requester
7.  The requester sets the row limit and decides whether this run produces a market map or a contact list

## What This Integration Enables

HasData, formerly Scrape-It.Cloud, is not really a general scraping API even though it has one. Its argument is the roughly forty source-specific scrapers layered on top: Google search across its verticals, Google Maps, Bing, DuckDuckGo, YouTube, Amazon, Shopify storefronts, Zillow, Redfin, Airbnb, Booking, Yelp, Yellow Pages, Indeed, Glassdoor, Instagram, and TikTok. Each of those returns that platform's fields rather than that platform's HTML, and somebody at HasData keeps up with each one when the site changes.

That distinction matters more than it sounds. A generic scraper hands a workflow the problem of turning a page into data, and then hands the workflow the problem again every time the page is redesigned. A named-source operation hands back a price, a rating, a job posting, or a rank. What the connector does not decide is scope, and scope is where the money and the judgment both live: the asynchronous scraper jobs bill per row returned rather than per request, so a run without a limit is open-ended by construction. FlowRunner agents plan the coverage and bring the numbers. The [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) step is where somebody agrees to them.

### Without FlowRunner

**A parser per platform**: Reading Amazon, Zillow, Indeed, and Yelp means four extraction scripts and four sets of breakage

**Coverage that is really a sample**: One search at one coordinate returns a neighborhood, and the report calls it the metro area

**Open-ended jobs**: A run started with the wrong parameters bills per row until it finishes, and nobody set a ceiling

### With FlowRunner

**Named sources with maintained shapes**: Each platform has an operation that returns its fields, kept current by somebody whose job that is

**Coverage that is planned**: Radius, grid, and locale are explicit parameters on the step rather than assumptions inside a script

**Ceilings agreed before the spend**: Row limits, email extraction, and detail fetching are set by a person who saw what they cost

## Use Case Scenarios

### Visibility, including where the answer engines look

Rank tracking runs through the batch search operations rather than a loop, because a free account allows one concurrent request and a fan-out hits the concurrency ceiling immediately. For plain rank and link harvesting, the light search returns organic results without the rich blocks at lower cost. What makes this worth doing now rather than five years ago is the two AI operations: one returns the AI overview block with its cited sources, and the other returns Google's AI Mode answer with its references. Together they say whether your material is being cited when a machine answers the question, which is a different measurement from where you rank. Running Bing alongside is not redundant, since several assistants search it behind the scenes. Results land in [Google Sheets](https://flowrunner.ai/integrations/google-sheets) with movement summarized to [Slack](https://flowrunner.ai/integrations/slack). Three parameters decide whether the numbers mean anything: the canonical location controls where the search appears to come from, the country parameter limits which results are returned, and device type changes the answer rather than the layout, because mobile and desktop rankings genuinely differ.

### Local reputation, including the reviews that are not real

For a multi-location business the agent sweeps places with Search Google Maps, pulls reviews per place, and filters Yelp reviews to one and two stars, which is the fastest way to get actual complaints out of a pile of praise. The operation worth building a workflow around is contributor reviews: it returns everything one Google Maps contributor has ever written. A contributor whose entire history is five-star reviews of a single owner's businesses is obvious there and completely invisible in any per-place review list. Findings become records in [Attio](https://flowrunner.ai/integrations/attio) or tickets for the local marketing owner. Maps operations are keyed on the hexadecimal identifier that the search returns rather than on a Places API id, and passing the wrong one returns nothing rather than an error.

### Catalog and price intelligence across two very different sources

For a marketplace seller, product detail with the other-sellers option is what price monitoring actually needs, because the headline price is only the buy-box winner. Seller products combined with product detail maps a competitor's whole catalog rather than only what a keyword search surfaces, and the domain has to be set explicitly or the search runs against the wrong country's Amazon. Alongside it, the Shopify operations read any store's own public product feed, which needs no credentials from the store owner and works on any storefront. Both feeds reconcile against your own catalog in [Shopify](https://flowrunner.ai/integrations/shopify) and land in [Snowflake](https://flowrunner.ai/integrations/snowflake) for the pricing review.

## Human-in-Loop Highlight

Start Scraper Job is the operation on this connector that spends without a ceiling. The asynchronous jobs bill per row returned rather than per request, so a job started with no row limit is open-ended by definition, and Stop Scraper Job only stops jobs still in progress while the rows already collected remain billable. That alone would justify a gate. What makes it a judgment rather than a budget check is one boolean: email extraction on a Google Maps or Zillow job visits every result's website to pull contact details, which quietly converts a market survey into a contact list.

So the agent plans the run and stops before it starts. "Google Maps job, dental practices, Dallas metro, 14 grid points at neighborhood zoom. Estimated 2,100 to 2,600 rows, billed per row, current balance 40,000 credits. Email extraction is currently on, which visits every listed practice's website and returns contact addresses. With it off this is a coverage map. With it on it is an outreach list, and outreach lists carry obligations this workflow does not currently handle. Set a row limit, and confirm which one you want?" The agent did the geography, the arithmetic, and the credit check. Whether the output is research or a prospecting file is a decision about what the company is doing, and it should be made on purpose rather than inherited from a default.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via email

Human decides

Agent resumes with decision

## Agent Capabilities

65 actions

### Web Scraping

4

-   **Scrape Web Page** Fetches one page and returns its HTML, text, Markdown, or extracted fields. The general-purpose endpoint that everything else here is a source-specific shortcut for. Selector-based extraction rules are deterministic and carry no model cost, which makes them the right first choice over the AI extraction rules wherever the page structure is stable.
-   **Start Batch Web Scrape** Submits up to ten thousand URLs in one asynchronous call, each with its own options. The right shape for anything above a handful of pages, because a loop of individual scrapes runs into the account's concurrency ceiling rather than its credit balance.
-   **Get Batch Web Scrape** Returns a batch web scrape's progress. Poll it until the batch completes before reading results.
-   **List Batch Web Scrape Results** Returns the scraped pages from a batch, one page of results at a time. Reading it before the batch finishes returns only what has completed so far, with nothing to indicate more is coming.

### Google Search

14

-   **Search Google** Returns structured Google results: organic listings, ads, the answer box, the knowledge graph, related questions, local results, and the AI overview. Location and country are different parameters and both matter, since one decides where the search appears to come from and the other limits which results come back.
-   **Start Batch Google Search** Submits many Google searches in one asynchronous call. The right shape for keyword-set rank tracking, where a loop would exhaust the concurrency limit.
-   **Get Batch Google Search** Returns a batch Google search's progress.
-   **List Batch Google Search Results** Returns the search results from a batch, one page at a time.
-   **Search Google Light** A cheaper, faster Google search returning organic results without the rich blocks. The one to use for rank tracking and link harvesting, where the answer box and knowledge graph are not being read anyway.
-   **Get Google AI Overview** Returns the AI-generated overview block Google shows above the results, with its cited sources. The measurement behind answer-engine visibility work, because it reports which pages a machine chose to cite.
-   **Search Google AI Mode** Returns Google's AI Mode answer for a query with its paragraphs, lists, tables, shopping and local results, and its references. A different surface from the overview block and worth tracking separately.
-   **Search Google Shopping** Returns Google Shopping results with prices, merchants, and ratings. Prices are market-specific, so country and location need setting together or the comparison is of the wrong market.
-   **Search Google News** Returns Google News results with publishers, dates, and thumbnails.
-   **Search Google Images** Returns Google Images results with source pages and thumbnail URLs.
-   **Search Google Events** Returns Google's events results for a query and place, with dates, venues, and ticket links.
-   **Search Google Short Videos** Returns the short-video carousel results Google shows for a query.
-   **Get Google Immersive Product** Returns the detail behind a Google Shopping immersive product card: sellers, prices, specifications, and reviews. Keyed on a token the shopping search returns.
-   **Search Google Trends** Returns interest over time and by region for a term. The values are relative and normalized within each query, so results from two separate calls are not directly comparable.

### Google Maps

5

-   **Search Google Maps** Returns Google Maps places for a keyword with addresses, phone numbers, ratings, and the identifier the other Maps operations need. The coordinate field is what matters most: its zoom suffix sets the search radius, so covering a city properly means iterating a grid rather than paging one search.
-   **Get Google Maps Reviews** Returns a place's Google reviews. Keyed on the hexadecimal identifier the Maps search returns rather than on a Places API id.
-   **Get Google Maps Photos** Returns a place's Google Maps photos, keyed on the same identifier as its reviews.
-   **Get Google Maps Posts** Returns the business profile posts a place has published. A useful competitive signal, because it shows what a business is promoting and how recently it has updated anything.
-   **Get Google Maps Contributor Reviews** Returns every review one Google Maps contributor has written. The operation for spotting review fraud, since a contributor whose whole history is five-star reviews of one owner's businesses is obvious here and invisible in a per-place review list.

### Other Search Engines

2

-   **Search Bing** Returns structured Bing search results. Worth running alongside Google, because several AI assistants search Bing behind the scenes.
-   **Search DuckDuckGo** Returns structured DuckDuckGo results. It does not personalize or geo-target the way Google does, which makes it a cleaner baseline for what a neutral searcher sees.

### YouTube

4

-   **Search YouTube** Returns YouTube search results with video ids, channels, view counts, and durations.
-   **Get YouTube Video** Returns one video's metadata: title, description, channel, views, likes, and publish date.
-   **Get YouTube Channel** Returns a channel's profile and its videos.
-   **Get YouTube Transcript** Returns a video's transcript with timestamps. The cheapest way to get a long video into a model, since a transcript is a fraction of the tokens of any other representation of it.

### Ecommerce

6

-   **Search Amazon** Returns Amazon search results with product identifiers, prices, ratings, and sponsored flags. The domain has to be set explicitly, or the search runs against the wrong country's site.
-   **Get Amazon Product** Returns one product's detail. The other-sellers option adds the full buy-box competition, which is what price monitoring actually needs, because the headline price is only the current winner.
-   **Get Amazon Seller** Returns a seller's storefront profile, including feedback ratings and business details.
-   **Get Amazon Seller Products** Returns the products a seller lists. Combined with product detail this maps a competitor's whole catalog rather than only what a keyword search surfaces.
-   **Get Shopify Products** Returns the products of any Shopify store from its URL. It reads the store's own public product feed, so it needs no credentials from the store owner.
-   **Get Shopify Collections** Returns a Shopify store's collections, which is how its catalog is organized and often how its merchandising strategy reads.

### Travel

6

-   **Search Google Flights** Returns Google Flights results for a route and dates. Omitting the return date makes it a one-way search rather than defaulting to a round trip, which quietly changes what the prices mean.
-   **Search Google Hotels** Returns hotel results for a destination and stay dates, with nightly prices and ratings.
-   **Search Booking** Returns Booking.com results for a destination and stay. Prices depend entirely on the dates and party size, so a search without them is not comparable to one with them.
-   **Get Booking Place** Returns one property's detail, rooms, and prices for a stay.
-   **Search Airbnb** Returns Airbnb listings for a location and stay dates.
-   **Get Airbnb Property** Returns one listing's detail from its URL: description, amenities, host, and reviews.

### Real Estate

4

-   **Search Zillow** Returns Zillow listings for a location. The type parameter decides whether the results are for sale, for rent, or recently sold, and those three sets barely overlap.
-   **Get Zillow Property** Returns one property's full detail: price history, tax history, schools, and agent.
-   **Search Redfin** Returns Redfin listings for a location. Worth running alongside Zillow, since the two carry different inventory and different estimates for the same address.
-   **Get Redfin Property** Returns one Redfin property's full detail from its URL.

### Local

5

-   **Search Yelp** Returns Yelp businesses for a keyword and location, with ratings and the place ids the other Yelp operations need.
-   **Get Yelp Place** Returns one business's detail by place id.
-   **Get Yelp Reviews** Returns a business's reviews, optionally filtered by star rating. Filtering to one and two stars is the fastest way to surface actual complaints.
-   **Search Yellow Pages** Returns Yellow Pages businesses for a keyword and location, with phone numbers and addresses.
-   **Get Yellow Pages Place** Returns one business's detail from its URL.

### Jobs

4

-   **Search Indeed** Returns Indeed job listings for a keyword and location. The domain decides the country's Indeed site and is separate from the location parameter, so a mismatched pair returns the wrong market.
-   **Get Indeed Job** Returns one job posting's full description from its URL.
-   **Search Glassdoor** Returns Glassdoor job listings for a keyword and location, with company ratings alongside.
-   **Get Glassdoor Job** Returns one job posting's detail from its URL.

### Social

5

-   **Get Instagram Profile** Returns a public profile's follower counts, biography, and recent posts. Public profiles only: a private account returns its profile shell with no posts.
-   **Search TikTok** Returns TikTok videos matching a keyword, with view counts and creators.
-   **Get TikTok Profile** Returns an account's profile with follower and like counts.
-   **Get TikTok Posts** Returns an account's videos with their engagement figures.
-   **Get TikTok Comments** Returns the comments on one video, keyed on the numeric video id rather than the handle.

### Scraper Jobs

5

-   **Start Website Crawl** Crawls whole websites and returns every page in the formats requested, with depth and path-pattern controls. Asynchronous: it returns a job id rather than results, so a workflow polls the job or supplies a webhook.
-   **Start Scraper Job** Starts any of HasData's asynchronous scrapers, with the scraper-specific inputs supplied as properties. These jobs bill per row returned rather than per request, which makes the row limit the spend control and its absence an open-ended commitment.
-   **Get Scraper Job** Returns a job's status and its result files. The response names the result files by format, so a workflow can hand a spreadsheet straight to somebody rather than reassembling rows.
-   **List Scraper Job Results** Returns a job's rows, paginated. Rows appear as the job runs, so reading before it finishes returns a partial set with nothing to indicate more is coming.
-   **Stop Scraper Job** Cancels a running scraper job. The stop-spending operation, and it applies only to jobs still in progress. Rows already collected remain billable.

### Account

1

-   **Get Usage** Returns the remaining API credits and the concurrency limit. Worth checking before a large job and worth alerting on, because an exhausted balance is reported as a 403 rather than as a message that says so, and unused credits expire at the end of the billing period rather than rolling over.

## Frequently Asked Questions

### What can FlowRunner do with HasData?

FlowRunner agents can run Scrape Web Page, Start Batch Web Scrape, and Get Batch Web Scrape in HasData, plus 62 more actions.

### Does connecting HasData to FlowRunner require OAuth?

No. HasData connects to FlowRunner with an API key, no OAuth flow required.

### Can HasData trigger a FlowRunner workflow automatically?

HasData doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at HasData?** This integration exposes HasData to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/scrape-it-cloud. Site index: https://flowrunner.ai/llms.txt
