HasData
Сбор данных с Google, Amazon, Airbnb, Booking, карт и других сайтов
Добавьте сервер в «Мои MCP» — получите адрес подключения для Claude и ChatGPT.
Добавить в «Мои MCP»Нужно войти или зарегистрироваться — вернём на эту страницу.
Описание
Сервис парсинга, который собирает структурированные данные с популярных сайтов и поисковиков. Пригодится маркетологам, аналитикам и тем, кто мониторит цены, отзывы и выдачу. Поддерживаются поисковая выдача Google, Bing и DuckDuckGo, Google Картинки, Новости, Scholar, события и ответы AI Overview и AI Mode. Для Google Maps доступны поиск мест, карточки, отзывы, фото и публикации. Есть функции для Amazon (товары, отзывы, поиск, продавцы и их каталоги), Airbnb и Booking (поиск жилья и карточки объектов), Glassdoor (вакансии), публичных страниц Facebook, а также получение ответа ChatGPT на запрос вместе со ссылками.
Инструменты · 68
из ответа tools/list
airbnb_listing: GET /
hasdata_airbnb_listing_getAirbnbListings
airbnb_listing: GET /
hasdata_airbnb_listing_getAirbnbListings Get Airbnb Listings Searches Airbnb for available stays by location or map bounding box (neLat/neLng/swLat/swLng) and date range (check-in/check-out) with guest composition (adults, children, infants, pets) and nextPageToken pagination. Returns listing id/url, title, price per night and total, rating, review count, coordinates, and photos. Use for travel planning agents, short-term rental market analysis, pricing/occupancy research, and lead lists for property management.
hasdata_airbnb_listing_getAirbnbListings(pets?: number, neLat?: number, neLng?: number, swLat?: number, swLng?: number, adults?: number, checkIn: string, infants?: number, checkOut?: string, children?: number, location?: string, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"checkIn"
],
"properties": {
"pets": {
"type": "number",
"description": "Number of pets.\n"
},
"neLat": {
"type": "number",
"description": "North-east corner latitude of the map bounding box. When all four bounding-box coordinates are provided, listings are searched within the box instead of by location.\n"
},
"neLng": {
"type": "number",
"description": "North-east corner longitude of the map bounding box.\n"
},
"swLat": {
"type": "number",
"description": "South-west corner latitude of the map bounding box.\n"
},
"swLng": {
"type": "number",
"description": "South-west corner longitude of the map bounding box.\n"
},
"adults": {
"type": "number",
"description": "Number of adults.\n"
},
"checkIn": {
"type": "string",
"description": "The check-in date for the listings."
},
"infants": {
"type": "number",
"description": "Number of infants.\n"
},
"checkOut": {
"type": "string",
"description": "The check-out date for the listings."
},
"children": {
"type": "number",
"description": "Number of children.\n"
},
"location": {
"type": "string",
"description": "The location to search for listings. Required unless a full map bounding box (neLat, neLng, swLat, swLng) is provided."
},
"nextPageToken": {
"type": "string",
"description": "The token used to retrieve the next page of results."
}
},
"additionalProperties": false
}
airbnb_property: GET /
hasdata_airbnb_property_getAirbnbPropertyDetails
airbnb_property: GET /
hasdata_airbnb_property_getAirbnbPropertyDetails Get Airbnb Property Details Fetches the full Airbnb property page by listing URL. Returns title, description, location, coordinates, rating and review count, host profile, room/bed/bath counts, photos, and amenities list. Use for travel-planning agents, deep-dive rate research, photo/amenity enrichment of listings discovered via the listing-search endpoint, and LSTR compliance or market-quality audits.
hasdata_airbnb_property_getAirbnbPropertyDetails(url: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the Airbnb listing. Must be a valid Airbnb listing URL."
}
},
"additionalProperties": false
}
amazon_product: GET /
hasdata_amazon_product_getProductDetails
amazon_product: GET /
hasdata_amazon_product_getProductDetails Get Amazon Product Details Fetches a single Amazon product page by ASIN on a chosen Amazon domain (amazon.com, .co.uk, .de, .jp, etc.). Returns title, brand, current/list/deal price, currency, availability, Buy Box seller, Prime eligibility, bullet points, A+ description, rating and review count, images, category breadcrumbs, variants/sibling ASINs, and the other-sellers offers block (when otherSellers=true), plus delivery-zone-aware pricing when a shipping zip/location is set. Use for product research agents, price/stock monitoring, catalog enrichment, listing QA, Buy Box tracking, and cross-locale competitive analysis.
hasdata_amazon_product_getProductDetails(asin: string, domain?: string, language?: string, deliveryZip?: string, otherSellers?: boolean, shippingLocation?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"asin"
],
"properties": {
"asin": {
"type": "string",
"description": "The Amazon Standard Identification Number (ASIN) of the product."
},
"domain": {
"enum": [
"www.amazon.com",
"www.amazon.de",
"www.amazon.co.uk",
"www.amazon.ae",
"www.amazon.com.au",
"www.amazon.com.be",
"www.amazon.com.br",
"www.amazon.ca",
"www.amazon.eg",
"www.amazon.es",
"www.amazon.fr",
"www.amazon.ie",
"www.amazon.in",
"www.amazon.it",
"www.amazon.co.jp",
"www.amazon.com.mx",
"www.amazon.nl",
"www.amazon.pl",
"www.amazon.sa",
"www.amazon.se",
"www.amazon.sg",
"www.amazon.com.tr",
"www.amazon.co.za"
],
"type": "string",
"description": "Amazon domain to use. Default is www.amazon.com."
},
"language": {
"enum": [
"AR",
"BN",
"CS",
"DA",
"DE",
"EN",
"ES",
"FR",
"HI",
"IT",
"JP",
"KN",
"ML",
"MR",
"NL",
"PL",
"PT",
"SV",
"TA",
"TE",
"TR",
"ZH"
],
"type": "string",
"description": "Optional Amazon language code. Supported values depend on the selected domain."
},
"deliveryZip": {
"type": "string",
"description": "Postal code of the delivery location."
},
"otherSellers": {
"type": "boolean",
"description": "Also collect the offers of other sellers competing for this item. This takes an extra request to Amazon and costs 5 credits on top of the base. Default is false."
},
"shippingLocation": {
"type": "string",
"description": "The two-letter country code to define the country of the delivery address. Provide one exact documented value (238 allowed), e.g. `AU`, `CA`."
}
},
"additionalProperties": false
}
amazon_reviews: GET /
hasdata_amazon_reviews_getProductReviews
amazon_reviews: GET /
hasdata_amazon_reviews_getProductReviews Get Amazon Product Reviews Paginated fetch of customer reviews for an Amazon ASIN with filters for star rating (1-5, positive, critical), reviewer type (all vs verified purchase), media-only reviews, current-variant vs all-formats, keyword search, and sort (helpful/recent). Returns per-review title, body, star rating, author name and profile, review date, helpful-vote count, variant/format attributes, and attached media URLs, plus aggregate rating histogram. Use for voice-of-customer analysis, sentiment and theme extraction, feature-request mining, competitor review benchmarking, and feeding review-summarization or Q&A agents.
hasdata_amazon_reviews_getProductReviews(asin: string, page?: number, stars?: string, domain?: string, format?: string, sortBy?: string, language?: string, mediaType?: string, searchTerm?: string, reviewerType?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"asin"
],
"properties": {
"asin": {
"type": "string",
"description": "The Amazon Standard Identification Number (ASIN) of the product."
},
"page": {
"type": "number",
"description": "The page number to retrieve."
},
"stars": {
"enum": [
"allStars",
"fiveStar",
"fourStar",
"threeStar",
"twoStar",
"oneStar",
"positive",
"critical"
],
"type": "string",
"description": "The star ratings to filter reviews."
},
"domain": {
"enum": [
"www.amazon.com",
"www.amazon.de",
"www.amazon.co.uk",
"www.amazon.ae",
"www.amazon.com.au",
"www.amazon.com.be",
"www.amazon.com.br",
"www.amazon.ca",
"www.amazon.eg",
"www.amazon.es",
"www.amazon.fr",
"www.amazon.ie",
"www.amazon.in",
"www.amazon.it",
"www.amazon.co.jp",
"www.amazon.com.mx",
"www.amazon.nl",
"www.amazon.pl",
"www.amazon.sa",
"www.amazon.se",
"www.amazon.sg",
"www.amazon.com.tr",
"www.amazon.co.za"
],
"type": "string",
"description": "Amazon domain to use. Default is www.amazon.com."
},
"format": {
"enum": [
"allFormats",
"currentFormat"
],
"type": "string",
"description": "The format type to filter reviews. Include reviews of any product format/variant or specifically to the current format/variant."
},
"sortBy": {
"enum": [
"helpful",
"recent"
],
"type": "string",
"description": "The criterion to sort reviews."
},
"language": {
"enum": [
"AR",
"BN",
"CS",
"DA",
"DE",
"EN",
"ES",
"FR",
"HI",
"IT",
"JP",
"KN",
"ML",
"MR",
"NL",
"PL",
"PT",
"SV",
"TA",
"TE",
"TR",
"ZH"
],
"type": "string",
"description": "Optional Amazon language code. Supported values depend on the selected domain."
},
"mediaType": {
"enum": [
"allReviews",
"mediaReviews"
],
"type": "string",
"description": "The media type to filter reviews."
},
"searchTerm": {
"type": "string",
"description": "A term to search within the reviews."
},
"reviewerType": {
"enum": [
"allReviews",
"verifiedPurchaseReviews"
],
"type": "string",
"description": "The type of reviewers to filter."
}
},
"additionalProperties": false
}
amazon_search: GET /
hasdata_amazon_search_getSearchResults
amazon_search: GET /
hasdata_amazon_search_getSearchResults Get Amazon Search Results Runs a keyword search on a chosen Amazon domain with pagination, delivery zip/location scoping, and sort order (featured, price low-to-high, price high-to-low, avg-customer-review, newest). Returns the organic results list with ASIN, title, thumbnail, product URL, price and list price, currency, star rating, review count, Prime/sponsored flags, and position. Use for SERP monitoring, keyword/share-of-shelf tracking, competitor discovery, ASIN harvesting to feed downstream product/reviews endpoints, and building product-research or price-comparison agents.
hasdata_amazon_search_getSearchResults(q: string, page?: number, domain?: string, sortBy?: string, language?: string, deliveryZip?: string, shippingLocation?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "The search term for which to get the search results."
},
"page": {
"type": "number",
"description": "Page number for pagination (e.g., 1 for the first page, 2 for the second page, etc.)."
},
"domain": {
"enum": [
"www.amazon.com",
"www.amazon.de",
"www.amazon.co.uk",
"www.amazon.ae",
"www.amazon.com.au",
"www.amazon.com.be",
"www.amazon.com.br",
"www.amazon.ca",
"www.amazon.eg",
"www.amazon.es",
"www.amazon.fr",
"www.amazon.ie",
"www.amazon.in",
"www.amazon.it",
"www.amazon.co.jp",
"www.amazon.com.mx",
"www.amazon.nl",
"www.amazon.pl",
"www.amazon.sa",
"www.amazon.se",
"www.amazon.sg",
"www.amazon.com.tr",
"www.amazon.co.za"
],
"type": "string",
"description": "Amazon domain to use. Default is www.amazon.com."
},
"sortBy": {
"enum": [
"featured",
"priceLowToHigh",
"priceHighToLow",
"avgCustomerReview",
"newestArrivals",
"bestSellers"
],
"type": "string",
"description": "Parameter used for sorting results"
},
"language": {
"enum": [
"AR",
"BN",
"CS",
"DA",
"DE",
"EN",
"ES",
"FR",
"HI",
"IT",
"JP",
"KN",
"ML",
"MR",
"NL",
"PL",
"PT",
"SV",
"TA",
"TE",
"TR",
"ZH"
],
"type": "string",
"description": "Optional Amazon language code. Supported values depend on the selected domain."
},
"deliveryZip": {
"type": "string",
"description": "Postal code of the delivery location."
},
"shippingLocation": {
"type": "string",
"description": "The two-letter country code to define the country of the delivery address. Provide one exact documented value (238 allowed), e.g. `AU`, `CA`."
}
},
"additionalProperties": false
}
amazon_seller: GET /
hasdata_amazon_seller_getSellerDetails
amazon_seller: GET /
hasdata_amazon_seller_getSellerDetails Get Amazon Seller Details Fetches the public storefront profile for an Amazon seller by sellerId on the chosen domain/language. Returns business name, seller logo, About-this-seller text, overall feedback rating and lifetime/12-month/90-day/30-day rating breakdown, feedback count, business address and contact details, and customer service info. Use for seller due-diligence and vetting, counterfeit/brand-protection workflows, MAP-violation investigations, building seller leaderboards, and enriching marketplace seller directories.
hasdata_amazon_seller_getSellerDetails(domain?: string, language?: string, sellerId: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sellerId"
],
"properties": {
"domain": {
"enum": [
"www.amazon.com",
"www.amazon.de",
"www.amazon.co.uk",
"www.amazon.ae",
"www.amazon.com.au",
"www.amazon.com.be",
"www.amazon.com.br",
"www.amazon.ca",
"www.amazon.eg",
"www.amazon.es",
"www.amazon.fr",
"www.amazon.ie",
"www.amazon.in",
"www.amazon.it",
"www.amazon.co.jp",
"www.amazon.com.mx",
"www.amazon.nl",
"www.amazon.pl",
"www.amazon.sa",
"www.amazon.se",
"www.amazon.sg",
"www.amazon.com.tr",
"www.amazon.co.za"
],
"type": "string",
"description": "Amazon domain to use. Default is www.amazon.com."
},
"language": {
"enum": [
"AR",
"BN",
"CS",
"DA",
"DE",
"EN",
"ES",
"FR",
"HI",
"IT",
"JP",
"KN",
"ML",
"MR",
"NL",
"PL",
"PT",
"SV",
"TA",
"TE",
"TR",
"ZH"
],
"type": "string",
"description": "Optional Amazon language code. Supported values depend on the selected domain."
},
"sellerId": {
"type": "string",
"description": "The unique Amazon seller ID."
}
},
"additionalProperties": false
}
amazon_seller_products: GET /
hasdata_amazon_seller_products_getSellerProducts
amazon_seller_products: GET /
hasdata_amazon_seller_products_getSellerProducts Get Amazon Seller Products Paginated listing of the storefront catalog offered by a given Amazon sellerId on the chosen domain. Returns each product row with ASIN, title, image, product URL, price and list price, currency, star rating, and review count. Use to map a competitor's or 3P seller's full assortment, detect new SKU launches, build brand-protection watchlists, drive price-intelligence pipelines, and seed per-ASIN deep-dives against the product and reviews endpoints.
hasdata_amazon_seller_products_getSellerProducts(page?: number, domain?: string, language?: string, sellerId: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sellerId"
],
"properties": {
"page": {
"type": "number",
"description": "Page number for pagination (e.g., 1 for the first page, 2 for the second page, etc.)."
},
"domain": {
"enum": [
"www.amazon.com",
"www.amazon.de",
"www.amazon.co.uk",
"www.amazon.ae",
"www.amazon.com.au",
"www.amazon.com.be",
"www.amazon.com.br",
"www.amazon.ca",
"www.amazon.eg",
"www.amazon.es",
"www.amazon.fr",
"www.amazon.ie",
"www.amazon.in",
"www.amazon.it",
"www.amazon.co.jp",
"www.amazon.com.mx",
"www.amazon.nl",
"www.amazon.pl",
"www.amazon.sa",
"www.amazon.se",
"www.amazon.sg",
"www.amazon.com.tr",
"www.amazon.co.za"
],
"type": "string",
"description": "Amazon domain to use. Default is www.amazon.com."
},
"language": {
"enum": [
"AR",
"BN",
"CS",
"DA",
"DE",
"EN",
"ES",
"FR",
"HI",
"IT",
"JP",
"KN",
"ML",
"MR",
"NL",
"PL",
"PT",
"SV",
"TA",
"TE",
"TR",
"ZH"
],
"type": "string",
"description": "Optional Amazon language code. Supported values depend on the selected domain."
},
"sellerId": {
"type": "string",
"description": "The unique Amazon seller ID."
}
},
"additionalProperties": false
}
bing_serp: GET /
hasdata_bing_serp_getSearchResults
bing_serp: GET /
hasdata_bing_serp_getSearchResults Get Bing Search Results Fetches Bing SERPs for a query with geo targeting (location/lat/lon), market (mkt), country (cc), safesearch (off/moderate/strict), interface language (setLang), time/custom filters, device type, and pagination (first offset). Returns organic results (title, url, snippet, displayed url, position) and related searches. Use for SEO rank tracking, SERP feature monitoring, Bing-specific visibility audits, and training/eval data for search agents.
hasdata_bing_serp_getSearchResults(q: string, cc?: string, lat?: string, lon?: string, mkt?: string, first?: number, filters?: string, setLang?: string, location?: string, deviceType?: string, safeSearch?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Specify the search term for which you want to scrape the SERP."
},
"cc": {
"enum": [
"ar",
"au",
"at",
"be",
"br",
"ca",
"cl",
"dk",
"fi",
"fr",
"de",
"hk",
"in",
"id",
"it",
"jp",
"kr",
"my",
"mx",
"nl",
"nz",
"no",
"cn",
"pl",
"pt",
"ph",
"ru",
"sa",
"za",
"es",
"se",
"ch",
"tw",
"tr",
"gb",
"us"
],
"type": "string",
"description": "The two-letter country code for the country to search from."
},
"lat": {
"type": "string",
"description": "GPS latitude for the search origin."
},
"lon": {
"type": "string",
"description": "GPS longitude for the search origin."
},
"mkt": {
"enum": [
"es-ar",
"en-au",
"de-at",
"nl-be",
"fr-be",
"pt-br",
"en-ca",
"fr-ca",
"es-cl",
"da-dk",
"fi-fi",
"fr-fr",
"de-de",
"zh-hk",
"en-in",
"en-id",
"it-it",
"ja-jp",
"ko-kr",
"en-my",
"es-mx",
"nl-nl",
"en-nz",
"no-no",
"zh-cn",
"pl-pl",
"en-ph",
"ru-ru",
"en-za",
"es-es",
"sv-se",
"fr-ch",
"de-ch",
"zh-tw",
"tr-tr",
"en-gb",
"en-us",
"es-us"
],
"type": "string",
"description": "The two-letter country code for the country to search from."
},
"first": {
"type": "number",
"description": "This parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 1 (default) indicates the first page of results, 11 refers to the second page, and 21 to the third page.\n"
},
"filters": {
"type": "string",
"description": "Allows applying various filters to narrow search results, including date-based options:\n\n - `ex1:\"ez1\"` – past 24 hours\n - `ex1:\"ez2\"` – past week\n - `ex1:\"ez3\"` – past month\n\nFor complex filters, run a Bing search and copy the filters parameter from the URL.\n"
},
"setLang": {
"enum": [
"ar",
"bg",
"ca",
"zh-hans",
"zh-hant",
"hr",
"cs",
"da",
"nl",
"en",
"en-gb",
"et",
"fi",
"fr",
"de",
"he",
"hi",
"hu",
"it",
"jp",
"ko",
"lv",
"lt",
"ms",
"nb",
"pl",
"pt-br",
"pt-pt",
"ro",
"ru",
"sr",
"sk",
"sl",
"es",
"sv",
"th",
"tr",
"uk",
"vi"
],
"type": "string",
"description": "The language of the user interface and preferred result language. Accepts a two-letter language code (e.g. `en`, `de`) or a locale/script variant (e.g. `en-gb`, `zh-hans`, `pt-br`)."
},
"location": {
"type": "string",
"description": "Defines the search’s origin location as free text (e.g. `Austin, Texas`). It is resolved to coordinates to localize the results. For realistic results, set location at the city level. If both `lat` and `lon` are provided, they take precedence and `location` is ignored. If omitted, the proxy’s location may be used."
},
"deviceType": {
"enum": [
"desktop",
"mobile",
"tablet"
],
"type": "string",
"description": "Specify the device type for the search."
},
"safeSearch": {
"enum": [
"off",
"moderate",
"strict"
],
"type": "string",
"description": "Adult Content Filtering option."
}
},
"additionalProperties": false
}
booking_place: GET /
hasdata_booking_place_getBookingPlaceDetails
booking_place: GET /
hasdata_booking_place_getBookingPlaceDetails Get Booking Hotel Details Fetches a single Booking.com property by its full URL for the given stay dates (`checkInDate` / `checkOutDate`) and guest composition (rooms, adults, children with ages). Returns the property identity (hotelId, title, address, coordinates), policies (free cancellation, no prepayment, child/pet stays), price, rating and review summary, photos, and the list of available room suites for the requested window. Use to enrich property listings with real-time availability and pricing, monitor a specific competitor hotel over time, validate amenities and photos before displaying venue details to end users, or fetch full details after discovering the property URL via the Booking Search endpoint.
hasdata_booking_place_getBookingPlaceDetails(url: string, rooms: number, adults: number, children: number, currency?: string, language?: string, checkInDate: string, checkOutDate: string, childrenAges?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url",
"checkInDate",
"checkOutDate",
"rooms",
"adults",
"children"
],
"properties": {
"url": {
"type": "string",
"description": "Full Booking.com URL of the property page. Only `booking.com` and `www.booking.com` hosts are accepted."
},
"rooms": {
"type": "number",
"description": "Number of rooms to book."
},
"adults": {
"type": "number",
"description": "Number of adult guests across all rooms."
},
"children": {
"type": "number",
"description": "Number of child guests across all rooms (0–10). Pass `0` if there are no children."
},
"currency": {
"type": "string",
"description": "Currency of the prices returned in the response. Use `hotelCurrency` to keep each property's native currency. Provide one exact documented value (52 allowed), e.g. `hotelCurrency`, `usd`."
},
"language": {
"enum": [
"en-us",
"en-gb",
"de",
"nl",
"fr",
"es",
"es-ar",
"es-mx",
"ca",
"it",
"pt-pt",
"pt-br",
"no",
"fi",
"sv",
"da",
"cs",
"hu",
"ro",
"ja",
"zh-cn",
"zh-tw",
"pl",
"el",
"ru",
"tr",
"bg",
"ar",
"ko",
"he",
"lv",
"uk",
"hi",
"id",
"ms",
"th",
"et",
"hr",
"lt",
"sk",
"sr",
"sl",
"vi",
"tl",
"is"
],
"type": "string",
"description": "Language of the Booking.com interface and localized fields in the response."
},
"checkInDate": {
"type": "string",
"description": "Check-in date in `YYYY-MM-DD` format. Must be in the future and earlier than `checkOutDate`."
},
"checkOutDate": {
"type": "string",
"description": "Check-out date in `YYYY-MM-DD` format. Must be later than `checkInDate`."
},
"childrenAges": {
"type": "string",
"description": "Comma-separated list of child ages, one entry per child (each `0`–`17`). Required when `children > 0` and the number of ages must equal `children`.\n\nExample: `1,3,7`\n"
}
},
"additionalProperties": false
}
booking_search: GET /
hasdata_booking_search_getBookingSearchResults
booking_search: GET /
hasdata_booking_search_getBookingSearchResults Get Booking Search Results Searches Booking.com for accommodations by destination keyword and stay dates (`checkInDate` / `checkOutDate`) with guest composition (rooms, adults, children with ages) and rich filtering: property type, star rating, review score, hotel and room facilities, distance from center, reservation policy, bed preference, travel group, online payment, accessibility, plus optional price range and bedroom/bathroom counts. Pagination is page-based with 25 results per page; locale is controlled by `language` and `currency`. Returns each hotel's `hotelId`, title and Booking URL, location info (city, address, coordinates, distance to center / nearest beach), policies (free cancellation, no prepayment, child/pet stays), price (per stay, before discount, discount, currency), rating, review summary and main photo. Use to power travel-planning agents, OTA price/inventory monitoring, hotel competitor analysis, lead-generation in the hospitality vertical, or to feed `hotelId` / URL into the Booking Place endpoint for full property details.
hasdata_booking_search_getBookingSearchResults(page?: number, sort?: string, rooms: number, adults: number, keyword: string, meals__?: array, bedrooms?: number, children: number, currency?: string, language?: string, rating__?: array, bathrooms?: number, price_max_?: number, price_min_?: number, checkInDate: string, checkOutDate: string, childrenAges?: string, facilities__?: array, reviewScore__?: array, travelGroup__?: array, propertyType__?: array, bedPreference__?: array, onlinePayment__?: array, roomFacilities__?: array, reservationPolicy__?: array, roomAccessibility__?: array, distanceFromCenter__?: array, propertyAccessibility__?: array)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword",
"checkInDate",
"checkOutDate",
"rooms",
"adults",
"children"
],
"properties": {
"page": {
"type": "number",
"description": "Page number of the search results. Booking.com returns 25 results per page; pass `2` for results 26–50, `3` for 51–75, etc."
},
"sort": {
"enum": [
"ourTopPicks",
"homesAndApartmentsFirst",
"priceLowestFirst",
"priceHighestFirst",
"bestReviewedAndLowestPrice",
"ratingHighToLow",
"ratingLowToHigh",
"ratingAndPrice",
"distanceFromDowntown",
"topReviewed"
],
"type": "string",
"description": "Sort order applied by Booking.com to the results page."
},
"rooms": {
"type": "number",
"description": "Number of rooms to book."
},
"adults": {
"type": "number",
"description": "Number of adult guests across all rooms."
},
"keyword": {
"type": "string",
"description": "Free-text destination query. Usually a city, region or neighborhood (e.g. `Paris`, `Manhattan, New York`); a specific property name is also accepted."
},
"meals__": {
"type": "array",
"items": {
"enum": [
"breakfastIncluded",
"kitchenFacilities"
],
"type": "string"
},
"description": "Filter by available meal plans. Multiple values are combined with OR."
},
"bedrooms": {
"type": "number",
"description": "Minimum number of bedrooms in the property."
},
"children": {
"type": "number",
"description": "Number of child guests across all rooms (0–10). Pass `0` if there are no children."
},
"currency": {
"type": "string",
"description": "Currency of the prices returned in the response. Use `hotelCurrency` to keep each property's native currency. Provide one exact documented value (52 allowed), e.g. `hotelCurrency`, `usd`."
},
"language": {
"enum": [
"en-us",
"en-gb",
"de",
"nl",
"fr",
"es",
"es-ar",
"es-mx",
"ca",
"it",
"pt-pt",
"pt-br",
"no",
"fi",
"sv",
"da",
"cs",
"hu",
"ro",
"ja",
"zh-cn",
"zh-tw",
"pl",
"el",
"ru",
"tr",
"bg",
"ar",
"ko",
"he",
"lv",
"uk",
"hi",
"id",
"ms",
"th",
"et",
"hr",
"lt",
"sk",
"sr",
"sl",
"vi",
"tl",
"is"
],
"type": "string",
"description": "Language of the Booking.com interface and localized fields in the response."
},
"rating__": {
"type": "array",
"items": {
"enum": [
"oneStar",
"twoStars",
"threeStars",
"fourStars",
"fiveStars"
],
"type": "string"
},
"description": "Filter by official star rating. Multiple values are combined with OR."
},
"bathrooms": {
"type": "number",
"description": "Minimum number of bathrooms in the property."
},
"price_max_": {
"type": "number",
"description": "Maximum total price for the stay, in the requested `currency`. Must be `>= 20` and greater than `price[min]`. Required if `price[min]` is omitted."
},
"price_min_": {
"type": "number",
"description": "Minimum total price for the stay, in the requested `currency`. Must be `>= 10`. Required if `price[max]` is omitted."
},
"checkInDate": {
"type": "string",
"description": "Check-in date in `YYYY-MM-DD` format. Must be in the future and earlier than `checkOutDate`."
},
"checkOutDate": {
"type": "string",
"description": "Check-out date in `YYYY-MM-DD` format. Must be later than `checkInDate`."
},
"childrenAges": {
"type": "string",
"description": "Comma-separated list of child ages, one entry per child (each `0`–`17`). Required when `children > 0` and the number of ages must equal `children`.\n\nExample: `1,3,7`\n"
},
"facilities__": {
"type": "array",
"items": {
"enum": [
"swimmingPool",
"parking",
"spa",
"freeWifi",
"hotTubJacuzzi",
"airportShuttle",
"fitnessCenter",
"restaurant",
"nonSmokingRooms",
"frontDesk24Hour",
"electricVehicleChargingStation",
"wheelchairAccessible",
"roomService"
],
"type": "string"
},
"description": "Filter by property-level facilities. Multiple values are combined with OR."
},
"reviewScore__": {
"type": "array",
"items": {
"enum": [
"wonderful",
"veryGood",
"good",
"pleasant"
],
"type": "string"
},
"description": "Filter by minimum guest review score bucket. Multiple values are combined with OR."
},
"travelGroup__": {
"type": "array",
"items": {
"enum": [
"adultsOnly",
"petFriendly"
],
"type": "string"
},
"description": "Filter by travel-group oriented stay options. Multiple values are combined with OR."
},
"propertyType__": {
"type": "array",
"items": {
"enum": [
"hostels",
"bedAndBreakfast",
"hotels",
"apartments",
"resorts",
"guesthouses",
"homestays",
"entireHomesAndApartments"
],
"type": "string"
},
"description": "Filter by property type. Multiple values are combined with OR."
},
"bedPreference__": {
"type": "array",
"items": {
"enum": [
"twinBeds",
"doubleBed"
],
"type": "string"
},
"description": "Filter by bed configuration. Multiple values are combined with OR."
},
"onlinePayment__": {
"type": "array",
"items": {
"enum": [
"acceptsOnlinePayments"
],
"type": "string"
},
"description": "Filter by online payment options."
},
"roomFacilities__": {
"type": "array",
"items": {
"enum": [
"privateBathroom",
"balcony",
"seaView",
"kitchenKitchenette",
"airConditioning",
"bathtub",
"hotTub",
"view",
"spaTub",
"upperFloorsAccessibleByElevator",
"microwave",
"refrigerator",
"coffeeMachine",
"electricKettle",
"heating",
"towels",
"toilet",
"mountainView",
"flatScreenTv",
"tv",
"coffeeTeaMaker",
"hairdryer",
"toiletPaper",
"shower",
"linens"
],
"type": "string"
},
"description": "Filter by in-room facilities. Multiple values are combined with OR."
},
"reservationPolicy__": {
"type": "array",
"items": {
"enum": [
"freeCancellation",
"noPrepayment"
],
"type": "string"
},
"description": "Filter by reservation flexibility. Multiple values are combined with OR."
},
"roomAccessibility__": {
"type": "array",
"items": {
"enum": [
"upperFloorsAccessibleByElevator",
"entireUnitLocatedOnGroundFloor",
"walkInShower",
"entireUnitWheelchairAccessible",
"adaptedBath",
"rollInShower",
"showerChair",
"emergencyCordInBathroom",
"toiletWithGrabRails",
"raisedToilet",
"lowerSink"
],
"type": "string"
},
"description": "Filter by in-room accessibility features. Multiple values are combined with OR."
},
"distanceFromCenter__": {
"type": "array",
"items": {
"enum": [
"lessThan1Km",
"lessThan3Km",
"lessThan5Km"
],
"type": "string"
},
"description": "Filter by distance from the destination center. Multiple values are combined with OR."
},
"propertyAccessibility__": {
"type": "array",
"items": {
"enum": [
"auditoryGuidance",
"toiletWithGrabRails",
"visualAidsTactileSigns",
"visualAidsBraille",
"bathroomEmergencyCord",
"raisedToilet",
"loweredSink"
],
"type": "string"
},
"description": "Filter by property-level accessibility features. Multiple values are combined with OR."
}
},
"additionalProperties": false
}
chatgpt_chat: GET /
hasdata_chatgpt_chat_getChatgptAnswer
chatgpt_chat: GET /
hasdata_chatgpt_chat_getChatgptAnswer Get ChatGPT Answer Sends a prompt to ChatGPT anonymously and returns the answer as markdown text, plus every web source ChatGPT consulted with its domain, page title, snippet, publication date and thumbnail, the links rendered inside the answer, the conversation title ChatGPT generated, the model that answered, and whether a web search was used. The language of the answer follows the prompt — write the prompt in the language you want back, or ask for one in it. Set the frame of reference for words like "today" with timezone. Each request is a fresh conversation with no memory of earlier ones. Use to answer questions with cited sources, to ground an agent or RAG pipeline in ChatGPT's web-search results, to summarise current events with their sources, or to build datasets of model answers.
hasdata_chatgpt_chat_getChatgptAnswer(prompt: string, timezone?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"prompt"
],
"properties": {
"prompt": {
"type": "string",
"description": "The question or instruction to send to ChatGPT, up to 8000 characters. A prompt that asks about recent events makes ChatGPT search the web and return sources; a general-knowledge prompt is answered from the model alone. The prompt also decides the language of the answer — write it in the language you want back, or ask for one explicitly (\"Antworte auf Deutsch\")."
},
"timezone": {
"type": "string",
"description": "IANA time zone name, for example `America/Chicago` or `Europe/Berlin`. It sets what ChatGPT treats as the current date and time, which matters for prompts that say \"today\", \"this week\" or \"latest\"."
}
},
"additionalProperties": false
}
duckduckgo_serp: GET /
hasdata_duckduckgo_serp_getSearchResults
duckduckgo_serp: GET /
hasdata_duckduckgo_serp_getSearchResults Get DuckDuckGo Search Results Fetches DuckDuckGo SERPs for a query with region targeting (kl, or cc+setLang), safesearch (off/moderate/strict), device type, and token-based pagination. Returns organic results (title, url, snippet, displayed url, position, date, sitelinks, video metadata), ads, and the Search Assist AI answer. Use for SEO rank tracking, SERP feature monitoring, DuckDuckGo-specific visibility audits, and training/eval data for search agents.
hasdata_duckduckgo_serp_getSearchResults(q?: string, cc?: string, kl?: string, setLang?: string, deviceType?: string, safeSearch?: string, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"description": "Specify the search term for which you want to scrape the SERP. Required unless `nextPageToken` is provided (which carries the query of the page it continues)."
},
"cc": {
"enum": [
"ar",
"au",
"at",
"be",
"br",
"ca",
"cl",
"dk",
"fi",
"fr",
"de",
"hk",
"in",
"id",
"it",
"jp",
"kr",
"my",
"mx",
"nl",
"nz",
"no",
"cn",
"pl",
"pt",
"ph",
"ru",
"sa",
"za",
"es",
"se",
"ch",
"tw",
"tr",
"gb",
"us"
],
"type": "string",
"description": "The two-letter country code for the country to search from. Combined with `setLang` to form the DuckDuckGo region. Ignored if `kl` is set."
},
"kl": {
"enum": [
"ar-es",
"au-en",
"at-de",
"be-nl",
"be-fr",
"br-pt",
"ca-en",
"ca-fr",
"cl-es",
"dk-da",
"fi-fi",
"fr-fr",
"de-de",
"hk-tzh",
"in-en",
"id-en",
"it-it",
"jp-jp",
"kr-kr",
"my-en",
"mx-es",
"nl-nl",
"nz-en",
"no-no",
"cn-zh",
"pl-pl",
"ph-en",
"ru-ru",
"za-en",
"es-es",
"se-sv",
"ch-de",
"tw-tzh",
"tr-tr",
"uk-en",
"us-en",
"wt-wt"
],
"type": "string",
"description": "DuckDuckGo region code in `<country>-<language>` form (e.g. `us-en`, `de-de`). Sets country and interface language at once; takes precedence over `cc`/`setLang`. Use `wt-wt` for no region."
},
"setLang": {
"enum": [
"ar",
"ca",
"zh-hans",
"zh-hant",
"hr",
"cs",
"da",
"nl",
"en",
"et",
"fi",
"fr",
"de",
"he",
"hu",
"it",
"ja",
"ko",
"lv",
"lt",
"nb",
"pl",
"pt",
"ro",
"ru",
"sk",
"sl",
"es",
"sv",
"th",
"tr",
"uk",
"vi"
],
"type": "string",
"description": "The preferred result/interface language code — usually two letters (e.g. `en`, `de`), with script-tag variants for some languages (e.g. `zh-hans`, `zh-hant`). Combined with `cc` to form the DuckDuckGo region. Ignored if `kl` is set."
},
"deviceType": {
"enum": [
"desktop",
"mobile",
"tablet"
],
"type": "string",
"description": "Specify the device type for the search."
},
"safeSearch": {
"enum": [
"off",
"moderate",
"strict"
],
"type": "string",
"description": "Adult Content Filtering option."
},
"nextPageToken": {
"type": "string",
"description": "Opaque token returned in each response as `nextPageToken`. Pass it back (in place of `q`) to fetch the next page of results. It carries a pre-signed page URL bound to the original request's session, so it must be used as-is and cannot be constructed manually. Absent when there are no further pages.\n"
}
},
"additionalProperties": false
}
facebook_profile: GET /
hasdata_facebook_profile_getFacebookProfile
facebook_profile: GET /
hasdata_facebook_profile_getFacebookProfile Get Facebook Profile Fetches a public Facebook page or profile by handle (username, @username or numeric profile id) and returns page id, name, username, category, bio, exact likes and talking-about counts, followers and following, website, phone, page owner, profile and cover photo URLs, plus the posts on the page with their text, media, reaction breakdown, comment and share counts. Walks the feed three posts per request via pagination.nextPageToken. Use to enrich company or creator records, verify a brand's reach and contact details before outreach, monitor competitor pages, or build datasets of page metadata.
hasdata_facebook_profile_getFacebookProfile(handle: string, language?: string, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"description": "The Facebook username of the page or profile you want to scrape, with or without the `@` symbol, or its numeric profile id (the `id` of a `profile.php?id=…` URL), e.g. `nike` or `61550916779928`. Groups and private personal accounts are not supported."
},
"language": {
"enum": [
"ar",
"bn",
"cs",
"da",
"de",
"el",
"en",
"es",
"fi",
"fil",
"fr",
"he",
"hi",
"hu",
"id",
"it",
"ja",
"ko",
"ms",
"nb",
"nl",
"pl",
"pt",
"ro",
"ru",
"sv",
"th",
"tr",
"uk",
"vi",
"zh-hans",
"zh-hant"
],
"type": "string",
"description": "Language the page is rendered in. Facebook serves a page in the language of the request, so this changes the localised strings (`followersCount`, `followingCount`, `category`) while the exact figures (`likesCount`, `talkingAboutCount`) stay numeric in every language."
},
"nextPageToken": {
"type": "string",
"description": "Token from the `pagination.nextPageToken` field of a previous response; the page it leads to is reported as `pagination.nextPage`. Each paginated request returns the next three posts of the feed and a fresh token; the token is absent once the feed ends. Every request is billed separately."
}
},
"additionalProperties": false
}
glassdoor_job: GET /
hasdata_glassdoor_job_getJobDetails
glassdoor_job: GET /
hasdata_glassdoor_job_getJobDetails Get GlassDoor Job Details Fetches a Glassdoor job posting by its vacancy URL. Returns job title, company name and rating, location, salary estimate, posted date, full job description, and qualifications/benefits. Use for ATS ingestion, job aggregators, comp benchmarking, enrichment of company profiles, and feeding descriptions into LLM matching or resume-tailoring pipelines.
hasdata_glassdoor_job_getJobDetails(url: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the job vacancy to retrieve details for."
}
},
"additionalProperties": false
}
glassdoor_listing: GET /
hasdata_glassdoor_listing_getJobListings
glassdoor_listing: GET /
hasdata_glassdoor_listing_getJobListings Get GlassDoor Job Listings Searches Glassdoor job listings by keyword and location with sort (recent/relevant), domain targeting, filters (date posted, distance, salary range, company rating, easy apply, remote), and nextPageToken pagination that keeps the filters. Returns an array of jobs with title, company, location, salary estimate, posted date, job URL, and jobId, plus per-page tokens. Use to build job feeds, monitor hiring trends for roles/companies/regions, power candidate sourcing tools, and collect URLs for downstream full-detail scraping via the Glassdoor Job endpoint.
hasdata_glassdoor_listing_getJobListings(sort?: string, domain?: string, radius?: number, keyword: string, location: string, maxSalary?: number, minRating?: number, minSalary?: number, datePosted?: number, remoteOnly?: boolean, easyApplyOnly?: boolean, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword",
"location"
],
"properties": {
"sort": {
"enum": [
"recent",
"relevant"
],
"type": "string",
"description": "The sorting option for the search results."
},
"domain": {
"enum": [
"www.glassdoor.com.ar",
"www.glassdoor.com.au",
"www.glassdoor.at",
"nl.glassdoor.be",
"fr.glassdoor.be",
"www.glassdoor.com.br",
"www.glassdoor.ca",
"fr.glassdoor.ca",
"www.glassdoor.fr",
"www.glassdoor.de",
"www.glassdoor.com.hk",
"www.glassdoor.co.in",
"www.glassdoor.ie",
"www.glassdoor.it",
"www.glassdoor.com.mx",
"www.glassdoor.nl",
"www.glassdoor.co.nz",
"www.glassdoor.sg",
"www.glassdoor.es",
"de.glassdoor.ch",
"fr.glassdoor.ch",
"www.glassdoor.co.uk"
],
"type": "string",
"description": "The domain of the Glassdoor site (optional)."
},
"radius": {
"enum": [
0,
5,
10,
15,
25,
50,
100
],
"type": "number",
"description": "Search radius around the location, in miles. `0` keeps only jobs in the location itself. Glassdoor uses 25 miles when this is not set."
},
"keyword": {
"type": "string",
"description": "The keyword used to search for job listings."
},
"location": {
"type": "string",
"description": "The location to search for job listings."
},
"maxSalary": {
"type": "number",
"description": "Upper bound of the yearly pay range, must be greater than `minSalary`. Can be used on its own."
},
"minRating": {
"enum": [
1,
2,
3,
4
],
"type": "number",
"description": "Returns jobs from companies rated at least this high. Glassdoor applies the filter approximately, so a few companies rated slightly below the value can appear."
},
"minSalary": {
"type": "number",
"description": "Lower bound of the yearly pay range. A job is kept when its estimated pay range overlaps the requested one; hourly and monthly pay are converted to yearly. Jobs without a pay estimate are excluded when a salary filter is set."
},
"datePosted": {
"enum": [
1,
3,
7,
14,
30
],
"type": "number",
"description": "Returns only jobs posted within the given number of days."
},
"remoteOnly": {
"type": "boolean",
"description": "Returns only remote jobs. Defaults to false."
},
"easyApplyOnly": {
"type": "boolean",
"description": "Returns only jobs that can be applied to directly on Glassdoor. Defaults to false."
},
"nextPageToken": {
"type": "string",
"description": "Token for fetching the next page of jobs, taken from the pagination of a previous response. The token keeps the filters of the search it came from, so they do not need to be sent again."
}
},
"additionalProperties": false
}
google_images_images: GET /
hasdata_google_images_images_getImageSearchResults
google_images_images: GET /
hasdata_google_images_images_getImageSearchResults Get Image Search Results Scrapes Google Images for a query with advanced filters (size, color, image type, safesearch, domain/country/language, device type) plus page-based pagination (ijn). Returns each image with title, source page URL, direct image URL, thumbnail, dimensions, source name, and position. Use for visual-asset discovery, reverse-image workflows, dataset collection for ML/CV training, brand/logo monitoring, stock-image sourcing, and grounding multimodal LLMs with fresh image context.
hasdata_google_images_images_getImageSearchResults(q: string, gl?: string, hl?: string, ijn?: number, tbs?: string, safe?: string, uule?: string, domain?: string, filter?: number, location?: string, deviceType?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Search query term for retrieving image results."
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"ijn": {
"type": "number",
"description": "Page number for paginated results, where 0 is the first page."
},
"tbs": {
"type": "string",
"description": "`tbs` parameter for the Google Images API customizes image search results with various filters that can be combined using commas. Here are the available options:\n\nImage Size Filters:\n - `isz:l` - Search for large images.\n - `isz:m` - Search for medium images.\n - `isz:i` - Search for icon-sized images.\n - `isz:lt,islt:qsvga` - Filter for images larger than 400×300.\n - `isz:lt,islt:vga` - Filter for images larger than 640×480.\n - `isz:lt,islt:svga` - Filter for images larger than 800×600.\n - `isz:lt,islt:xga` - Filter for images larger than 1024×768.\n - `isz:lt,islt:2mp` - Filter for images larger than 1600×1200.\n - `isz:lt,islt:4mp` - Filter for images larger than 2272×1704.\n - `isz:ex,iszw:1000,iszh:1000` - Search for images exactly 1000×1000.\n\nColor Filters:\n - `ic:color` - Search for full-color images.\n - `ic:gray` - Search for black and white images.\n - `ic:specific,isc:red` (and other colors such as orange, yellow, green, etc.) - Search for images predominantly in specified colors.\n\nImage Type Filters:\n - `itp:face` - Search for images of faces.\n - `itp:photo` - Search for photographs.\n - `itp:clipart` - Search for clipart images.\n - `itp:lineart` - Search for line drawings.\n - `itp:animated` - Search for animated images (GIFs).\n"
},
"safe": {
"enum": [
"active",
"off"
],
"type": "string",
"description": "Adult Content Filtering option."
},
"uule": {
"type": "string",
"description": "The encoded location parameter."
},
"domain": {
"type": "string",
"description": "Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`."
},
"filter": {
"type": "number",
"description": "Defines whether to enable or disable the filters for 'Similar Results' and 'Omitted Results'. Set to 1 (default) to enable these filters, or 0 to disable them.\n"
},
"location": {
"type": "string",
"description": "Google canonical location for the search."
},
"deviceType": {
"enum": [
"desktop",
"mobile",
"tablet"
],
"type": "string",
"description": "Specify the device type for the search."
}
},
"additionalProperties": false
}
google_maps_contributor_reviews: GET /
hasdata_google_maps_contributor_reviews_getMapReviews
google_maps_contributor_reviews: GET /
hasdata_google_maps_contributor_reviews_getMapReviews Get Map Contributor Reviews Lists all Google Maps reviews authored by a specific Local Guide / contributor by contributorId, with language/country targeting and nextPageToken pagination. Returns per-review rating, text, date, place name, place address, photos, and owner responses. Use for reviewer reputation checks, detecting fake/bot review patterns, local-guide activity analysis, and building review-author profiles for trust scoring.
hasdata_google_maps_contributor_reviews_getMapReviews(gl?: string, hl?: string, num?: number, contributorId: string, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contributorId"
],
"properties": {
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"num": {
"type": "number",
"description": "Number of results per page, ranging from 10 to 200."
},
"contributorId": {
"type": "string",
"description": "Google Maps Contributor ID."
},
"nextPageToken": {
"type": "string",
"description": "Defines the next page token. It is used for retrieving the next page results."
}
},
"additionalProperties": false
}
google_maps_photos: GET /
hasdata_google_maps_photos_getMapPhotos
google_maps_photos: GET /
hasdata_google_maps_photos_getMapPhotos Get Place Photos Fetches the photo gallery of a Google Maps place by dataId or placeId, paginated with nextPageToken and filterable by categoryId. Returns each photo with image URL and thumbnail. Use for restaurant-menu extraction, venue/ambience visual audits, building rich place detail pages, and sourcing up-to-date imagery for POI listings.
hasdata_google_maps_photos_getMapPhotos(hl?: string, dataId?: string, placeId?: string, categoryId?: string, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"dataId": {
"type": "string",
"description": "Google Maps data ID. Either dataId or placeId should be set."
},
"placeId": {
"type": "string",
"description": "Unique reference to a place on Google Maps. Either dataId or placeId should be set."
},
"categoryId": {
"type": "string",
"description": "Filters photos by category."
},
"nextPageToken": {
"type": "string",
"description": "Token for fetching the next page of photos."
}
},
"additionalProperties": false
}
google_maps_place: GET /
hasdata_google_maps_place_getPlaceDetails
google_maps_place: GET /
hasdata_google_maps_place_getPlaceDetails Get Place Details Fetches full Google Maps place data by placeId with optional domain/language localization. Returns name, address, coordinates, phone, website, categories, hours, rating, review count, price level, photos, attributes/amenities, and plus_code. With fetchWebResults, also returns the place panel's web results (the business's own site and its Instagram, Facebook, delivery and other listings) with title, link, displayed link and snippet. Use for local SEO audits, POI enrichment, lead generation, competitor mapping, and building location-aware agents.
hasdata_google_maps_place_getPlaceDetails(hl?: string, domain?: string, placeId: string, fetchWebResults?: boolean)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"placeId"
],
"properties": {
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"domain": {
"type": "string",
"description": "Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`."
},
"placeId": {
"type": "string",
"description": "A unique identifier for the place. This ID can be obtained from Google Maps search results."
},
"fetchWebResults": {
"type": "boolean",
"description": "Also collect the place panel's \"Web results\" section (the business's website and its pages on Instagram, Facebook, delivery services, etc.) and return it as `webResults`. This takes an extra request to Google and costs 5 credits on top of the base. Default is false."
}
},
"additionalProperties": false
}
google_maps_posts: GET /
hasdata_google_maps_posts_getMapPosts
google_maps_posts: GET /
hasdata_google_maps_posts_getMapPosts Get Map Posts Fetches the latest Google Maps Posts (timeline-style updates such as offers, events, announcements, and notices) for a place by dataId or placeId, with language targeting. Returns per-post title, description, image, posted_at, link, and source/business name. Use for small-business intelligence, local-marketing monitoring, competitor activity tracking, and surfacing current promotions and events from local merchants.
hasdata_google_maps_posts_getMapPosts(hl?: string, dataId?: string, placeId?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"dataId": {
"type": "string",
"description": "Google Maps data ID."
},
"placeId": {
"type": "string",
"description": "Unique reference to a place on a Google Map. Either dataId or placeId should be set."
}
},
"additionalProperties": false
}
google_maps_reviews: GET /
hasdata_google_maps_reviews_getMapReviews
google_maps_reviews: GET /
hasdata_google_maps_reviews_getMapReviews Get Map Reviews Paginated fetch of Google Maps reviews for a place by dataId or placeId, with sort (mostRelevant, newestFirst, ratingHigh, ratingLow), topicId filter, and language. Returns per-review author name and profile link, star rating, text, published/relative date, likes count, owner response, attached photos, and local-guide flag. Use for reputation management, sentiment and topic mining, competitor review benchmarking, and feeding review data into summarization or trust-score LLMs.
hasdata_google_maps_reviews_getMapReviews(hl?: string, dataId?: string, sortBy?: string, placeId?: string, topicId?: string, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"dataId": {
"type": "string",
"description": "Google Maps data ID."
},
"sortBy": {
"enum": [
"mostRelevant",
"newestFirst",
"ratingHigh",
"ratingLow"
],
"type": "string",
"description": "Parameter used for sorting and refining results."
},
"placeId": {
"type": "string",
"description": "Unique reference to a place on a Google Map. Either dataId or placeId should be set."
},
"topicId": {
"type": "string",
"description": "Defines the ID of the topic you want to use for filtering reviews."
},
"nextPageToken": {
"type": "string",
"description": "Defines the next page token. It is used for retrieving the next page results."
}
},
"additionalProperties": false
}
google_maps_search: GET /
hasdata_google_maps_search_performMapSearch
google_maps_search: GET /
hasdata_google_maps_search_performMapSearch Get Google Maps Search Results Runs a Google Maps search by keyword plus optional GPS coordinates (@lat,lng,zoomz via `ll`) with language, country, domain, and offset-based pagination (start). Returns the local pack list with placeId, name, address, coordinates, rating, review count, price level, categories, phone, website, hours, and thumbnail. Use for local lead generation, competitor density mapping, market expansion research, hyperlocal directories, and feeding placeIds into the Maps Place, Reviews, or Photos endpoints.
hasdata_google_maps_search_performMapSearch(q: string, gl?: string, hl?: string, ll?: string, start?: number, domain?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Search query term or phrase."
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"ll": {
"type": "string",
"description": "GPS coordinates of the location where the search query is to be performed. This parameter is required if the 'start' parameter is present. The format for the `ll` parameter is `@` followed by latitude, longitude, and zoom level, separated by commas. The latitude and longitude should be in decimal degrees, and the zoom level is an integer. Example: `@40.7455096,-74.0083012,14z`.\n"
},
"start": {
"type": "number",
"description": "Specifies the result offset for pagination purposes. The offset dictates the number of rows to skip from the beginning of the results. This is useful for accessing subsequent pages of search results. For example, an offset of 0 (the default value) returns the first page of results, 20 returns the second page, 40 returns the third page, and so on. This parameter is especially relevant when used in conjunction with the 'll' parameter for location-based searches.\n"
},
"domain": {
"type": "string",
"description": "Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`."
}
},
"additionalProperties": false
}
google_scholar_case_law: GET /
hasdata_google_scholar_case_law_getScholarCaseLawOpinion
google_scholar_case_law: GET /
hasdata_google_scholar_case_law_getScholarCaseLawOpinion Get Scholar Case Law Opinion Looks up a Google Scholar Case Law opinion by its `caseId` (as returned in a google/scholar organic result's `caseId`, when searching with `asSdt` set to a case-law court scope, or in another case-law result's `citedCases`). Returns the case title, party names, court, procedural history, argued/decided dates, short citations, docket numbers, and every case cited within the opinion (grouped by cited case with a ready-to-call `hasdataLink`). Use to build legal-research and case-law-analysis workflows, or to walk a citation graph one cited case at a time.
hasdata_google_scholar_case_law_getScholarCaseLawOpinion(hl?: string, caseId: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"caseId"
],
"properties": {
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"caseId": {
"type": "string",
"description": "The `caseId` of a Google Scholar case-law result, as returned by the google/scholar endpoint."
}
},
"additionalProperties": false
}
google_scholar_cite: GET /
hasdata_google_scholar_cite_getScholarCitationFormats
google_scholar_cite: GET /
hasdata_google_scholar_cite_getScholarCitationFormats Get Scholar Citation Formats Looks up citation formats and export links for a single Google Scholar organic search result, identified by its `resultId` (as returned in a google/scholar organic result). Returns formatted citation snippets (MLA, APA, Chicago, Harvard, Vancouver) and reference-manager export links (BibTeX, EndNote, RefMan, RefWorks). Use to build citation/bibliography features or complete a research workflow started with google/scholar.
hasdata_google_scholar_cite_getScholarCitationFormats(q: string, hl?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "The `resultId` of a Google Scholar organic result, as returned by the google/scholar endpoint."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
}
},
"additionalProperties": false
}
google_scholar_scholar: GET /
hasdata_google_scholar_scholar_getScholarSearchResults
google_scholar_scholar: GET /
hasdata_google_scholar_scholar_getScholarSearchResults Get Scholar Search Results Scrapes Google Scholar for a query with author:/source: search helpers, year range (asYlo/asYhi), cited-by and all-versions lookups (cites/cluster), review-article and citation-inclusion filters, language/language-restrict, start/num pagination, and asSdt to scope to case law (asSdt=2006 for all courts, 2003 for Federal courts only, or 4/6/3 plus comma-separated court codes for specific courts) or toggle patents. Returns each organic result with title, link, snippet, publication info (authors with profile links), cited-by count and link, related-articles link, and all-versions count and link; a case-law result links to a scholar_case?case= page and carries a ready-to-call caseHasdataLink. Use for academic research, literature review automation, citation tracking, grounding research agents with scholarly sources, and walking case law straight into google/scholar-case-law.
hasdata_google_scholar_scholar_getScholarSearchResults(q: string, hl?: string, lr?: array, num?: number, asRr?: number, safe?: string, asSdt?: string, asVis?: number, asYhi?: number, asYlo?: number, cites?: string, start?: number, filter?: number, scisbd?: number, cluster?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Search query. Supports Google Scholar search helpers such as `author:` and `source:`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"lr": {
"type": "array",
"items": {
"enum": [
"lang_ar",
"lang_hy",
"lang_bg",
"lang_ca",
"lang_cs",
"lang_da",
"lang_de",
"lang_el",
"lang_en",
"lang_es",
"lang_et",
"lang_tl",
"lang_fi",
"lang_fr",
"lang_hr",
"lang_hi",
"lang_hu",
"lang_id",
"lang_is",
"lang_it",
"lang_iw",
"lang_he",
"lang_ja",
"lang_ko",
"lang_lt",
"lang_lv",
"lang_nl",
"lang_no",
"lang_fa",
"lang_pl",
"lang_pt",
"lang_ro",
"lang_ru",
"lang_sk",
"lang_sl",
"lang_sr",
"lang_sv",
"lang_th",
"lang_tr",
"lang_uk",
"lang_vi",
"lang_zh-CN",
"lang_zh-TW"
],
"type": "string"
},
"description": "The 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content."
},
"num": {
"type": "number",
"description": "Maximum number of results to return per page."
},
"asRr": {
"type": "number",
"description": "Set to 1 to return review articles only, or 0 (default) to return all articles."
},
"safe": {
"enum": [
"active",
"off"
],
"type": "string",
"description": "Adult content filtering option."
},
"asSdt": {
"type": "string",
"description": "Search type/filter. Pick a value below to search case law from a specific court, or use `0,5` for Articles (default) / `7` to include patents. Any comma-separated court-code combination Google Scholar accepts also works here as free text beyond this list. Provide one exact documented value (302 allowed), e.g. `0,5`, `2007`."
},
"asVis": {
"type": "number",
"description": "Set to 1 to exclude citations from the results, or 0 (default) to include them."
},
"asYhi": {
"type": "number",
"description": "Return results published up to and including this year."
},
"asYlo": {
"type": "number",
"description": "Return results published from this year onward."
},
"cites": {
"type": "string",
"description": "Unique article ID to look up articles that cite it, as returned in a result's `citedBy.citesId`."
},
"start": {
"type": "number",
"description": "Result offset for pagination, where 0 is the first result."
},
"filter": {
"type": "number",
"description": "Defines whether to enable or disable the filters for 'Similar Results' and 'Omitted Results'. Set to 1 (default) to enable these filters, or 0 to disable them.\n"
},
"scisbd": {
"type": "number",
"description": "Sort results by date instead of relevance: 1 for abstracts only, 2 for everything. Omit for relevance sorting."
},
"cluster": {
"type": "string",
"description": "Unique article ID to look up all indexed versions of that article, as returned in a result's `versions.clusterId`."
}
},
"additionalProperties": false
}
google_serp_ai_mode: GET /
hasdata_google_serp_ai_mode_getAiModeResponse
google_serp_ai_mode: GET /
hasdata_google_serp_ai_mode_getAiModeResponse Get AI Mode SERP Results Captures Gemini-powered AI Mode answers from Google Search. Returns the conversational response text, cited source links, subtopic breakdowns, and, when continuable is set, a subsequentRequestToken for multi-turn continuation. Use for next-gen search interfaces, AI-answer monitoring, citation tracking, content research agents, building question-answering pipelines grounded in live Google results, and person/company data enrichment — e.g. asking `Who is the CEO of HasData?`, `What is Roman Milyushkevich's LinkedIn?`, `HasData founder email`, `HasData Instagram handle` to get a synthesized answer plus source URLs in one call, ideal for lead enrichment, sales research, people search, and filling in contact/attribute gaps for CRM records.
hasdata_google_serp_ai_mode_getAiModeResponse(q: string, gl?: string, hl?: string, uule?: string, location?: string, continuable?: boolean, subsequentRequestToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Specify the search term for which you want to scrape the SERP."
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"uule": {
"type": "string",
"description": "The encoded location parameter."
},
"location": {
"type": "string",
"description": "Google canonical location for the search."
},
"continuable": {
"type": "boolean",
"description": "Whether to continue an existing AI Mode conversation."
},
"subsequentRequestToken": {
"type": "string",
"description": "Token used to continue a previous AI Mode request."
}
},
"additionalProperties": false
}
google_serp_ai_overview: GET /
hasdata_google_serp_ai_overview_getAiOverviewResponse
google_serp_ai_overview: GET /
hasdata_google_serp_ai_overview_getAiOverviewResponse Get AI Overview Results Fetches the lazy-loaded Google AI Overview block via a pageToken returned by the Google SERP API (token valid for 1 minute). Returns the AI-generated answer text, referenced source URLs, and expanded subtopic sections. Use as a follow-up call to Google SERP for tracking AI citations in SEO, fact-checking answers against sources, and LLM retrieval pipelines grounded in live Google results.
hasdata_google_serp_ai_overview_getAiOverviewResponse(pageToken: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pageToken"
],
"properties": {
"pageToken": {
"type": "string",
"description": "Token from `aiOverview` block in Google SERP API. Valid for 1 minute."
}
},
"additionalProperties": false
}
google_serp_events: GET /
hasdata_google_serp_events_getEventInformation
google_serp_events: GET /
hasdata_google_serp_events_getEventInformation Get Google Event Details Looks up a single Google event by the `pageToken` returned in a `google/serp` response's `eventsResults` array (or the ready-to-call `hasdataLink` next to it). Returns the venue name/rating/reviews/website/phone, a map link, a description, ticket sources (with official/unofficial flags), and the primary ticket link — details the SERP events widget does not show inline. The `pageToken` expires a few minutes after it is minted, so fetch it and call this endpoint promptly. Use to enrich an events search result with full venue and ticketing information.
hasdata_google_serp_events_getEventInformation(pageToken: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pageToken"
],
"properties": {
"pageToken": {
"type": "string",
"description": "Token identifying a single event, taken from the `pageToken` field of an `eventsResults` entry in a `google/serp` response. Expires a few minutes after it is minted."
}
},
"additionalProperties": false
}
google_serp_immersive_product: GET /
hasdata_google_serp_immersive_product_getImmersive_e29f691177
google_serp_immersive_product: GET /
hasdata_google_serp_immersive_product_getImmersive_e29f691177 Get Immersive Product Information Expands the Google Shopping Immersive Product pop-up given an immersiveProductPageToken from the Google Shopping API, with optional moreStores (up to ~13 merchants instead of 3–5) and nextPageToken for paginating stores. Returns multi-store offers (merchant, price, shipping, URL), product specs, images, ratings, and the storesNextPageToken. Use for price-comparison bots, merchant discovery, dropshipping research, and aggregating full offer lists per product.
hasdata_google_serp_immersive_product_getImmersive_e29f691177(pageToken: string, moreStores?: boolean, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"pageToken"
],
"properties": {
"pageToken": {
"type": "string",
"description": "Token for displaying more product info in the Google immersive pop-up, available in the Google Shopping API response as the `immersiveProductPageToken` property."
},
"moreStores": {
"type": "boolean",
"description": "Fetch additional store results in a single search. By default it returns 3–5 stores, and when true it returns up to 13 or the maximum available for the product."
},
"nextPageToken": {
"type": "string",
"description": "Token used to retrieve the next page of store results."
}
},
"additionalProperties": false
}
google_serp_news: GET /
hasdata_google_serp_news_getGoogleNews
google_serp_news: GET /
hasdata_google_serp_news_getGoogleNews Get Google News Results Retrieves Google News results by free-text query, topicToken (World, Business, Technology, etc.), sectionToken, publicationToken (e.g. CNN, BBC), or storyToken (full-coverage cluster with sort by relevance/date). Returns article title, snippet, source publisher, published date, thumbnail, and URL, plus tokens for navigating topics, sub-sections, and story clusters. Use for news monitoring, brand/PR tracking, topical aggregators, publisher-specific feeds, and drilling into full story coverage.
hasdata_google_serp_news_getGoogleNews(q?: string, gl?: string, hl?: string, so?: string, storyToken?: string, topicToken?: string, sectionToken?: string, publicationToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"description": "Free-text query as used on news.google.com. Not allowed with `topicToken`, `storyToken`, or `publicationToken`."
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"so": {
"enum": [
"0",
"1"
],
"type": "string",
"description": "Sort order for articles in a story. Use only with storyToken."
},
"storyToken": {
"type": "string",
"description": "Token for a single news story cluster (the “Full coverage” page)."
},
"topicToken": {
"type": "string",
"description": "Token for a Google News topic such as World, Business, or Technology. Not allowed with `q`, `storyToken`, or `publicationToken`."
},
"sectionToken": {
"type": "string",
"description": "Token for a sub-section under a topic, for example Business → Economy. Use only when `topicToken` or `publicationToken` is present."
},
"publicationToken": {
"type": "string",
"description": "Token for a specific publisher such as CNN or BBC. Not allowed with `q`, `storyToken`, or `topicToken`."
}
},
"additionalProperties": false
}
google_serp_product: GET /
hasdata_google_serp_product_getProductInformation
google_serp_product: GET /
hasdata_google_serp_product_getProductInformation Get Product Information Pulls detailed product data from Google Shopping by productId with searchType (offers, specs, reviews) and rich filters (free shipping, used-condition, sort by price/total price/deals/seller rating, reviews count). Returns product title, images, price, ratings, specs, merchant offers (seller, shipping, condition, total price), and review text depending on searchType. Use for price intelligence, catalog enrichment, review mining, competitor spec comparison, and building shopping assistants that surface the cheapest or highest-rated offer.
hasdata_google_serp_product_getProductInformation(gl?: string, hl?: string, uule?: string, start?: number, domain?: string, filter?: string, location?: string, productId: string, searchType?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"productId"
],
"properties": {
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"uule": {
"type": "string",
"description": "The encoded location parameter."
},
"start": {
"type": "number",
"description": "This parameter specifies the number of search results to skip and is used for pagination. For example, a value of 0 (default) indicates the first page of results, 10 refers to the second page, and 20 to the third page.\n\nThis parameter is applicable only when `searchType=offers` is specified. For reviews pagination use `filter` parameter.\n"
},
"domain": {
"type": "string",
"description": "Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`."
},
"filter": {
"type": "string",
"description": "Filter parameter for refining search results. Supports various filters for offers and reviews. Multiple filters can be passed using a comma. The available filters are:\n\nOffers filters:\n- `freeship:1`: Show only products with free shipping.\n- `ucond:1`: Show only used products.\n- `scoring:p`: Sort by base price.\n- `scoring:tp`: Sort by total price.\n- `scoring:cpd`: Sort by current promotion deals (special offers).\n- `scoring:mrd`: Sort by seller's rating.\n\nReviews filters:\n- `rnum:{number}`: Number of results (100 is max).\n"
},
"location": {
"type": "string",
"description": "Google canonical location for the search."
},
"productId": {
"type": "string",
"description": "The product ID to get results for."
},
"searchType": {
"enum": [
"offers",
"specs",
"reviews"
],
"type": "string",
"description": "Parameter for fetching specific product information, such as 'offers', 'specs', or 'reviews'."
}
},
"additionalProperties": false
}
google_serp_serp: GET /
hasdata_google_serp_serp_getSearchResults
google_serp_serp: GET /
hasdata_google_serp_serp_getSearchResults Get Google Search Results Full-featured Google Search scraper with location/uule, country (gl), language (hl, lr), domain, device type, safesearch, time/date filters via tbs (qdr, cdr), and tbm vertical selection (images, videos, news, shopping, local), plus offset/num pagination (num capped at 10 without tbm). Returns organic results (title, link, snippet, position), ads, knowledge graph, related searches, People Also Ask, local pack, featured snippets, AI Overview pageToken, and rich SERP features. Use for SEO rank tracking, keyword research, SERP-feature monitoring, competitor analysis, grounding LLMs with fresh location-aware search data, and especially for person/company data enrichment — e.g. finding a person's LinkedIn/Instagram/Twitter profile (`Roman Milyushkevich LinkedIn`, `HasData Instagram`), a company's CEO/founder/leadership (`HasData CEO`, `HasData founder`), contact emails (`Roman Milyushkevich HasData email`), phone numbers, GitHub profiles, press mentions, or any public attribute of a person or business by running a targeted query and parsing the top organic results.
hasdata_google_serp_serp_getSearchResults(q: string, gl?: string, hl?: string, lr?: array, si?: string, num?: number, tbm?: string, tbs?: string, lsig?: string, nfpr?: number, safe?: string, uule?: string, kgmid?: string, start?: number, domain?: string, filter?: number, ludocid?: string, location?: string, deviceType?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Specify the search term for which you want to scrape the SERP."
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"lr": {
"type": "array",
"items": {
"enum": [
"lang_ar",
"lang_hy",
"lang_bg",
"lang_ca",
"lang_cs",
"lang_da",
"lang_de",
"lang_el",
"lang_en",
"lang_es",
"lang_et",
"lang_tl",
"lang_fi",
"lang_fr",
"lang_hr",
"lang_hi",
"lang_hu",
"lang_id",
"lang_is",
"lang_it",
"lang_iw",
"lang_he",
"lang_ja",
"lang_ko",
"lang_lt",
"lang_lv",
"lang_nl",
"lang_no",
"lang_fa",
"lang_pl",
"lang_pt",
"lang_ro",
"lang_ru",
"lang_sk",
"lang_sl",
"lang_sr",
"lang_sv",
"lang_th",
"lang_tr",
"lang_uk",
"lang_vi",
"lang_zh-CN",
"lang_zh-TW"
],
"type": "string"
},
"description": "The 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content."
},
"si": {
"type": "string",
"description": "Google Cached Search Parameters ID."
},
"num": {
"type": "number",
"description": "Number of results per page, ranging from 10 to 100."
},
"tbm": {
"enum": [
"isch",
"vid",
"nws",
"shop",
"lcl"
],
"type": "string",
"description": "Specify the type of search."
},
"tbs": {
"type": "string",
"description": "This parameter supports various filters that can be combined by separating them with a comma. Here are examples of these filters:\n\n - Specific Time Range: `cdr:1,cd_min:10/17/2018,cd_max:3/8/2021` - Filter results to show only those within the defined date range.\n - Sort by Date: `sbd:1` - Results are sorted by date, from the most recent to the oldest.\n - Sort by Relevance: `sbd:0` - Results are sorted by relevance to the search query.\n - Sites with Images: `img:1` - Only show results from webpages that contain images.\n\nQuick Date Range (qdr):\n - `qdr:h` - Show results from the past hour.\n - `qdr:d` - Limit results to the past day.\n - `qdr:w` - Filter results from the week.\n - `qdr:m` - Display results from the past month.\n - `qdr:y` - Show results from the past year.\n - `qdr:h10`, `qdr:d10`, `qdr:w10`, `qdr:m10`, `qdr:y10` - Specify a number to show results from the last 10 hours, days, weeks, months, or years respectively.\n\nThese filters enhance the control over search results, allowing for precise retrieval of information based on specific criteria.\n"
},
"lsig": {
"type": "string",
"description": "Additional Google Place ID."
},
"nfpr": {
"type": "number",
"description": "Controls if auto-corrected results are shown. 0 includes them (default), 1 shows only the original query. Google may still return auto-corrected results if no others are available.\n"
},
"safe": {
"enum": [
"active",
"off"
],
"type": "string",
"description": "Adult Content Filtering option."
},
"uule": {
"type": "string",
"description": "The encoded location parameter."
},
"kgmid": {
"type": "string",
"description": "Google Knowledge Graph ID."
},
"start": {
"type": "number",
"description": "This parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 0 (default) indicates the first page of results, 10 refers to the second page, and 20 to the third page.\n\nFor Google Local Results, the start value must be in multiples of 20, such as 20 for the second page, 40 for the third page, etc.\n"
},
"domain": {
"type": "string",
"description": "Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`."
},
"filter": {
"type": "number",
"description": "Defines whether to enable or disable the filters for 'Similar Results' and 'Omitted Results'. Set to 1 (default) to enable these filters, or 0 to disable them.\n"
},
"ludocid": {
"type": "string",
"description": "The Google Place ID for a specific location."
},
"location": {
"type": "string",
"description": "Google canonical location for the search."
},
"deviceType": {
"enum": [
"desktop",
"mobile",
"tablet"
],
"type": "string",
"description": "Specify the device type for the search."
}
},
"additionalProperties": false
}
google_serp_serp_light: GET /
hasdata_google_serp_serp_light_getSearchResults
google_serp_serp_light: GET /
hasdata_google_serp_serp_light_getSearchResults Get Google Light Search Results Google Search scraper served from the lightweight no-JS layout, cheaper and faster than the full SERP API. Returns organic results (title, link, displayed link, snippet, sitelinks, extensions, date, rating and review count), AI Overview with its text blocks and source references, answer box (featured snippet, calculator, unit and currency conversion, local time), knowledge graph, related questions, related searches, inline images, local pack, search filters, pagination, spelling correction and the location Google actually applied. Shopping, top stories, news, videos and jobs blocks are not served in this layout. Supports location/uule, country (gl), language (hl/lr), domain, safesearch, and time/date filters via tbs (qdr, cdr) with offset/num pagination (num capped at 10). Use for high-volume keyword monitoring, bulk rank tracking, backlink discovery, and AI Overview presence tracking.
hasdata_google_serp_serp_light_getSearchResults(q: string, gl?: string, hl?: string, lr?: array, num?: number, tbs?: string, safe?: string, uule?: string, start?: number, domain?: string, filter?: number, location?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Specify the search term for which you want to scrape the SERP."
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"lr": {
"type": "array",
"items": {
"enum": [
"lang_ar",
"lang_hy",
"lang_bg",
"lang_ca",
"lang_cs",
"lang_da",
"lang_de",
"lang_el",
"lang_en",
"lang_es",
"lang_et",
"lang_tl",
"lang_fi",
"lang_fr",
"lang_hr",
"lang_hi",
"lang_hu",
"lang_id",
"lang_is",
"lang_it",
"lang_iw",
"lang_he",
"lang_ja",
"lang_ko",
"lang_lt",
"lang_lv",
"lang_nl",
"lang_no",
"lang_fa",
"lang_pl",
"lang_pt",
"lang_ro",
"lang_ru",
"lang_sk",
"lang_sl",
"lang_sr",
"lang_sv",
"lang_th",
"lang_tr",
"lang_uk",
"lang_vi",
"lang_zh-CN",
"lang_zh-TW"
],
"type": "string"
},
"description": "The 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content."
},
"num": {
"type": "number",
"description": "Number of results per page, ranging from 10 to 100."
},
"tbs": {
"type": "string",
"description": "This parameter supports various filters that can be combined by separating them with a comma. Here are examples of these filters:\n\n - Specific Time Range: `cdr:1,cd_min:10/17/2018,cd_max:3/8/2021` - Filter results to show only those within the defined date range.\n - Sort by Date: `sbd:1` - Results are sorted by date, from the most recent to the oldest.\n - Sort by Relevance: `sbd:0` - Results are sorted by relevance to the search query.\n - Sites with Images: `img:1` - Only show results from webpages that contain images.\n\nQuick Date Range (qdr):\n - `qdr:h` - Show results from the past hour.\n - `qdr:d` - Limit results to the past day.\n - `qdr:w` - Filter results from the week.\n - `qdr:m` - Display results from the past month.\n - `qdr:y` - Show results from the past year.\n - `qdr:h10`, `qdr:d10`, `qdr:w10`, `qdr:m10`, `qdr:y10` - Specify a number to show results from the last 10 hours, days, weeks, months, or years respectively.\n\nThese filters enhance the control over search results, allowing for precise retrieval of information based on specific criteria.\n"
},
"safe": {
"enum": [
"active",
"off"
],
"type": "string",
"description": "Adult Content Filtering option."
},
"uule": {
"type": "string",
"description": "The encoded location parameter."
},
"start": {
"type": "number",
"description": "This parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 0 (default) indicates the first page of results, 10 refers to the second page, and 20 to the third page.\n\nFor Google Local Results, the start value must be in multiples of 20, such as 20 for the second page, 40 for the third page, etc.\n"
},
"domain": {
"type": "string",
"description": "Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`."
},
"filter": {
"type": "number",
"description": "Defines whether to enable or disable the filters for 'Similar Results' and 'Omitted Results'. Set to 1 (default) to enable these filters, or 0 to disable them.\n"
},
"location": {
"type": "string",
"description": "Google canonical location for the search."
}
},
"additionalProperties": false
}
google_serp_shopping: GET /
hasdata_google_serp_shopping_getSearchResults
google_serp_shopping: GET /
hasdata_google_serp_shopping_getSearchResults Get Shopping Search Results Scrapes Google Shopping listings for a query with location/uule, country/language/domain, time/date filters, device type, shoprs filter-helper IDs, and offset pagination. Returns product title, price, merchant/source, rating, reviews count, thumbnail, product link, productId, immersiveProductPageToken, and filter chips with hasdata_link for refining by brand/price/condition/promotions. Use for e-commerce price tracking, catalog building, promotion discovery, and feeding productIds into the Product API or tokens into the Immersive Product API for deeper data.
hasdata_google_serp_shopping_getSearchResults(q: string, gl?: string, hl?: string, tbs?: string, uule?: string, start?: number, domain?: string, shoprs?: string, location?: string, deviceType?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Specify the search term for which you want to scrape the SERP."
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"tbs": {
"type": "string",
"description": "This parameter supports various filters that can be combined by separating them with a comma. Here are examples of these filters:\n\n - Specific Time Range: `cdr:1,cd_min:10/17/2018,cd_max:3/8/2021` - Filter results to show only those within the defined date range.\n - Sort by Date: `sbd:1` - Results are sorted by date, from the most recent to the oldest.\n - Sort by Relevance: `sbd:0` - Results are sorted by relevance to the search query.\n - Sites with Images: `img:1` - Only show results from webpages that contain images.\n\nQuick Date Range (qdr):\n - `qdr:h` - Show results from the past hour.\n - `qdr:d` - Limit results to the past day.\n - `qdr:w` - Filter results from the week.\n - `qdr:m` - Display results from the past month.\n - `qdr:y` - Show results from the past year.\n - `qdr:h10`, `qdr:d10`, `qdr:w10`, `qdr:m10`, `qdr:y10` - Specify a number to show results from the last 10 hours, days, weeks, months, or years respectively.\n\nThese filters enhance the control over search results, allowing for precise retrieval of information based on specific criteria.\n"
},
"uule": {
"type": "string",
"description": "The encoded location parameter."
},
"start": {
"type": "number",
"description": "This parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 0 (default) indicates the first page of results, 40 refers to the second page, and 80 to the third page.\n"
},
"domain": {
"type": "string",
"description": "Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`."
},
"shoprs": {
"type": "string",
"description": "Specifies the helper ID for applying search filters. Must be used with the updated `q` parameter, which includes the selected filter (e.g., Coffee sale).\n\nTo apply filters, use the `hasdata_link` from `filters[index].options[index]` in the JSON. Apply multiple filters by following each `hasdata_link` one by one.\n\nTo remove a filter, follow its specific `hasdata_link`.\n"
},
"location": {
"type": "string",
"description": "Google canonical location for the search."
},
"deviceType": {
"enum": [
"desktop",
"mobile",
"tablet"
],
"type": "string",
"description": "Specify the device type for the search."
}
},
"additionalProperties": false
}
google_serp_short_videos: GET /
hasdata_google_serp_short_videos_getShortVideosSearchResults
google_serp_short_videos: GET /
hasdata_google_serp_short_videos_getShortVideosSearchResults Get Short Videos Search Results Scrapes the Google Short Videos carousel (TikTok, YouTube Shorts, Instagram Reels, etc.) for a query with location/uule, country (gl/cr), language (hl/lr), device type, and page-based pagination. Supports Google's advanced filters (tbs). Returns video title, thumbnail, duration, source platform, channel/creator, direct video URL, the platform's video ID and profile handle, and ready-to-call HasData API links (hasdataLinks) for the video's comments, transcript, profile, posts or channel. Use for short-form content discovery, viral-trend monitoring, influencer research, cross-platform video aggregation, and sourcing short clips to summarize or embed in LLM responses.
hasdata_google_serp_short_videos_getShortVideosSearchResults(q: string, cr?: string, gl?: string, hl?: string, lr?: array, tbs?: string, page?: number, uule?: string, location?: string, deviceType?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Search query term for retrieving short videos results."
},
"cr": {
"type": "string",
"description": "The country code for the country you want to limit the search to. Provide one exact documented value (237 allowed), e.g. `countryAF`, `countryAL`."
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"lr": {
"type": "array",
"items": {
"enum": [
"lang_ar",
"lang_hy",
"lang_bg",
"lang_ca",
"lang_cs",
"lang_da",
"lang_de",
"lang_el",
"lang_en",
"lang_es",
"lang_et",
"lang_tl",
"lang_fi",
"lang_fr",
"lang_hr",
"lang_hi",
"lang_hu",
"lang_id",
"lang_is",
"lang_it",
"lang_iw",
"lang_he",
"lang_ja",
"lang_ko",
"lang_lt",
"lang_lv",
"lang_nl",
"lang_no",
"lang_fa",
"lang_pl",
"lang_pt",
"lang_ro",
"lang_ru",
"lang_sk",
"lang_sl",
"lang_sr",
"lang_sv",
"lang_th",
"lang_tr",
"lang_uk",
"lang_vi",
"lang_zh-CN",
"lang_zh-TW"
],
"type": "string"
},
"description": "The 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content."
},
"tbs": {
"type": "string",
"description": "Google advanced search filters, combined with commas. For example:\n\n - `qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y` - Show videos from the past hour, day, week, month, or year.\n"
},
"page": {
"type": "number",
"description": "Page number for paginated results, where 0 is the first page."
},
"uule": {
"type": "string",
"description": "The encoded location parameter."
},
"location": {
"type": "string",
"description": "Google canonical location for the search."
},
"deviceType": {
"enum": [
"desktop",
"mobile",
"tablet"
],
"type": "string",
"description": "Specify the device type for the search."
}
},
"additionalProperties": false
}
google_travel_flights_deals: GET /
hasdata_google_travel_flights_deals_getGoogleFlightsDeals
google_travel_flights_deals: GET /
hasdata_google_travel_flights_deals_getGoogleFlightsDeals Get Google Flights Deals Results Turns a plain-language trip description ("I would like to see cherry blossom in Japan", "beach escape", "fireworks festival in Hong Kong") into flight deals from one origin airport, with Google's AI choosing the destinations and travel dates. Each deal carries outbound and return dates, price, flight duration, trip length in days, number of stops, operating airline, departure and arrival airports, and a direct Google Flights booking link; typical price with the discount against it, and a destination description with a photo, come back only for searches Google shaped itself. Also returns the date range Google derived from the query. Filters cover trip type, cabin class, stops, dates, trip length, price and duration ceilings, airlines and party size. Use for inspiration-driven travel search, seasonal and event-based fare discovery, deal alerting, and travel-content generation.
hasdata_google_travel_flights_deals_getGoogleFlightsDeals(q: string, gl?: string, hl?: string, type?: string, stops?: string, adults?: number, children?: number, currency?: string, maxPrice?: number, arrivalId?: string, returnDate?: string, tripLength?: string, departureId: string, maxDuration?: number, travelClass?: string, infantsOnLap?: number, outboundDate?: string, infantsInSeat?: number, travelDuration?: string, excludeAirlines?: string, includeAirlines?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q",
"departureId"
],
"properties": {
"q": {
"type": "string",
"description": "Free-text trip description, from a bare place name to a full sentence:\n\n - **Destination**: `Tokyo`\n - **Type of trip**: `beach escape`, `weekend getaway in Europe`\n - **Season or event**: `I would like to see cherry blossom in Japan`\n\nWhen the query implies a time of year, Google dates it itself and reports the range in `searchInformation.dateRange`.\n"
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"type": {
"enum": [
"1",
"roundTrip",
"2",
"oneWay"
],
"type": "string",
"description": "Flight type. Requires `arrivalId`.\n\n - `1` / `roundTrip` — round trip (default)\n - `2` / `oneWay` — one way\n\nA one-way deal carries no `returnDate` and no `tripLengthDays`.\n"
},
"stops": {
"enum": [
"1",
"nonStop",
"2",
"oneStopOrFewer",
"3",
"twoStopsOrFewer"
],
"type": "string",
"description": "Maximum number of stops. Requires `arrivalId`. Omitted, any number is allowed.\n\n - `1` / `nonStop` — direct flights only\n - `2` / `oneStopOrFewer` — at most one connection\n - `3` / `twoStopsOrFewer` — at most two connections\n\nA route with nothing at that depth returns an empty `flightDeals` array, not an error — `nonStop` on a route without a direct flight is a valid, empty answer.\n"
},
"adults": {
"type": "number",
"description": "Number of adults. Prices cover the whole party, so raising this raises every deal price.\n\nPassenger counts reprice rather than narrow the search, so they need no `arrivalId`. The whole party must not exceed 9.\n"
},
"children": {
"type": "number",
"description": "Number of children, priced at their own fare. Counts towards the limit of 9 passengers.\n"
},
"currency": {
"type": "string",
"description": "Parameter defines the currency of the returned prices Provide one exact documented value (71 allowed), e.g. `ALL`, `DZD`."
},
"maxPrice": {
"type": "number",
"description": "Maximum ticket price, inclusive. Requires `arrivalId`. Omitted, it is unbounded.\n\nRead in the currency of the request: `650` means 650 EUR when `currency` is `EUR`, and 650 USD by default.\n"
},
"arrivalId": {
"type": "string",
"description": "Pins the search to one destination instead of letting Google pick from the query.\n\n - **IATA code**: 3 uppercase letters, e.g. `NRT` for Tokyo Narita.\n - **Location kgmid**: starts with `/m/`, found in Wikidata under \"Freebase ID\", e.g. `/m/07dfk` for Tokyo.\n\nRequired by every filter: `type`, `travelClass`, `stops`, `outboundDate`, `returnDate`, `travelDuration`, `tripLength`, `maxPrice`, `maxDuration`, `includeAirlines` and `excludeAirlines`. Without it Google drops them silently.\n"
},
"returnDate": {
"type": "string",
"description": "When to return, in the same exact-or-window spelling as `outboundDate`, which is required alongside it.\n\nCannot be combined with `travelDuration` or `tripLength` — all three set the trip length. Ignored when `type` is `oneWay`.\n"
},
"tripLength": {
"type": "string",
"description": "Trip length in days. Requires `arrivalId`. Cannot be combined with `returnDate` or `travelDuration`.\n\n - **Exact**: `7`\n - **Range**: `5,10` — min first\n\nPairs with `outboundDate` to limit the departure period. Ignored when `type` is `oneWay`.\n"
},
"departureId": {
"type": "string",
"description": "Departure airport as a 3-letter uppercase IATA code, e.g. `LAX` or `LHR`. Search on [IATA](https://www.iata.org/en/publications/directories/code-search).\n\nOne airport per search; city names are not accepted.\n"
},
"maxDuration": {
"type": "number",
"description": "Maximum flight duration in minutes — `1500` for 25 hours. Requires `arrivalId`. Omitted, it is unbounded. Applies to each leg, not to the round trip.\n\nGoogle measures against a longer figure than the `durationMinutes` it returns, so set the ceiling above the flight you want: on a route whose shortest deal is 635 minutes, `635` comes back empty and `680` returns it. On an empty result, raise `maxDuration` by up to 200 before concluding the route has nothing.\n"
},
"travelClass": {
"enum": [
"1",
"economy",
"2",
"premiumEconomy",
"3",
"business",
"4",
"first"
],
"type": "string",
"description": "Travel class. Requires `arrivalId`.\n\n - `1` / `economy` — economy (default)\n - `2` / `premiumEconomy` — premium economy\n - `3` / `business` — business\n - `4` / `first` — first\n\nFares climb steeply: on LAX-NRT the same search ran $730 in economy against $2882 in business.\n"
},
"infantsOnLap": {
"type": "number",
"description": "Number of infants on an adult's lap. Counts towards the limit of 9 passengers.\n\nGoogle prices a lap infant above one in its own seat — the opposite of how airlines usually charge.\n"
},
"outboundDate": {
"type": "string",
"description": "When to depart. Requires `arrivalId`.\n\n - **Exact date**: `2026-12-10`\n - **Window**: `2026-12-01,2026-12-10` — any day within it\n\nOmitted, Google picks the dates from the query, or from whatever is cheapest.\n"
},
"infantsInSeat": {
"type": "number",
"description": "Number of infants in their own seat. Counts towards the limit of 9 passengers.\n"
},
"travelDuration": {
"enum": [
"1",
"week",
"2",
"weekend",
"3",
"twoWeeks"
],
"type": "string",
"description": "Preset trip length. Requires `arrivalId`. Cannot be combined with `returnDate` or `tripLength`.\n\n - `1` / `week` — about a week (6-8 days)\n - `2` / `weekend` — a weekend (2-3 days)\n - `3` / `twoWeeks` — about two weeks (13-15 days)\n\nPairs with `outboundDate` to limit the departure period. Ignored when `type` is `oneWay`.\n"
},
"excludeAirlines": {
"type": "string",
"description": "Drops these airlines from the deals. Requires `arrivalId`. Cannot be combined with `includeAirlines`.\n\nTakes the same values as `includeAirlines`.\n"
},
"includeAirlines": {
"type": "string",
"description": "Keeps only these airlines. Requires `arrivalId`. Cannot be combined with `excludeAirlines`.\n\nComma-separated 2-character IATA codes (`AF`, `UA`, `B6`) and Google's alliances `STAR_ALLIANCE`, `SKYTEAM`, `ONEWORLD`. The two can be mixed.\n\nAn airline that does not serve the route returns an empty `flightDeals` array, not an error.\n"
}
},
"additionalProperties": false
}
google_travel_flights: GET /
hasdata_google_travel_flights_getGoogleFlights
google_travel_flights: GET /
hasdata_google_travel_flights_getGoogleFlights Get Google Flights Results Searches Google Flights for one-way, round-trip, or multi-city itineraries with passenger mix (adults, children, infants in-seat/on-lap), travel class, bags, max price, sort order (price, duration, emissions, departure/arrival time), stops, include/exclude airlines and connections, time windows, layover duration, and deep-search mode. Returns per-itinerary price, total duration, stops, flight legs with airline, flight number, aircraft, departure/arrival airports and times, CO2 emissions, plus booking and departure tokens for round-trip returns or booking options. Use for travel-planning agents, fare monitoring, corporate travel dashboards, emission-aware trip optimization, and comparing routes and airlines across markets.
hasdata_google_travel_flights_getGoogleFlights(gl?: string, hl?: string, bags?: number, type?: string, stops?: string, adults?: number, sortBy?: string, children?: number, currency?: string, maxPrice?: number, arrivalId: string, deepSearch?: boolean, returnDate?: string, showHidden?: boolean, departureId: string, maxDuration?: number, returnTimes?: string, travelClass?: string, bookingToken?: string, infantsOnLap?: number, outboundDate: string, infantsInSeat?: number, lessEmissions?: boolean, multiCityJson?: string, outboundTimes?: string, departureToken?: string, excludeAirlines?: string, includeAirlines?: string, layoverDuration?: string, excludeConnections?: string, includeConnections?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"departureId",
"arrivalId",
"outboundDate"
],
"properties": {
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"bags": {
"type": "number",
"description": "Number of carry-on bags per passenger.\n"
},
"type": {
"enum": [
"roundTrip",
"oneWay",
"multiCity"
],
"type": "string",
"description": "Specifies the type of flight. Options:\n\n - `roundTrip` (default)\n - `oneWay`\n - `multiCity` (requires `multiCityJson` for flight details)\n\nFor round trips, retrieve return flight details with a separate request using `departureToken`.\n"
},
"stops": {
"enum": [
"nonStop",
"oneStopOrFewer",
"twoStopsOrFewer"
],
"type": "string",
"description": "Restrict the number of stops (layovers) in the flight itinerary.\n"
},
"adults": {
"type": "number",
"description": "Number of adult passengers (>= 1 if specified).\n"
},
"sortBy": {
"enum": [
"topFlights",
"price",
"departureTime",
"arrivalTime",
"duration",
"emissions"
],
"type": "string",
"description": "Sort the flight results based on price, departure time, arrival time, etc.\n"
},
"children": {
"type": "number",
"description": "Number of child passengers.\n"
},
"currency": {
"type": "string",
"description": "Parameter defines the currency of the returned prices Provide one exact documented value (71 allowed), e.g. `ALL`, `DZD`."
},
"maxPrice": {
"type": "number",
"description": "Maximum price limit for the flight search, in the selected currency.\n"
},
"arrivalId": {
"type": "string",
"description": "Specifies the arrival airport code (IATA) or location kgmid.\n\n - **IATA Code**: A 3-letter uppercase code (e.g., `SFO` for San Francisco, `LHR` for London Heathrow). Search on [IATA](https://www.iata.org/en/publications/directories/code-search).\n - **Location kgmid**: A string starting with `/m/`, found in Wikidata under \"Freebase ID\" (e.g., `/m/02_286` for New York, NY).\n\nMultiple values can be separated by commas (e.g., `JFK,LGA,/m/0hptm`).\n"
},
"deepSearch": {
"type": "boolean",
"description": "Enable deep search. Returns the same results as Google Flights in a browser, but takes longer to respond. Default is `false`.\n"
},
"returnDate": {
"type": "string",
"description": "The return travel date in 'yyyy-MM-dd' format. Required when **type** is `roundTrip`.\n"
},
"showHidden": {
"type": "boolean",
"description": "Indicates whether to include hidden options in the results.\n"
},
"departureId": {
"type": "string",
"description": "Specifies the departure airport code (IATA) or location kgmid.\n\n - **IATA Code**: A 3-letter uppercase code (e.g., SFO for San Francisco, LHR for London Heathrow). Search on [IATA](https://www.iata.org/en/publications/directories/code-search).\n - **Location kgmid**: A string starting with `/m/`, found in Wikidata under \"Freebase ID\" (e.g., `/m/02_286` for New York, NY).\n\nMultiple values can be separated by commas (e.g., `JFK,LGA,/m/0hptm`).\n"
},
"maxDuration": {
"type": "number",
"description": "The maximum total flight duration in minutes.\n"
},
"returnTimes": {
"type": "string",
"description": "Set up to 4 time boundaries (2 for departure, 2 for arrival) to filter return flights. Each number represents the start of an hour.\n\nExamples:\n - `6,20` → 6:00 AM - 9:00 PM departure\n - `1,15` → 1:00 AM - 4:00 PM departure\n - `7,18,2,21` → 7:00 AM - 9:00 PM departure, 2:00 AM - 10:00 PM arrival\n"
},
"travelClass": {
"enum": [
"economy",
"premiumEconomy",
"business",
"first"
],
"type": "string",
"description": "The travel class for the flight (Economy, Premium Economy, Business, or First).\n"
},
"bookingToken": {
"type": "string",
"description": "Used to request booking options for selected flights. This token is found in the flight results and cannot be used with `departureToken`.\n"
},
"infantsOnLap": {
"type": "number",
"description": "Number of infants sitting on an adult's lap.\n"
},
"outboundDate": {
"type": "string",
"description": "The outbound travel date in 'yyyy-MM-dd' format.\n"
},
"infantsInSeat": {
"type": "number",
"description": "Number of infants occupying seats.\n"
},
"lessEmissions": {
"type": "boolean",
"description": "Prefer flight options with lower carbon emissions.\n"
},
"multiCityJson": {
"type": "string",
"description": "This parameter specifies flight details for multi-city trips. It is a JSON string containing multiple flight objects. Each object must include the following fields:\n\n- **departureId** – The departure airport code or location KGMID. Uses the same format as the main `departureId` parameter.\n- **arrivalId** – The arrival airport code or location KGMID. Uses the same format as the main `arrivalId` parameter.\n- **date** – The flight date. Uses the same format as the `outboundDate` parameter.\n- **times** *(optional)* – The time range for the flight. Uses the same format as the `outboundTimes` parameter.\n"
},
"outboundTimes": {
"type": "string",
"description": "Set up to 4 time boundaries (2 for departure, 2 for arrival) to filter flights. Each number represents the start of an hour.\n\nExamples:\n - `6,20` → 6:00 AM - 9:00 PM departure\n - `1,15` → 1:00 AM - 4:00 PM departure\n - `7,18,2,21` → 7:00 AM - 9:00 PM departure, 2:00 AM - 10:00 PM arrival\n"
},
"departureToken": {
"type": "string",
"description": "Used to select a flight and retrieve return flights for a round trip or the next leg of the itinerary for a multi-city trip.\n"
},
"excludeAirlines": {
"type": "string",
"description": "A comma separated list of airline codes to exclude from results. You can search for airline codes on [IATA](https://www.iata.org/en/publications/directories/code-search). For example, `UA` is United Airlines.\n"
},
"includeAirlines": {
"type": "string",
"description": "A comma separated list of airline codes to exclusively include in results. You can search for airline codes on [IATA](https://www.iata.org/en/publications/directories/code-search). For example, `UA` is United Airlines.\n\n`excludeAirlines` and `includeAirlines` parameters can't be used together.\n"
},
"layoverDuration": {
"type": "string",
"description": "Set the maximum layover duration in minutes to filter flights. For example, `120, 360` filters layovers between 2 hours and 6 hours, while `45, 180` allows layovers from 45 minutes to 3 hours.\n"
},
"excludeConnections": {
"type": "string",
"description": "A comma separated list of specific airports to exclude as connections.\n"
},
"includeConnections": {
"type": "string",
"description": "A comma separated list of specific airports to allow as connections.\n"
}
},
"additionalProperties": false
}
google_travel_hotels: GET /
hasdata_google_travel_hotels_getGoogleHotels
google_travel_hotels: GET /
hasdata_google_travel_hotels_getGoogleHotels Get Google Hotels Results Searches Google Hotels for hotels and vacation rentals with check-in/check-out dates, guest mix (adults, children with ages), localization (country, language, currency), and advanced filters: price range, property types, amenities, minimum rating, brands, hotel class, free cancellation, special offers, eco-certified, vacation rentals only, bedrooms, bathrooms, and sort order (lowest price, highest rating, most reviewed). Returns per-property name, description, link, GPS coordinates, check-in/out times, rate per night and total rate, price comparisons across sources, hotel class, overall rating, reviews, location rating, images, amenities, nearby places, deals, eco-certification, and pagination tokens. Use for travel research agents, hotel rate monitoring, OTA dashboards, and competitive analysis of accommodations across markets.
hasdata_google_travel_hotels_getGoogleHotels(q: string, gl?: string, hl?: string, adults?: number, brands?: string, rating?: string, sortBy?: string, bedrooms?: number, children?: number, currency?: string, maxPrice?: number, minPrice?: number, amenity__?: array, bathrooms?: number, hotelClass?: string, checkInDate: string, checkOutDate: string, childrenAges?: string, ecoCertified?: boolean, nextPageToken?: string, propertyToken?: string, specialOffers?: boolean, propertyType__?: array, vacationRentals?: boolean, freeCancellation?: boolean)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q",
"checkInDate",
"checkOutDate"
],
"properties": {
"q": {
"type": "string",
"description": "The search query for Google Hotels (e.g., a city, neighborhood, or hotel name).\n"
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"adults": {
"type": "number",
"description": "Number of adult guests (1-6).\n"
},
"brands": {
"type": "string",
"description": "Comma-separated list of brand IDs to filter by. Brand IDs are returned in the response under `brands` for the same query.\n"
},
"rating": {
"enum": [
"threePointFivePlus",
"fourPlus",
"fourPointFivePlus"
],
"type": "string",
"description": "Filter by minimum overall guest rating. Options:\n\n - `threePointFivePlus` — 3.5 stars or higher\n - `fourPlus` — 4.0 stars or higher\n - `fourPointFivePlus` — 4.5 stars or higher\n"
},
"sortBy": {
"enum": [
"lowestPrice",
"highestRating",
"mostReviewed"
],
"type": "string",
"description": "Sort hotel results. Options:\n\n - `lowestPrice` — lowest price\n - `highestRating` — highest rating\n - `mostReviewed` — most reviewed\n"
},
"bedrooms": {
"type": "number",
"description": "Minimum number of bedrooms (vacation rentals only).\n"
},
"children": {
"type": "number",
"description": "Number of child guests (1-5). Total guests (adults + children) cannot exceed 6.\n"
},
"currency": {
"type": "string",
"description": "Parameter defines the currency of the returned prices Provide one exact documented value (71 allowed), e.g. `ALL`, `DZD`."
},
"maxPrice": {
"type": "number",
"description": "Maximum price per night, in the selected currency.\n"
},
"minPrice": {
"type": "number",
"description": "Minimum price per night, in the selected currency.\n"
},
"amenity__": {
"type": "array",
"items": {
"enum": [
"hotelFreeParking",
"hotelParking",
"hotelIndoorPool",
"hotelOutdoorPool",
"hotelPool",
"hotelFitnessCenter",
"hotelRestaurant",
"hotelFreeBreakfast",
"hotelSpa",
"hotelBeachAccess",
"hotelChildFriendly",
"hotelBar",
"hotelPetFriendly",
"hotelRoomService",
"hotelFreeWifi",
"hotelAirConditioned",
"hotelAllInclusive",
"hotelWheelchairAccessible",
"hotelEvCharger",
"rentalHotTub",
"rentalAirConditioned",
"rentalOutdoorGrill",
"rentalFireplace",
"rentalPatioOrDeck",
"rentalKitchen",
"rentalFitnessCenter",
"rentalCrib",
"rentalBeachAccess",
"rentalKidFriendly",
"rentalPetFriendly",
"rentalFreeWifi",
"rentalPool"
],
"type": "string"
},
"description": "List of amenities to filter by (e.g., `hotelFreeWifi,hotelPool`).\n\nValues prefixed `hotel*` apply when searching hotels (the default mode). Values prefixed `rental*` apply when `vacationRentals=true`.\n\nThe two sets are disjoint because Google Hotels exposes different amenity catalogs for each mode — pass values matching the mode you're querying.\n"
},
"bathrooms": {
"type": "number",
"description": "Minimum number of bathrooms (vacation rentals only).\n"
},
"hotelClass": {
"type": "string",
"description": "Comma-separated list of hotel star classes to include (e.g., `2,3,4,5`).\n"
},
"checkInDate": {
"type": "string",
"description": "The check-in date in 'yyyy-MM-dd' format.\n"
},
"checkOutDate": {
"type": "string",
"description": "The check-out date in 'yyyy-MM-dd' format.\n"
},
"childrenAges": {
"type": "string",
"description": "Comma-separated list of children ages (e.g., `5,8,12`). Must match the number of children.\n"
},
"ecoCertified": {
"type": "boolean",
"description": "Show only eco-certified properties.\n"
},
"nextPageToken": {
"type": "string",
"description": "Token to fetch the next page of hotel results. Returned in the `pagination` field of a previous response.\n"
},
"propertyToken": {
"type": "string",
"description": "Token used to retrieve details for a specific property. Returned in each property in the results.\n"
},
"specialOffers": {
"type": "boolean",
"description": "Show only properties with special offers.\n"
},
"propertyType__": {
"type": "array",
"items": {
"enum": [
"hotelBeach",
"hotelBoutique",
"hotelHostel",
"hotelInn",
"hotelMotel",
"hotelResort",
"hotelSpa",
"hotelBedAndBreakfast",
"hotelOther",
"hotelAparthotel",
"hotelMinshuku",
"hotelJapaneseBusiness",
"hotelRyokan",
"rentalApartment",
"rentalBungalow",
"rentalCabin",
"rentalChalet",
"rentalCottage",
"rentalGite",
"rentalHolidayVillage",
"rentalHouse",
"rentalHouseboat",
"rentalVilla",
"rentalOther",
"rentalAparthotel"
],
"type": "string"
},
"description": "List of property types to filter by (e.g., `hotelResort,hotelMotel`).\n\nValues prefixed `hotel*` apply when searching hotels (the default mode). Values prefixed `rental*` apply when `vacationRentals=true`.\n\nThe two sets are disjoint because Google Hotels exposes different property-type catalogs for each mode — pass values matching the mode you're querying.\n"
},
"vacationRentals": {
"type": "boolean",
"description": "Search vacation rentals instead of hotels.\n"
},
"freeCancellation": {
"type": "boolean",
"description": "Show only properties offering free cancellation.\n"
}
},
"additionalProperties": false
}
google_trends_search: GET /
hasdata_google_trends_search_getTrendsData
google_trends_search: GET /
hasdata_google_trends_search_getTrendsData Get Google Trends Data Pulls Google Trends data for one or more queries with geo targeting, region granularity (country/subregion/metro/city), date range, category, time zone, Google property (web, images, news, shopping, YouTube), and dataType (timeseries, geoMap, relatedTopics, relatedQueries). Returns interest-over-time series, geo-level breakdowns, and rising/top related topics/queries with relative scores. Use for keyword/content strategy, demand forecasting, seasonality analysis, topic discovery, campaign timing, and adding live-trend signals to marketing or research agents.
hasdata_google_trends_search_getTrendsData(q: string, tz?: number, cat?: string, geo?: string, date?: string, gprop?: string, region?: string, dataType?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Specify the search term for which you want to retrieve trends data."
},
"tz": {
"type": "number",
"description": "Defines a time zone offset in minutes. The default value is 420 (Pacific Daylight Time (PDT): UTC-7). The valid range for this parameter is from -1439 to 1439.\n\nTo calculate the `tz` value for a specific time zone, you can use the time difference between UTC +0 and the desired time zone.\n\nExamples:\n- `420`: Pacific Daylight Time (PDT)\n- `60`: Central European Time (CET)\n- `-540`: Japan Standard Time\n"
},
"cat": {
"type": "string",
"description": "Category of the search term. The default value is 0 (\"All categories\"). Provide one exact documented value (1133 allowed), e.g. `0`, `3`."
},
"geo": {
"type": "string",
"description": "Specifies the location for the search. Defaults to Worldwide if not set or empty. Provide one exact documented value (3517 allowed), e.g. `AF`, `AF-BDS`."
},
"date": {
"type": "string",
"description": "Defines a date range for the search. Available options:\n\n- `now 1-H`: Past hour\n- `now 4-H`: Past 4 hours\n- `now 1-d`: Past day\n- `now 7-d`: Past 7 days\n- `today 1-m`: Past 30 days\n- `today 3-m`: Past 90 days\n- `today 12-m`: Past 12 months\n- `today 5-y`: Past 5 years\n- `all`: 2004 - present\n\nYou can also specify a custom date range using one of the following formats:\n\n- `yyyy-mm-dd yyyy-mm-dd` - (e.g. 2021-10-15 2022-05-25) for dates from 2004 to present.\n- `yyyy-mm-ddThh yyyy-mm-ddThh` - (e.g. 2022-05-19T10 2022-05-24T22) for dates with hours within a week range. The hours will be calculated based on the tz (time zone) parameter.\n"
},
"gprop": {
"enum": [
"images",
"news",
"froogle",
"youtube"
],
"type": "string",
"description": "Sorts results by a specific property. The default property is Web Search (applied when the gprop parameter is not set or empty).\n\nAvailable options:\n - `images`: Image Search\n - `news`: News Search\n - `froogle`: Google Shopping\n - `youtube`: YouTube Search\n"
},
"region": {
"enum": [
"country",
"region",
"dma",
"city"
],
"type": "string",
"description": "Used to get more specific results when using \"Interest by region\" data type. Other data types do not accept this parameter. The default value depends on the geo location that is set.\n\nAvailable options:\n - `country`: Country\n - `region`: Subregion\n - `dma`: Metro\n - `city`: City\n\nNote: Not all region options will return results for every geo location.\n"
},
"dataType": {
"enum": [
"timeseries",
"geoMap",
"relatedTopics",
"relatedQueries"
],
"type": "string",
"description": "Defines the type of search to perform.\n\nAvailable options:\n - `timeseries`: Interest over time (default). Accepts both single and multiple queries per search.\n - `geoMap`: Interest by region. Accepts both single and multiple queries per search.\n - `relatedTopics`: Related topics. Accepts only single query per search.\n - `relatedQueries`: Related queries. Accepts only single query per search.\n"
}
},
"additionalProperties": false
}
indeed_job: GET /
hasdata_indeed_job_getJobDetails
indeed_job: GET /
hasdata_indeed_job_getJobDetails Get Indeed Job Details Fetches a single Indeed job posting by its viewjob URL. Returns job title, company, location, salary/compensation, employment type, full description, and benefits. Use for ATS/CRM enrichment, compensation benchmarking, resume-to-JD matching with LLMs, and structured archival of postings discovered via the Indeed Listing endpoint.
hasdata_indeed_job_getJobDetails(url: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the job vacancy to retrieve details for."
}
},
"additionalProperties": false
}
indeed_listing: GET /
hasdata_indeed_listing_getJobListings
indeed_listing: GET /
hasdata_indeed_listing_getJobListings Get Indeed Job Listings Searches Indeed job listings by keyword and location with sort (relevance/date), country domain targeting, date-posted (1/3/7/14 days) and remote/hybrid filters, and offset-based pagination (start). Returns an array of jobs with title, company, location, salary, posted date, job URL, sponsored flag, and jobKey (Indeed's stable job id, the only reliable dedup key for sponsored postings) for the requested page. With sponsoredOnly the request exits from the domain's country, where Indeed serves Canadian searches as sponsored postings. Use for job-market dashboards, role/geo hiring-trend analysis, sourcing pipelines, and generating URL lists to feed into the Indeed Job endpoint.
hasdata_indeed_listing_getJobListings(sort?: string, start?: number, domain?: string, keyword: string, location: string, datePosted?: number, remoteType?: string, sponsoredOnly?: boolean)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword",
"location"
],
"properties": {
"sort": {
"enum": [
"relevance",
"date"
],
"type": "string",
"description": "The sorting option for the search results."
},
"start": {
"type": "number",
"description": "The starting index of the results to retrieve (optional)."
},
"domain": {
"type": "string",
"description": "The domain of the Indeed site (optional). Provide one exact documented value (62 allowed), e.g. `ar.indeed.com`, `au.indeed.com`."
},
"keyword": {
"type": "string",
"description": "The keyword used to search for job listings."
},
"location": {
"type": "string",
"description": "The location to search for job listings."
},
"datePosted": {
"enum": [
1,
3,
7,
14
],
"type": "number",
"description": "Returns only jobs posted within the given number of days."
},
"remoteType": {
"enum": [
"remote",
"hybrid"
],
"type": "string",
"description": "Returns only remote (`remote`) or hybrid (`hybrid`) jobs. In the US, Indeed ties fully remote jobs to the country rather than a city, so use a country-wide location such as `United States`: with a city, Indeed returns few or no remote jobs."
},
"sponsoredOnly": {
"type": "boolean",
"description": "When enabled, the request is made in a way that returns more sponsored listings. Defaults to false."
}
},
"additionalProperties": false
}
instagram_comments: GET /
hasdata_instagram_comments_getInstagramComments
instagram_comments: GET /
hasdata_instagram_comments_getInstagramComments Get Instagram Comments Fetches the comments on a public Instagram post or reel from its URL (`/p/`, `/reel/` or `/tv/` links, with or without the username segment). The first page returns the post (id, shortcode, caption, hashtags, mentions, likes and comments counts, owner, display image, images, video URL, DASH manifest, hasAudio flag, tagged location, and every carousel item as childPosts) plus the first comments; with includeMusic=true the post also carries music (audioId, artistName, songName) for the reel's licensed track or original sound; later pages return comments only. Each comment has text, timestamp, like count, reply count, and owner (username, verified flag, profile picture, hasdataLink to the profile endpoint). Supports token-based pagination via nextPageToken. Instagram sizes pages server-side (about 10 to 15 comments). Use for sentiment analysis, engagement research, or building comment datasets from posts discovered via the posts API, whose items carry a hasdataLink to this endpoint.
hasdata_instagram_comments_getInstagramComments(url: string, includeMusic?: boolean, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the Instagram post or reel, for example `https://www.instagram.com/p/Ddjis3vETcP/` or `https://www.instagram.com/instagram/reel/DcymgItMFao/`."
},
"includeMusic": {
"type": "boolean",
"description": "Also return the reel's sound (audio ID, artist and song title) in `post.music`, for both licensed tracks and original audio. This takes an extra request to Instagram on the first page and is ignored when `nextPageToken` is set. Default is false."
},
"nextPageToken": {
"type": "string",
"description": "Defines the next page token. Use the `nextPageToken` value returned by the previous response. Omit it to fetch the first page."
}
},
"additionalProperties": false
}
instagram_posts: GET /
hasdata_instagram_posts_getInstagramPosts
instagram_posts: GET /
hasdata_instagram_posts_getInstagramPosts Get Instagram Posts Fetches the latest posts of a public Instagram account by username (handle) and returns each post with caption, hashtags, mentions, like and comment counts, play counts on videos and Reels, image and video URLs, and timestamp. Supports token-based pagination via nextPageToken to walk older posts. Private accounts and handles that do not exist or are hidden from logged-out viewers return an error field instead of posts. Use to monitor competitor content, track engagement of creator posts, or build datasets of account content for vetting and analytics.
hasdata_instagram_posts_getInstagramPosts(limit?: number, handle: string, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"handle"
],
"properties": {
"limit": {
"type": "number",
"description": "The maximum number of posts to retrieve per request. Defaults to 12."
},
"handle": {
"type": "string",
"description": "The Instagram username of the account whose posts you want to scrape, without the `@` symbol."
},
"nextPageToken": {
"type": "string",
"description": "Defines the next page token. It is used for retrieving the next page results. Use the `nextPageToken` value returned by the previous response."
}
},
"additionalProperties": false
}
instagram_profile: GET /
hasdata_instagram_profile_getInstagramProfile
instagram_profile: GET /
hasdata_instagram_profile_getInstagramProfile Get Instagram Profile Fetches a public Instagram profile by username (handle) and returns full name, biography, external link, profile picture URL, followers count, following count, and verified/private flags. Use to enrich CRM/lead records, verify influencer reach before outreach, monitor competitor accounts, or build datasets of creator metadata for vetting and analytics.
hasdata_instagram_profile_getInstagramProfile(handle: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"description": "The Instagram username of the profile you want to scrape, without the `@` symbol."
}
},
"additionalProperties": false
}
perplexity_chat: GET /
hasdata_perplexity_chat_getPerplexityAnswer
perplexity_chat: GET /
hasdata_perplexity_chat_getPerplexityAnswer Get Perplexity Answer Sends a question to Perplexity anonymously and returns the `answer` as markdown text, plus every web page Perplexity searched in `sources` with its `domain`, `title`, `snippet`, `publishedDate` and `citation` number, the follow-up questions in `relatedQuestions`, a link to the thread on perplexity.ai in `url`, the `model` that answered and the `country` the answer was served from. Perplexity searches the web for every question, so `usedWebSearch` is normally true and answers come with `sources` rather than from the model alone. The language of the answer follows the question — write it in the language you want back, or ask for one in it. Set the frame of reference for words like "today" with `timezone`. Each request is a fresh thread with no memory of earlier ones. Use to answer questions with cited sources, to ground an agent or RAG pipeline in live web results, to summarise a topic with the pages behind it, or to build datasets of answers and their citations.
hasdata_perplexity_chat_getPerplexityAnswer(prompt: string, timezone?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"prompt"
],
"properties": {
"prompt": {
"type": "string",
"description": "The question to send to Perplexity, up to 4000 characters. The question also decides the language of the answer — write it in the language you want back, or ask for one explicitly (\"Antworte auf Deutsch\")."
},
"timezone": {
"type": "string",
"description": "IANA time zone name, for example `America/Chicago` or `Europe/Berlin`. It sets what Perplexity treats as the current date and time, which matters for questions that say \"today\", \"this week\" or \"latest\"."
}
},
"additionalProperties": false
}
redfin_listing: GET /
hasdata_redfin_listing_getRealEstateListings
redfin_listing: GET /
hasdata_redfin_listing_getRealEstateListings Get Redfin Real Estate Listings Searches Redfin for-sale, for-rent, or sold listings with pagination. The location accepts a zipcode, city, neighborhood, school, school district, apartment-building name, or a full street address. Returns each listing with address, Redfin URL, list price, beds/baths, square footage, year built, days on market, status, coordinates, photos, and MLS number; an address or building returns a single property card instead. Use for real-estate market research, lead generation for agents, price/DOM trend analysis, and feeding URLs into the Redfin Property endpoint for deep-dive details.
hasdata_redfin_listing_getRealEstateListings(page?: number, sort?: string, type: string, baths?: string, pets__?: array, keyword: string, beds_max_?: number, beds_min_?: number, cost_hoa_?: number, moveInDate?: string, price_max_?: number, price_min_?: number, homeTypes__?: array, lotSize_max_?: string, lotSize_min_?: string, stories_max_?: string, stories_min_?: string, timeOnRedfin?: string, yearBuilt_max_?: string, yearBuilt_min_?: string, statusOptions__?: array, soldWithinOption?: string, rentalAmenities__?: array, cost_priceReduced_?: string, rentalOtherTerms__?: array, monthlyPayment_max_?: number, monthlyPayment_min_?: number, schools_schoolType___?: array, forSaleSquareFeet_max_?: string, forSaleSquareFeet_min_?: string, homeFeatures_basement_?: string, homeFeatures_poolType_?: string, cost_acceptedFinancing_?: string, cost_excludeLandLeases_?: boolean, cost_pricePerSqft__max_?: string, cost_pricePerSqft__min_?: string, homeFeatures_options___?: array, listingType_category___?: array, onlyWithDealOrPromotion?: boolean, exclude55PlusCommunities?: boolean, forRentSquareFootage_max_?: number, forRentSquareFootage_min_?: number, schools_greatSchoolRating_?: number, transportScores_bikeScore_?: number, transportScores_walkScore_?: number, cost_maxPropertyTaxPerYear_?: number, homeFeatures_keywordSearch_?: string, openHouseAndTour_openHouse_?: string, openHouseAndTour_videoTour_?: boolean, homeFeatures_garageSpotsMin_?: string, monthlyPayment_interestRate_?: number, monthlyPayment_mortgageTerm_?: string, monthlyPayment_insuranceRate_?: number, transportScores_transitScore_?: number, listingType_excludeShortSales_?: boolean, schools_includeUnratedSchools_?: boolean, listingType_redfinListingsOnly_?: boolean, monthlyPayment_downPaymentAmount_?: number, monthlyPayment_downPaymentPercent_?: number)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword",
"type"
],
"properties": {
"page": {
"type": "number",
"description": "The page number of the results to retrieve."
},
"sort": {
"enum": [
"recommended",
"newest",
"oldest",
"priceLowToHigh",
"priceHighToLow",
"minSquareFeet",
"maxSquareFeet",
"bedrooms",
"bathrooms",
"lotSize",
"squareFeetPrice",
"mostRecentlySold"
],
"type": "string",
"description": "The sorting option for the search results."
},
"type": {
"enum": [
"forSale",
"forRent",
"sold"
],
"type": "string",
"description": "The type of listing."
},
"baths": {
"enum": [
"one",
"oneAndHalf",
"two",
"twoAndHalf",
"three",
"four"
],
"type": "string",
"description": "The minimum number of bathrooms."
},
"pets__": {
"type": "array",
"items": {
"enum": [
"dogsAllowed",
"catsAllowed"
],
"type": "string"
},
"description": "An array of pet types allowed."
},
"keyword": {
"type": "string",
"description": "The location to search for listings. Accepts a zipcode (`33321`), a city (`Austin` or `Austin, TX`), a neighborhood (`East Austin`), a school (`BASIS Austin`), a school district (`Austin Independent School District`), an apartment building by its name (`Maizon Brickell`), or a full street address (`5805 Woodview Ave, Austin, TX 78756`), including a single unit (`221 SW 12th St Unit 1716, Miami, FL`). An address or a building returns a single property card instead of a list of listings, and the `type` parameter does not apply to it."
},
"beds_max_": {
"type": "number",
"description": "The maximum number of bedrooms."
},
"beds_min_": {
"type": "number",
"description": "The minimum number of bedrooms."
},
"cost_hoa_": {
"type": "number",
"description": "The maximum monthly Homeowners Association (HOA) fee."
},
"moveInDate": {
"type": "string",
"description": "The desired move-in date in MM/DD/YYYY format."
},
"price_max_": {
"type": "number",
"description": "The maximum price of the listing."
},
"price_min_": {
"type": "number",
"description": "The minimum price of the listing."
},
"homeTypes__": {
"type": "array",
"items": {
"enum": [
"house",
"townhouse",
"townhome",
"condo",
"land",
"multiFamily",
"mobile",
"coOp",
"other",
"apartment"
],
"type": "string"
},
"description": "An array of home types to filter the listings. Allowed values depend on the listing `type`."
},
"lotSize_max_": {
"enum": [
"2000 sqft",
"4500 sqft",
"6500 sqft",
"8000 sqft",
"9500 sqft",
"0.25 acres",
"0.5 acres",
"1 acres",
"2 acres",
"3 acres",
"4 acres",
"5 acres",
"10 acres",
"20 acres",
"40 acres",
"100 acres"
],
"type": "string",
"description": "The maximum lot size."
},
"lotSize_min_": {
"enum": [
"2000 sqft",
"4500 sqft",
"6500 sqft",
"8000 sqft",
"9500 sqft",
"0.25 acres",
"0.5 acres",
"1 acres",
"2 acres",
"3 acres",
"4 acres",
"5 acres",
"10 acres",
"20 acres",
"40 acres",
"100 acres"
],
"type": "string",
"description": "The minimum lot size."
},
"stories_max_": {
"enum": [
"1",
"2",
"3",
"4",
"5",
"10",
"15",
"20"
],
"type": "string",
"description": "The maximum number of stories."
},
"stories_min_": {
"enum": [
"1",
"2",
"3",
"4",
"5",
"10",
"15",
"20"
],
"type": "string",
"description": "The minimum number of stories."
},
"timeOnRedfin": {
"enum": [
"newListing",
"lessThan3Days",
"lessThan7Days",
"lessThan14Days",
"lessThan30Days",
"moreThan7Days",
"moreThan14Days",
"moreThan30Days",
"moreThan45Days",
"moreThan60Days",
"moreThan90Days",
"moreThan180Days"
],
"type": "string",
"description": "How long the listing has been on Redfin."
},
"yearBuilt_max_": {
"enum": [
"2026",
"2025",
"2024",
"2023",
"2022",
"2021",
"2020",
"2019",
"2018",
"2017",
"2016",
"2015",
"2010",
"2005",
"2000",
"1990",
"1980",
"1970",
"1960",
"1950",
"1940",
"1920",
"1900"
],
"type": "string",
"description": "The maximum year the property was built."
},
"yearBuilt_min_": {
"enum": [
"2026",
"2025",
"2024",
"2023",
"2022",
"2021",
"2020",
"2019",
"2018",
"2017",
"2016",
"2015",
"2010",
"2005",
"2000",
"1990",
"1980",
"1970",
"1960",
"1950",
"1940",
"1920",
"1900"
],
"type": "string",
"description": "The minimum year the property was built."
},
"statusOptions__": {
"type": "array",
"items": {
"enum": [
"active",
"comingSoon",
"contingentPending"
],
"type": "string"
},
"description": "An array of listing statuses."
},
"soldWithinOption": {
"enum": [
"lastOneWeek",
"lastOneMonth",
"lastThreeMonth",
"lastSixMonth",
"lastYear",
"lastTwoYear",
"lastThreeYear",
"lastFiveYear"
],
"type": "string",
"description": "Filter sold listings by how recently they were sold."
},
"rentalAmenities__": {
"type": "array",
"items": {
"enum": [
"airConditioning",
"dishwasher",
"inUnitWasherDryer",
"parkingAllowed",
"utilitiesIncluded",
"attFiber",
"furnished",
"laundryFacility",
"pool",
"washerDryerHookup"
],
"type": "string"
},
"description": "An array of rental amenities to filter the listings."
},
"cost_priceReduced_": {
"enum": [
"inTheLastDay",
"inTheLast3Days",
"inTheLast7Days",
"inTheLast14Days",
"inTheLast30Days",
"moreThan30Days",
"moreThan60Days",
"moreThan120Days"
],
"type": "string",
"description": "Filter listings by when the price was reduced."
},
"rentalOtherTerms__": {
"type": "array",
"items": {
"enum": [
"incomeRestricted",
"student",
"shortTerm",
"seniorLiving",
"military"
],
"type": "string"
},
"description": "An array of additional rental terms."
},
"monthlyPayment_max_": {
"type": "number",
"description": "The maximum monthly payment."
},
"monthlyPayment_min_": {
"type": "number",
"description": "The minimum monthly payment."
},
"schools_schoolType___": {
"type": "array",
"items": {
"enum": [
"elementary",
"middle",
"high"
],
"type": "string"
},
"description": "An array of school types."
},
"forSaleSquareFeet_max_": {
"enum": [
"750",
"1000",
"1100",
"1200",
"1300",
"1400",
"1500",
"1600",
"1700",
"1800",
"1900",
"2000",
"2250",
"2500",
"2750",
"3000",
"4000",
"5000",
"7500",
"10000"
],
"type": "string",
"description": "The maximum square footage for for-sale listings."
},
"forSaleSquareFeet_min_": {
"enum": [
"750",
"1000",
"1100",
"1200",
"1300",
"1400",
"1500",
"1600",
"1700",
"1800",
"1900",
"2000",
"2250",
"2500",
"2750",
"3000",
"4000",
"5000",
"7500",
"10000"
],
"type": "string",
"description": "The minimum square footage for for-sale listings."
},
"homeFeatures_basement_": {
"enum": [
"finished",
"unfinished"
],
"type": "string",
"description": "The basement type."
},
"homeFeatures_poolType_": {
"enum": [
"privatePool",
"communityPool",
"privateOrCommunityPool",
"noPrivatePool"
],
"type": "string",
"description": "The type of pool."
},
"cost_acceptedFinancing_": {
"enum": [
"FHA",
"VA"
],
"type": "string",
"description": "The accepted financing type."
},
"cost_excludeLandLeases_": {
"type": "boolean",
"description": "If set to true, listings with land leases will be excluded."
},
"cost_pricePerSqft__max_": {
"enum": [
"50",
"100",
"150",
"200",
"250",
"300",
"400",
"500",
"600",
"800",
"1000",
"1400",
"1800",
"2200",
"2600",
"3000"
],
"type": "string",
"description": "The maximum price per square foot."
},
"cost_pricePerSqft__min_": {
"enum": [
"50",
"100",
"150",
"200",
"250",
"300",
"400",
"500",
"600",
"800",
"1000",
"1400",
"1800",
"2200",
"2600",
"3000"
],
"type": "string",
"description": "The minimum price per square foot."
},
"homeFeatures_options___": {
"type": "array",
"items": {
"enum": [
"airConditioning",
"waterfront",
"hasAView",
"fireplace",
"fixerUpper",
"guestHouse",
"elevator",
"washerDryerHookup",
"petsAllowed",
"primaryBedroomOnMainFloor",
"rvparking",
"greenHome",
"accessibleHome",
"includeOutdoorParking"
],
"type": "string"
},
"description": "An array of home feature flags to filter the listings."
},
"listingType_category___": {
"type": "array",
"items": {
"enum": [
"byAgent",
"byOwnerFsbo",
"newConstruction",
"foreclosures"
],
"type": "string"
},
"description": "An array of listing categories."
},
"onlyWithDealOrPromotion": {
"type": "boolean",
"description": "If set to true, only listings with a deal or promotion will be included."
},
"exclude55PlusCommunities": {
"type": "boolean",
"description": "If set to true, 55+ communities will be excluded."
},
"forRentSquareFootage_max_": {
"type": "number",
"description": "The maximum square footage for for-rent listings."
},
"forRentSquareFootage_min_": {
"type": "number",
"description": "The minimum square footage for for-rent listings."
},
"schools_greatSchoolRating_": {
"type": "number",
"description": "The minimum GreatSchools rating (1-10)."
},
"transportScores_bikeScore_": {
"type": "number",
"description": "The minimum bike score (1-100)."
},
"transportScores_walkScore_": {
"type": "number",
"description": "The minimum walk score (1-100)."
},
"cost_maxPropertyTaxPerYear_": {
"type": "number",
"description": "The maximum property tax per year."
},
"homeFeatures_keywordSearch_": {
"type": "string",
"description": "A free-text keyword search applied to listing descriptions."
},
"openHouseAndTour_openHouse_": {
"enum": [
"thisWeekend",
"anytime"
],
"type": "string",
"description": "Filter listings with an open house."
},
"openHouseAndTour_videoTour_": {
"type": "boolean",
"description": "If set to true, only listings with a video tour will be included."
},
"homeFeatures_garageSpotsMin_": {
"enum": [
"1",
"2",
"3",
"4",
"5"
],
"type": "string",
"description": "The minimum number of garage spots."
},
"monthlyPayment_interestRate_": {
"type": "number",
"description": "The mortgage interest rate (percent) used to calculate the monthly payment."
},
"monthlyPayment_mortgageTerm_": {
"enum": [
"fixed15Years",
"fixed20Years",
"fixed30Years",
"fixed30YearsFha",
"fixed30YearsVa",
"fixed30YearsJumbo"
],
"type": "string",
"description": "The mortgage term used to calculate the monthly payment."
},
"monthlyPayment_insuranceRate_": {
"type": "number",
"description": "The home insurance rate (percent) used to calculate the monthly payment."
},
"transportScores_transitScore_": {
"type": "number",
"description": "The minimum transit score (1-100)."
},
"listingType_excludeShortSales_": {
"type": "boolean",
"description": "If set to true, short sales will be excluded."
},
"schools_includeUnratedSchools_": {
"type": "boolean",
"description": "If set to true, unrated schools will be included."
},
"listingType_redfinListingsOnly_": {
"type": "boolean",
"description": "If set to true, only Redfin-listed properties will be included."
},
"monthlyPayment_downPaymentAmount_": {
"type": "number",
"description": "The down payment as an absolute amount."
},
"monthlyPayment_downPaymentPercent_": {
"type": "number",
"description": "The down payment as a percentage of the home price."
}
},
"additionalProperties": false
}
redfin_property: GET /
hasdata_redfin_property_getPropertyDetails
redfin_property: GET /
hasdata_redfin_property_getPropertyDetails Get Redfin Property Details Fetches the full Redfin property page by URL. Returns address, list/sold price, price history, Redfin Estimate, beds/baths, square footage, lot size, year built, property type, HOA, days on market, school ratings, tax history, listing agent, full description, photos, and nearby comparables. Use for CMA reports, investor due-diligence, valuation models, listing enrichment, and powering buyer-assistant agents with verified property facts.
hasdata_redfin_property_getPropertyDetails(url: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the property on Redfin. Must be a valid Redfin property URL."
}
},
"additionalProperties": false
}
shopify_collections: GET /
hasdata_shopify_collections_getCollections
shopify_collections: GET /
hasdata_shopify_collections_getCollections Get Shopify Store Collections Lists collections from any public Shopify storefront URL with limit (up to 250) and page pagination. Returns each collection's id, title, handle, description, image, and timestamps. Use the returned handles as input to the Shopify Products endpoint to enumerate category-specific catalogs, or to map a competitor's merchandising taxonomy and track collection changes over time.
hasdata_shopify_collections_getCollections(url: string, page?: number, limit?: number)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the Shopify store. For example, 'https://b2bdemoexperience.myshopify.com'."
},
"page": {
"type": "number",
"description": "The page number of the results to retrieve. Must be a positive integer."
},
"limit": {
"type": "number",
"description": "The maximum number of collections to retrieve. Must be between 1 and 250."
}
},
"additionalProperties": false
}
shopify_products: GET /
hasdata_shopify_products_getProducts
shopify_products: GET /
hasdata_shopify_products_getProducts Get Shopify Store Products Pulls products from any public Shopify storefront URL, optionally filtered by a collection handle, with limit (up to 250) and page pagination. Returns product id, title, handle, vendor, product_type, tags, body_html, images, variants with prices/SKUs/inventory status, and timestamps. Use for competitive price monitoring, catalog mirroring, availability tracking, building product datasets for comparison shopping, or feeding structured SKU data into downstream analytics and dropshipping pipelines.
hasdata_shopify_products_getProducts(url: string, page?: number, limit?: number, collection?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the Shopify store. For example, 'https://b2bdemoexperience.myshopify.com'."
},
"page": {
"type": "number",
"description": "The page number of the results to retrieve. Must be a positive integer."
},
"limit": {
"type": "number",
"description": "The maximum number of products to retrieve. Must be between 1 and 250."
},
"collection": {
"type": "string",
"description": "The handle of the collection to filter the products. Provide the collection handle as a string."
}
},
"additionalProperties": false
}
tiktok_comments: GET /
hasdata_tiktok_comments_getTikTokComments
tiktok_comments: GET /
hasdata_tiktok_comments_getTikTokComments Get TikTok Comments Fetches the comments on a public TikTok video by its numeric video id, or the replies to a specific comment when commentId is given. Each comment returns text, like count, timestamp, reply count, and author (username, nickname, avatar, plus hasdataLink to the profile endpoint and hasdataPostsLink to the posts endpoint). The first page of top-level comments also returns `post` with the video's description, author, music, cover and video URLs, duration, hashtags, and its like, comment, share, play, and save counts. Supports token-based pagination via nextPageToken. Use for sentiment analysis, engagement research, or building comment datasets from a video discovered via the posts or search APIs.
hasdata_tiktok_comments_getTikTokComments(videoId: string, commentId?: string, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"videoId"
],
"properties": {
"videoId": {
"type": "string",
"description": "The numeric id of the video (the number after `/video/` in a TikTok URL)."
},
"commentId": {
"type": "string",
"description": "When provided, returns the replies to this comment instead of the video's top-level comments."
},
"nextPageToken": {
"type": "string",
"description": "Defines the next page token. Use the `nextPageToken` value returned by the previous response. Omit it to fetch the first page."
}
},
"additionalProperties": false
}
tiktok_posts: GET /
hasdata_tiktok_posts_getTikTokPosts
tiktok_posts: GET /
hasdata_tiktok_posts_getTikTokPosts Get TikTok Posts Fetches a page of videos for a public TikTok account by username (handle) and returns each video with description, hashtags, mentions, like/comment/share/play/collect counts, cover and playable video URLs, music, duration, and timestamp. Returns a page of ~30 videos plus a `nextPageToken`; pass that token back to walk the account history one page at a time. Use to monitor competitor content, track engagement of creator videos, or build datasets of account content for vetting and analytics.
hasdata_tiktok_posts_getTikTokPosts(handle: string, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"description": "The TikTok username of the account whose videos you want to scrape, with or without the `@` symbol."
},
"nextPageToken": {
"type": "string",
"description": "Defines the next page token. It is used for retrieving the next page of results. Use the `nextPageToken` value returned by the previous response. Omit it to fetch the first page."
}
},
"additionalProperties": false
}
tiktok_profile: GET /
hasdata_tiktok_profile_getTikTokProfile
tiktok_profile: GET /
hasdata_tiktok_profile_getTikTokProfile Get TikTok Profile Fetches a public TikTok profile by username (handle) and returns nickname, biography, bio link, avatar URLs, verified/private flags, account creation time, and followers, follows, likes, videos, and friends counts. Use to enrich CRM/lead records, verify influencer reach before outreach, monitor competitor accounts, or build datasets of creator metadata for vetting and analytics.
hasdata_tiktok_profile_getTikTokProfile(handle: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"description": "The TikTok username of the profile you want to scrape, with or without the `@` symbol."
}
},
"additionalProperties": false
}
tiktok_search: GET /
hasdata_tiktok_search_getTikTokSearch
tiktok_search: GET /
hasdata_tiktok_search_getTikTokSearch Search TikTok Searches TikTok by keyword and returns either videos (with description, hashtags, mentions, like/comment/share/play counts, cover and playable video URLs, music, and author) or users (nickname, bio, avatar, verified flag, follower count). Each author and each user carries a hasdataLink to their profile endpoint and a hasdataPostsLink to their posts endpoint. Supports token-based pagination via nextPageToken. Use for content discovery, trend research, influencer discovery, or building datasets from a keyword.
hasdata_tiktok_search_getTikTokSearch(type?: string, keyword: string, nextPageToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword"
],
"properties": {
"type": {
"enum": [
"video",
"user"
],
"type": "string",
"description": "What to search for — videos or users. Defaults to video."
},
"keyword": {
"type": "string",
"description": "The phrase to search for on TikTok."
},
"nextPageToken": {
"type": "string",
"description": "Defines the next page token. Use the `nextPageToken` value returned by the previous response. Omit it to fetch the first page."
}
},
"additionalProperties": false
}
walmart_product: GET /
hasdata_walmart_product_getWalmartProduct
walmart_product: GET /
hasdata_walmart_product_getWalmartProduct Get Walmart Product Details Scrapes one Walmart product page on a chosen storefront by item id or URL. Returns title, brand, model, UPC, condition, availability, price with strikethrough before-price and unit price, the seller holding the buy box with its rating and return policy, badges, SNAP EBT eligibility, Walmart+ savings, star rating with the per-star review breakdown and AI review summaries, images, category path, highlights, specifications, AI-generated key item features, variant axes with every option and the itemId each combination resolves to, fulfillment details, and the other-sellers block: how many competitors the page advertises always and, when the page shows it, the cheapest competing price, plus - when otherOffers is enabled - the offer list with each seller name, storefront URL, price, condition, shipping cost, delivery date and return policy. Use for price and buy-box monitoring, seller and marketplace competitor tracking, assortment enrichment of item ids harvested from search, and variant mapping.
hasdata_walmart_product_getWalmartProduct(url?: string, domain?: string, itemId?: string, language?: string, otherOffers?: boolean)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string",
"description": "A full Walmart product URL to scrape as is. When provided, it overrides `itemId` and the storefront is taken from the URL itself. Required unless `itemId` is provided."
},
"domain": {
"enum": [
"walmart.com",
"walmart.ca"
],
"type": "string",
"description": "Walmart storefront the item belongs to. Each storefront has its own catalog, item ids, prices and currency, so an id from one storefront does not resolve on another. Ignored when `url` is provided. Default is `walmart.com`."
},
"itemId": {
"type": "string",
"description": "Walmart item id, taken from a product URL or from the id field of the Walmart Search API response. On `walmart.com` it is numeric (for example `14977205582`), on `walmart.ca` an alphanumeric code (for example `6NZMJ5CW6MH2`). Required unless `url` is provided."
},
"language": {
"enum": [
"en",
"es",
"fr"
],
"type": "string",
"description": "Language of the product details. Availability depends on the storefront - `walmart.com` serves `en` and `es`, `walmart.ca` serves `en` and `fr`. A language the storefront does not support falls back to its default."
},
"otherOffers": {
"type": "boolean",
"description": "Also collect the offers of other sellers competing for this item - each seller name, storefront, price, condition, shipping cost, delivery date and return policy. This takes an extra request to Walmart and costs 5 credits on top of the base 10, whether or not the item turns out to have competing sellers. How many competitors the item advertises, and the cheapest competing price, are returned in the `otherOffers` block whether the switch is on or off, so it can be left off until the count shows there is something to collect. Default is `false`."
}
},
"additionalProperties": false
}
walmart_reviews: GET /
hasdata_walmart_reviews_getWalmartReviews
walmart_reviews: GET /
hasdata_walmart_reviews_getWalmartReviews Get Walmart Product Reviews Scrapes the customer reviews of one Walmart product on a chosen storefront by item id or URL, ten reviews a page. Returns each review with its rating, title, full text with paragraphs preserved, submission date, author, verified-purchase flag, helpful and not-helpful vote counts, badges, marketplace seller, photos and videos, and the review aspects it was tagged with. Alongside the reviews it returns the item rating, how many ratings versus how many written reviews exist, the per-star breakdown, the AI review summary, per-aspect scores such as Quality or Value for money, and a filters block listing exactly which star ratings, frequent mentions and conditions this item can be filtered by, with a count for each - the values in that block are the ones to pass back as request parameters. Sort by most relevant, most recent, most helpful, highest rated, lowest rated or oldest, and filter by star rating, frequent mention, condition or verified purchases only. Use for review mining and sentiment analysis, tracking what buyers praise or complain about per product, monitoring new reviews over time, and pulling only verified-purchase feedback.
hasdata_walmart_reviews_getWalmartReviews(url?: string, page?: number, sort?: string, domain?: string, itemId?: string, rating?: number, aspectId?: string, language?: string, condition?: string, verifiedPurchasesOnly?: boolean)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string",
"description": "A full Walmart product URL whose reviews to scrape. When provided, it overrides `itemId` and the storefront is taken from the URL itself. Required unless `itemId` is provided."
},
"page": {
"type": "number",
"description": "Page of reviews to return, ten reviews a page. The response reports the last available page in `pagination.totalPages`, the next one in `pagination.nextPage`, and how many reviews the current filters select in `pagination.totalResults`. Note that only reviews carrying written text are paginated, so the ceiling follows `reviewsInformation.totalReviews` rather than the larger `reviewsInformation.totalRatings`. Default is `1`."
},
"sort": {
"enum": [
"mostRelevant",
"mostRecent",
"mostHelpful",
"highestRated",
"lowestRated",
"oldest"
],
"type": "string",
"description": "Order of the returned reviews, named as the Walmart review page names it. Default is `mostRelevant`."
},
"domain": {
"enum": [
"walmart.com",
"walmart.ca"
],
"type": "string",
"description": "Walmart storefront the item belongs to. Each storefront has its own catalog, item ids and review pool, so an id from one storefront does not resolve on another. Ignored when `url` is provided. Default is `walmart.com`."
},
"itemId": {
"type": "string",
"description": "Walmart item id, taken from a product URL or from the id field of the Walmart Search API response. On `walmart.com` it is numeric (for example `14977205582`), on `walmart.ca` an alphanumeric code (for example `6NZMJ5CW6MH2`). Required unless `url` is provided."
},
"rating": {
"type": "number",
"description": "Return only reviews carrying this star rating, from `1` to `5`. The Star rating group of the `filters` block lists the ratings this item actually has, each with the `value` to send here and a `count` of how many reviews to expect."
},
"aspectId": {
"type": "string",
"description": "Return only reviews mentioning one topic. Send the `value` of the topic you want, taken from the Frequent mentions group of the `filters` block in the response - given `{\"name\": \"Battery Life\", \"value\": \"6049\", \"count\": 8}` you send `6049`, and `count` is how many reviews to expect. **Only one topic per request**, Walmart rejects a list of them. Topics belong to the product rather than to Walmart: a phone offers Battery Life or Display, a coffee offers Flavor or Aroma, and some items offer none at all - so make an unfiltered request first and read the block, instead of reusing a topic id across products."
},
"language": {
"enum": [
"en",
"es",
"fr"
],
"type": "string",
"description": "Language of the review page. Availability depends on the storefront - `walmart.com` serves `en` and `es`, `walmart.ca` serves `en` and `fr`. A language the storefront does not support falls back to its default. Reviews themselves are returned in the language their author wrote them in."
},
"condition": {
"type": "string",
"description": "Return only reviews written about one condition of the item. Send the `value` from the Condition group of the `filters` block - given `{\"name\": \"Restored: Like New\", \"value\": \"5\"}` you send `5`. **Only one condition per request.** This group appears for items Walmart sells in several conditions, and only when the request already names one: reach the variant through the `url` parameter with its `conditionGroupCode`, as in `https://www.walmart.com/ip/1028936148?conditionGroupCode=2`, and the block then lists the condition that variant carries. An item sold in a single condition has no such group, and no reviews to separate by it."
},
"verifiedPurchasesOnly": {
"type": "boolean",
"description": "Return only reviews left by customers whose purchase Walmart confirmed. Narrows the pool considerably, since most reviews are unverified or syndicated from the manufacturer."
}
},
"additionalProperties": false
}
walmart_search: GET /
hasdata_walmart_search_getSearchResults
walmart_search: GET /
hasdata_walmart_search_getSearchResults Get Walmart Search Results Runs a keyword or category search on a chosen Walmart storefront with pagination, price range and fulfillment filters, facet narrowing, and sort order (best match, price low-to-high, price high-to-low, bestseller, highly rated, new arrivals). Returns the product list with item id, title, product URL, brand, price and strikethrough before-price, star rating, review count, seller, availability, sponsored flag, badges, SNAP EBT eligibility, Walmart+ savings, variants, other offers and fulfillment details (shipping, pickup, delivery messages), plus the facets block listing every filter the query supports with the exact value to send back in the facet parameter, pagination, and the store the prices belong to. Use for SERP monitoring, price and assortment tracking, share-of-shelf analysis, competitor discovery, and harvesting item ids to feed downstream product or reviews endpoints.
hasdata_walmart_search_getSearchResults(q?: string, url?: string, page?: number, sort?: string, catId?: string, facet?: string, domain?: string, language?: string, maxPrice?: number, minPrice?: number, deliveryType?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"description": "The search term for which to get the search results. It can be omitted only when `catId` is provided, to browse a whole category instead of searching."
},
"url": {
"type": "string",
"description": "A full Walmart search or category URL to scrape as is. When provided, it overrides `q`, `catId` and the other search parameters, and the storefront is taken from the URL itself."
},
"page": {
"type": "number",
"description": "Page number for pagination (e.g., `1` for the first page, `2` for the second page, etc.). Walmart stops serving results after roughly page 10, returning an empty page beyond that."
},
"sort": {
"enum": [
"bestMatch",
"priceLowToHigh",
"priceHighToLow",
"bestseller",
"highlyRated",
"newArrivals"
],
"type": "string",
"description": "The sorting option for the search results."
},
"catId": {
"type": "string",
"description": "Walmart category id, taken from a category URL (for example `976759_1086446_1229651`). Combine it with `q` to search inside a category, or send it alone to browse the whole category. Required unless `q` is provided."
},
"facet": {
"type": "string",
"description": "Walmart filter in the `name:value` form, for example `brand:Great Value`. Every value available for a query is listed in the facets block of the response, each one carrying the exact string to send back here, so a first unfiltered request tells you what can be filtered on. To combine filters, put each one on its own line. The double-pipe form Walmart's own urls use `brand:Great Value||retailer_type:Walmart` is also accepted."
},
"domain": {
"enum": [
"walmart.com",
"walmart.ca"
],
"type": "string",
"description": "Walmart storefront to search. Each storefront has its own catalog, prices and currency. Default is `walmart.com`."
},
"language": {
"enum": [
"en",
"es",
"fr"
],
"type": "string",
"description": "Language of the results. Availability depends on the storefront - `walmart.com` serves `en` and `es`, `walmart.ca` serves `en` and `fr`. A language the storefront does not support falls back to its default."
},
"maxPrice": {
"type": "number",
"description": "Upper bound of the price range, in the storefront currency."
},
"minPrice": {
"type": "number",
"description": "Lower bound of the price range, in the storefront currency."
},
"deliveryType": {
"enum": [
"shipping",
"pickup"
],
"type": "string",
"description": "Keep only the products available with the selected fulfillment method. Default is `shipping`. Note that `pickup` is answered against one Walmart store, so an item in stock nationally can still be unavailable for `pickup` nearby - the response then reports that nothing matched the filters rather than that the query had no results."
}
},
"additionalProperties": false
}
web_scraping_web_scraping: POST /
hasdata_web_scraping_web_scraping_scrapeWebPage
web_scraping_web_scraping: POST /
hasdata_web_scraping_web_scraping_scrapeWebPage Scrape Web Page Universal web scraper that fetches any public URL through managed proxies (datacenter or residential, geo-targeted) with optional JS rendering, custom headers, wait conditions, jsScenario actions (click, scroll, fill, waitFor), screenshots, resource/ad/URL blocking (these require JS rendering), and extractRules/aiExtractRules for LLM-driven structured extraction. Returns HTML, text, markdown, and/or JSON along with status code, extracted emails and links, CSS-selector extractions, and AI-structured fields per schema. Use as a fallback/universal fetcher for sites without a dedicated API, for scraping JS-heavy SPAs, bypassing bot protections, capturing screenshots, or producing clean markdown/structured JSON to feed downstream parsers, RAG pipelines, or data warehouses.
hasdata_web_scraping_web_scraping_scrapeWebPage(url: string, wait?: number, headers?: object, waitFor?: string, autoMode?: boolean, blockAds?: boolean, blockUrls?: array, proxyType?: string, jsScenario?: array, screenshot?: boolean, excludeTags?: array, jsRendering?: boolean, extractLinks?: boolean, extractRules?: object, outputFormat?: array, proxyCountry?: string, extractEmails?: boolean, aiExtractRules?: object, blockResources?: boolean, includeOnlyTags?: array, removeBase64Images?: boolean)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the web page to scrape."
},
"wait": {
"type": "number",
"description": "Time in milliseconds to wait after the page load."
},
"headers": {
"type": "object",
"description": "Optional custom headers to send with the request.",
"additionalProperties": {}
},
"waitFor": {
"type": "string",
"description": "CSS selector to wait for before scraping."
},
"autoMode": {
"type": "boolean",
"description": "Use the cheapest proxy type and JS rendering that load the page, overriding `jsRendering` and `proxyType`. The chosen values are returned in `requestMetadata` and billed."
},
"blockAds": {
"type": "boolean",
"description": "Whether to block ads."
},
"blockUrls": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of URLs to block."
},
"proxyType": {
"enum": [
"datacenter",
"residential"
],
"type": "string",
"description": "Type of proxy to use."
},
"jsScenario": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"description": "Enables custom JavaScript interactions on the target webpage during scraping. It's an array where each object defines a specific action or step. These actions can include clicking elements, waiting for elements, executing custom scripts, and more. Key actions within this field include:\n\n- `evaluate`: Run custom JavaScript code on the page.\n- `click`: Click on an element specified by a CSS selector.\n- `wait`: Pause for a set duration (in milliseconds).\n- `waitFor`: Delay until a specific element appears.\n- `waitForAndClick`: Combine waiting for an element and then clicking it.\n- `scrollX`, `scrollY`: Scroll to specified positions on the page.\n- `fill`: Enter values into input fields identified by CSS selectors.\n\nActions are executed sequentially.\n"
},
"screenshot": {
"type": "boolean",
"description": "Whether to take a screenshot of the page."
},
"excludeTags": {
"type": "array",
"items": {
"type": "string"
},
"description": "The `excludeTags` parameter accepts an array of valid CSS selectors.\nElements matching these selectors will be removed from the final output.\nEach value must be a valid `querySelectorAll` selector. This can be used to remove ads, scripts, or\nother unwanted sections.\n"
},
"jsRendering": {
"type": "boolean",
"description": "Enable JavaScript rendering."
},
"extractLinks": {
"type": "boolean",
"description": "Extract links from the page."
},
"extractRules": {
"type": "object",
"description": "Rules for extracting specific data from the page. For example: `{ \"title\": \"h1\", \"link_href\": \"a#link @href\", \"page_text\": \"body\" }`\n",
"additionalProperties": {}
},
"outputFormat": {
"type": "array",
"items": {
"enum": [
"html",
"text",
"markdown",
"json"
],
"type": "string"
},
"minItems": 1,
"description": "The outputFormat parameter specifies the desired response format: `html`, `text`, `markdown`, or `json`. If only one of `html`, `text`, or `markdown` is provided, the API returns the response in that format. If multiple formats are specified, the API returns a JSON response with keys for each requested format. If `json` is included with any other format, the API returns a JSON response with keys for the other specified formats.\n"
},
"proxyCountry": {
"enum": [
"US",
"UK",
"DE",
"IE",
"FR",
"IT",
"SE",
"BR",
"CA",
"JP",
"SG",
"IN",
"ID"
],
"type": "string",
"description": "Optional proxy country code."
},
"extractEmails": {
"type": "boolean",
"description": "Extract emails from the page."
},
"aiExtractRules": {
"type": "object",
"description": "Defines custom rules for AI-based data extraction using LLMs. This enables the system to extract structured data directly from the HTML of the page. Each key in the object represents a desired output field name, and the value specifies its type and optional description to guide the AI.\n\nSupported types:\n- `string`: plain text value\n- `number`: numeric value\n- `boolean`: true/false\n- `list`: an array of values\n- `item`: a nested object with its own structure defined under `output`\n",
"additionalProperties": {}
},
"blockResources": {
"type": "boolean",
"description": "Whether to block loading of resources like images and stylesheets."
},
"includeOnlyTags": {
"type": "array",
"items": {
"type": "string"
},
"description": "The `includeOnlyTags` parameter accepts an array of valid CSS selectors.\nWhen specified, only the elements matching these selectors will be included in the response content.\nEach value must be a valid `querySelectorAll` selector. Useful for extracting specific parts of the document.\n"
},
"removeBase64Images": {
"type": "boolean",
"description": "If set to `true`, any images embedded as base64-encoded strings will be removed from the output.\nUseful for reducing response size or when base64 images are not needed.\n"
}
},
"additionalProperties": false
}
yellowpages_place: GET /
hasdata_yellowpages_place_getPlaceDetails
yellowpages_place: GET /
hasdata_yellowpages_place_getPlaceDetails Get Yellow Pages Place Details Scrapes a single YellowPages business listing URL and returns business name, street address, city, region, zip code, coordinates, phone, website, hours of operation, payment methods, categories, ratings, review counts, photos, and service descriptions, plus email and years in business on yellowpages.com listings. Fields the listing does not publish, such as a street address, hours, or email, are omitted from the response. Use to hydrate a lead with verified NAP data, build a B2B contact database from YellowPages URLs collected via the Search endpoint, or validate business legitimacy and hours before outreach.
hasdata_yellowpages_place_getPlaceDetails(url: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The YellowPages URL of the place."
}
},
"additionalProperties": false
}
yellowpages_search: GET /
hasdata_yellowpages_search_getSearchResults
yellowpages_search: GET /
hasdata_yellowpages_search_getSearchResults Get YellowPages Search Results Runs a YellowPages business search by keyword plus location with sort (default, distance, averageRating, name; yellowpages.com only), country domain targeting, and page-based pagination. Returns each business with name, listing URL, phone, address, categories, rating, review count, and years in business. Use for B2B lead generation by niche and city, feeding the resulting URLs into the YellowPages Place endpoint for enrichment, or building geo-targeted prospect lists for sales outreach.
hasdata_yellowpages_search_getSearchResults(page?: number, sort?: string, domain?: string, keyword: string, location: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword",
"location"
],
"properties": {
"page": {
"type": "number",
"description": "The page number of the results to retrieve."
},
"sort": {
"enum": [
"default",
"distance",
"averageRating",
"name"
],
"type": "string",
"description": "The sorting option for the search results."
},
"domain": {
"enum": [
"www.yellowpages.com",
"www.yellowpages.ca"
],
"type": "string",
"description": "YellowPages domain to use. Default is `www.yellowpages.com`."
},
"keyword": {
"type": "string",
"description": "The search term for which to get the search results."
},
"location": {
"type": "string",
"description": "The location where to search for businesses with the given keyword."
}
},
"additionalProperties": false
}
yelp_place: GET /
hasdata_yelp_place_getPlaceDetails
yelp_place: GET /
hasdata_yelp_place_getPlaceDetails Get Yelp Place Details Fetches a single Yelp business by Yelp ID or alias with domain targeting. Returns name, address, phone, website, price range, categories, overall rating, review count, hours, amenities, photos, and highlighted reviews. Use to enrich leads or listings with verified Yelp metadata, monitor a competitor's rating and review count over time, or validate hours/amenities before displaying venue details to end users.
hasdata_yelp_place_getPlaceDetails(domain?: string, placeId: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"placeId"
],
"properties": {
"domain": {
"enum": [
"www.yelp.com",
"www.yelp.co.uk",
"www.yelp.ca",
"www.yelp.com.au",
"ms.yelp.my",
"www.yelp.cz",
"www.yelp.dk",
"www.yelp.de",
"www.yelp.at",
"de.yelp.ch",
"en.yelp.be",
"en.yelp.com.hk",
"en.yelp.my",
"www.yelp.co.nz",
"en.yelp.com.ph",
"www.yelp.ie",
"www.yelp.com.sg",
"en.yelp.ch",
"www.yelp.com.ar",
"www.yelp.cl",
"www.yelp.es",
"www.yelp.com.mx",
"fil.yelp.com.ph",
"fr.yelp.be",
"fr.yelp.ca",
"www.yelp.fr",
"fr.yelp.ch",
"www.yelp.it",
"it.yelp.ch",
"nl.yelp.be",
"www.yelp.nl",
"www.yelp.no",
"www.yelp.pl",
"www.yelp.com.br",
"www.yelp.pt",
"fi.yelp.fi",
"sv.yelp.fi",
"www.yelp.com.tr",
"www.yelp.co.jp",
"zh.yelp.com.hk",
"www.yelp.com.tw"
],
"type": "string",
"description": "Yelp domain to use. Default is `www.yelp.com`."
},
"placeId": {
"type": "string",
"description": "The Yelp ID or Yelp Alias of the place. For example, 'jPIZ3FR5LNcwPuUHi2Fe4g' or 'mcdonalds-new-york-386'."
}
},
"additionalProperties": false
}
yelp_reviews: GET /
hasdata_yelp_reviews_getPlaceReviews
yelp_reviews: GET /
hasdata_yelp_reviews_getPlaceReviews Get Yelp Place Reviews Fetches the review feed of a single Yelp business by Yelp ID, with sorting (relevance, date, rating, elites), filtering by star rating, language and free-text query, and cursor pagination. To page, either step `start` by `num`, or resend the `pagination.nextPageToken` of the previous response as the `nextPageToken` parameter, keeping the other filters unchanged, until `pagination.hasNextPage` is false. The response reports the page it returned as `pagination.start` and `pagination.num`, matching the parameter names. Each review returns the author profile (name, location, review/friend/photo counts, Elite status), full text with language, star rating, timestamp, attached photos and videos, reader reactions, review tags (check-ins, first review, reservation and payment flags) and the owner reply when present. The response also carries the business review totals broken down by rating and by language. Use to monitor customer sentiment over time, mine complaints for a competitor, track how a business responds to negative reviews, or build rating-distribution and review-velocity datasets.
hasdata_yelp_reviews_getPlaceReviews(num?: number, query?: string, start?: number, domain?: string, rating?: string, sortBy?: string, placeId: string, languageCode?: string, nextPageToken?: string, notRecommended?: boolean)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"placeId"
],
"properties": {
"num": {
"type": "number",
"description": "Number of reviews to return per page. The maximum is 49. Defaults to 49 for the recommended feed and to 10 when `notRecommended` is set. The response echoes it back as `pagination.num`.\n"
},
"query": {
"type": "string",
"description": "Note: Yelp ignores the `rating` filter while searching, so a query returns matching reviews of every star rating. Free-text query to search within the reviews of the place.\n"
},
"start": {
"type": "number",
"description": "Result offset for pagination. It skips the given number of reviews, so the step matches `num` (e.g., 0, 49, 98 for the recommended feed, or 0, 10, 20 when `notRecommended` is set). The response echoes it back as `pagination.start`. Cannot be combined with `nextPageToken`.\n"
},
"domain": {
"enum": [
"www.yelp.com",
"www.yelp.co.uk",
"www.yelp.ca",
"www.yelp.com.au",
"ms.yelp.my",
"www.yelp.cz",
"www.yelp.dk",
"www.yelp.de",
"www.yelp.at",
"de.yelp.ch",
"en.yelp.be",
"en.yelp.com.hk",
"en.yelp.my",
"www.yelp.co.nz",
"en.yelp.com.ph",
"www.yelp.ie",
"www.yelp.com.sg",
"en.yelp.ch",
"www.yelp.com.ar",
"www.yelp.cl",
"www.yelp.es",
"www.yelp.com.mx",
"fil.yelp.com.ph",
"fr.yelp.be",
"fr.yelp.ca",
"www.yelp.fr",
"fr.yelp.ch",
"www.yelp.it",
"it.yelp.ch",
"nl.yelp.be",
"www.yelp.nl",
"www.yelp.no",
"www.yelp.pl",
"www.yelp.com.br",
"www.yelp.pt",
"fi.yelp.fi",
"sv.yelp.fi",
"www.yelp.com.tr",
"www.yelp.co.jp",
"zh.yelp.com.hk",
"www.yelp.com.tw"
],
"type": "string",
"description": "Yelp domain to use. Default is `www.yelp.com`."
},
"rating": {
"type": "string",
"description": "Note: Yelp ignores this filter when `query` is set, so a search returns matching reviews of every star rating. Filters the reviews by star rating. Possible values are 5, 4, 3, 2 and 1. To return only five-star reviews, set it to `5`. To include several ratings, pass them comma-separated, for example `5,4,3`. When omitted, reviews with any rating are returned.\n"
},
"sortBy": {
"enum": [
"relevanceDesc",
"dateDesc",
"dateAsc",
"ratingDesc",
"ratingAsc",
"elitesDesc"
],
"type": "string",
"description": "The order in which the reviews are returned. Defaults to relevanceDesc."
},
"placeId": {
"type": "string",
"description": "The Yelp ID of the place. For example, '-4ofMtrD7pSpZIX5pnDkig'. Yelp IDs can be obtained from the Yelp Search Scraper API."
},
"languageCode": {
"type": "string",
"description": "Language of the reviews to return, as a two-letter code (e.g., 'en', 'es', 'fr'). Defaults to en."
},
"nextPageToken": {
"type": "string",
"description": "Opaque cursor for the next page, taken verbatim from `pagination.nextPageToken` of the previous response. It carries both the offset and the page size, so passing it alone continues the feed where the last response ended. Keep the other filters (`sortBy`, `rating`, `languageCode`, `query`, `notRecommended`) identical across pages. Use either this or `start`, not both. Paginate until `pagination.hasNextPage` is false.\n"
},
"notRecommended": {
"type": "boolean",
"description": "Returns the reviews Yelp does not currently recommend (filtered out of the main feed by its recommendation software) instead of the recommended ones. These reviews carry no photos, videos or reactions, and are paginated ten at a time. Defaults to false.\n"
}
},
"additionalProperties": false
}
yelp_search: GET /
hasdata_yelp_search_getSearchResults
yelp_search: GET /
hasdata_yelp_search_getSearchResults Get Yelp Search Results Runs a Yelp business search by keyword and location with optional map-bounded radius via the `l` parameter (g:lon1,lat1,lon2,lat2), domain targeting, and offset-based pagination. Returns a ranked list of businesses with Yelp alias/ID, name, categories, rating, review count, price tier, and thumbnail. Use the returned aliases as input to the Yelp Place endpoint for full details, to power local-discovery UIs, or to build market-share/competitor datasets for a niche in a given geography.
hasdata_yelp_search_getSearchResults(l?: string, start?: number, domain?: string, keyword: string, location: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword",
"location"
],
"properties": {
"l": {
"type": "string",
"description": "Parameter defines the distance or map radius for the search results. For example: `g:-95.2486,29.8496,-95.4277,29.6324`.\n"
},
"start": {
"type": "number",
"description": "Result offset for pagination (e.g., 0 for the first page, 10 for the 2nd page, etc.)."
},
"domain": {
"enum": [
"www.yelp.com",
"www.yelp.co.uk",
"www.yelp.ca",
"www.yelp.com.au",
"ms.yelp.my",
"www.yelp.cz",
"www.yelp.dk",
"www.yelp.de",
"www.yelp.at",
"de.yelp.ch",
"en.yelp.be",
"en.yelp.com.hk",
"en.yelp.my",
"www.yelp.co.nz",
"en.yelp.com.ph",
"www.yelp.ie",
"www.yelp.com.sg",
"en.yelp.ch",
"www.yelp.com.ar",
"www.yelp.cl",
"www.yelp.es",
"www.yelp.com.mx",
"fil.yelp.com.ph",
"fr.yelp.be",
"fr.yelp.ca",
"www.yelp.fr",
"fr.yelp.ch",
"www.yelp.it",
"it.yelp.ch",
"nl.yelp.be",
"www.yelp.nl",
"www.yelp.no",
"www.yelp.pl",
"www.yelp.com.br",
"www.yelp.pt",
"fi.yelp.fi",
"sv.yelp.fi",
"www.yelp.com.tr",
"www.yelp.co.jp",
"zh.yelp.com.hk",
"www.yelp.com.tw"
],
"type": "string",
"description": "Yelp domain to use. Default is `www.yelp.com`."
},
"keyword": {
"type": "string",
"description": "The search term for which to get the search results."
},
"location": {
"type": "string",
"description": "The location where to search for businesses with the given keyword."
}
},
"additionalProperties": false
}
youtube_channel: GET /
hasdata_youtube_channel_getYoutubeChannel
youtube_channel: GET /
hasdata_youtube_channel_getYoutubeChannel Get YouTube Channel Data Fetches a YouTube channel by its ID (`UC…`) or handle (`@name`) and returns structured data for any channel tab — `featured`/Home, `videos`, `shorts`, `streams`, `playlists`, `posts`, `podcasts`, `releases`, `store` (desktop only), `about`. Returns channel identity (title, description, avatar, banner), subscriber count, country, join date, total-view count and social links (on the `about` tab), and the items on the requested tab (videos with views and publish date, playlists, posts, podcasts, etc.). Use to monitor competitor channels, build creator/brand directories, track posting cadence and growth signals, or feed `videoId` into the YouTube Video / Transcript endpoints.
hasdata_youtube_channel_getYoutubeChannel(gl?: string, hl?: string, tab?: string, channelId: string, deviceType?: string, paginationToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"channelId"
],
"properties": {
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"tab": {
"enum": [
"featured",
"videos",
"shorts",
"streams",
"playlists",
"posts",
"community",
"podcasts",
"releases",
"about",
"store"
],
"type": "string",
"description": "Channel tab to scrape. Each tab returns a different content shape:\n- `featured` (default) — channel Home page (channel trailer + curated rows)\n- `videos` — uploaded long-form videos\n- `shorts` — Shorts feed\n- `streams` — past and upcoming live streams\n- `playlists` — created and saved playlists\n- `posts` / `community` — community posts\n- `podcasts` — podcast episodes\n- `releases` — music releases\n- `about` — channel description, links, stats\n- `store` — channel merch\n"
},
"channelId": {
"type": "string",
"description": "YouTube channel identifier — either the canonical channel ID (`UC…`, 24 chars) or the public handle starting with `@` (e.g. `@PewDiePie`). Legacy `/c/<custom>` and `/user/<name>` URL slugs are also accepted."
},
"deviceType": {
"enum": [
"desktop",
"mobile"
],
"type": "string",
"description": "Device type for the request."
},
"paginationToken": {
"type": "string",
"description": "Token returned in the previous response to fetch the next page of results."
}
},
"additionalProperties": false
}
youtube_search: GET /
hasdata_youtube_search_getYoutubeSearchResults
youtube_search: GET /
hasdata_youtube_search_getYoutubeSearchResults Get YouTube Search Results Searches YouTube for a query and returns the full results page split into `videoResults` (videoId, title, views, length, publish date, chapters, channel info, extensions like 4K/CC), `channelResults` (channelId, handle, subscribers, verified flag), `shortsResults` / `inlineShortsResults`, themed `shelves` (e.g. 'People also watched', 'Latest from <creator>'), `adsResults` and `sponsoredResults` (advertiser, landing URL, position), plus `searchInformation.totalResults`. Each block preserves its `positionOnPage` so the original layout is reconstructable. Use for competitor and topic monitoring, brand-mention tracking, ad-placement intelligence, creator discovery, trend research, or to feed `videoId` / `channelId` into the YouTube Video, Channel, or Transcript endpoints.
hasdata_youtube_search_getYoutubeSearchResults(q: string, gl?: string, hl?: string, sp?: string, date?: string, length?: string, sortBy?: string, filters__?: array, videoType?: string, deviceType?: string, paginationToken?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Free-text search query, exactly as a user would type it into the YouTube search box."
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"sp": {
"type": "string",
"description": "Raw YouTube `sp` filter token, copied verbatim from a YouTube search URL (e.g. `EgIQAQ%253D%253D`). When provided, it overrides `sortBy`, `date`, `videoType`, `length`, and `filters[]`. Use only if you need a YouTube-side filter that this API does not expose as a structured parameter."
},
"date": {
"enum": [
"hour",
"today",
"week",
"month",
"year"
],
"type": "string",
"description": "Limit results to videos uploaded within this time window relative to now."
},
"length": {
"enum": [
"under4",
"between420",
"plus20"
],
"type": "string",
"description": "Filter by video duration bucket:\n- `under4` — under 4 minutes\n- `between420` — 4 to 20 minutes\n- `plus20` — over 20 minutes\n"
},
"sortBy": {
"enum": [
"relevance",
"popularity",
"rating",
"date",
"views"
],
"type": "string",
"description": "Sort order applied to the results page. `relevance` (default) — best match for the query; `date` — newest first; `views` — most viewed first; `rating` — highest rated first; `popularity` — trending/most popular."
},
"filters__": {
"type": "array",
"items": {
"enum": [
"hd",
"subtitles",
"cc",
"d3",
"live",
"bought",
"k4",
"d360",
"location",
"hdr",
"vr180"
],
"type": "string"
},
"description": "Feature flags to require on results. Multiple values are combined with AND (every flag must apply).\n\n- `hd` — HD quality\n- `k4` — 4K quality\n- `hdr` — HDR\n- `subtitles` — has subtitles/closed captions\n- `cc` — Creative Commons license\n- `d3` — 3D video\n- `d360` — 360° video\n- `vr180` — VR180 video\n- `live` — currently live\n- `bought` — purchased/paid content\n- `location` — has a geographic location tag\n"
},
"videoType": {
"enum": [
"video",
"shorts",
"channel",
"playlist",
"movie"
],
"type": "string",
"description": "Restrict results to a single YouTube content type — regular videos, Shorts, channels, playlists, or movies."
},
"deviceType": {
"enum": [
"desktop",
"mobile"
],
"type": "string",
"description": "Device type for the request."
},
"paginationToken": {
"type": "string",
"description": "Token returned in the previous response to fetch the next page."
}
},
"additionalProperties": false
}
youtube_transcript: GET /
hasdata_youtube_transcript_getYoutubeTranscript
youtube_transcript: GET /
hasdata_youtube_transcript_getYoutubeTranscript Get YouTube Video Transcript Returns the timed transcript (subtitles) of a YouTube video by its 11-character `videoId`. `languageCode` selects the track (e.g. `en`, `de-DE`, `pt-BR`); `type=asr` requests the auto-generated speech-recognition track. Each segment in `transcript[]` carries `startMs`, `endMs`, `snippet`, and a formatted `startTimeText`. The response also includes `availableTranscripts[]` listing every track on the video (language name + code, `type: asr` for auto-generated, `selected: true` for the one returned) so callers can discover what else is available. Use to feed a video's spoken content into RAG/LLM pipelines, generate summaries or chapter outlines, build searchable archives, run translation or accessibility workflows, or analyze talking points across a creator's catalog (pair with the YouTube Channel endpoint to enumerate videos, then fetch transcripts).
hasdata_youtube_transcript_getYoutubeTranscript(v: string, type?: string, languageCode?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"v"
],
"properties": {
"v": {
"type": "string",
"description": "11-character YouTube video ID — the value of the `v=` query parameter in a watch URL (e.g. `dQw4w9WgXcQ` for `https://www.youtube.com/watch?v=dQw4w9WgXcQ`)."
},
"type": {
"enum": [
"asr"
],
"type": "string",
"description": "Set to `asr` to fetch the YouTube auto-generated (speech-recognition) track. Omit to fetch the human-authored track for `languageCode` when one exists."
},
"languageCode": {
"type": "string",
"description": "BCP-47 / YouTube language code of the transcript track to return (e.g. `en`, `de`, `en-US`, `pt-BR`). Must match a track that the video actually has. When omitted, the video's default language track is returned."
}
},
"additionalProperties": false
}
youtube_video: GET /
hasdata_youtube_video_getYoutubeVideo
youtube_video: GET /
hasdata_youtube_video_getYoutubeVideo Get YouTube Video Data Fetches a single YouTube video by its 11-character `videoId`. Returns title, thumbnail, raw + normalized views and likes, `lengthSeconds`, publish date, category, keywords/tags, `isFamilySafe` / `isUnlisted` flags, the uploading channel (id, link, subscribers, avatar), the full description with parsed links and hashtags, available `captions` tracks (with `kind: asr` for auto-generated), Content-ID `music` matches (song/artist/album), creator `socialLinks`, and the `relatedVideos`, `endScreenVideos`, and `relatedShorts` rails. Use to enrich a video URL with metadata, monitor view/like growth, extract music or sponsor/affiliate links, gather features for recommender or RAG pipelines, or detect caption tracks before calling the YouTube Transcript endpoint.
hasdata_youtube_video_getYoutubeVideo(v: string, gl?: string, hl?: string, deviceType?: string)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"v"
],
"properties": {
"v": {
"type": "string",
"description": "11-character YouTube video ID — the value of the `v=` query parameter in a watch URL (e.g. `dQw4w9WgXcQ` for `https://www.youtube.com/watch?v=dQw4w9WgXcQ`)."
},
"gl": {
"type": "string",
"description": "The two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`."
},
"hl": {
"type": "string",
"description": "The two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`."
},
"deviceType": {
"enum": [
"desktop",
"mobile"
],
"type": "string",
"description": "Device type for the request."
}
},
"additionalProperties": false
}
zillow_listing: GET /
hasdata_zillow_listing_getRealEstateListings
zillow_listing: GET /
hasdata_zillow_listing_getRealEstateListings Get Zillow Real Estate Listings Searches Zillow for-sale, for-rent, and sold listings by keyword with rich filters (price, beds, baths, home type, year built, lot/square footage, HOA, listing status, amenities, views, pet policy, days on Zillow) and pagination. Returns each listing with address, Zillow URL/zpid, price, Zestimate, beds/baths, sqft, home type, status, days on Zillow, coordinates, thumbnail, and listing broker. Use for real-estate market dashboards, rental pricing analysis, agent lead lists, inventory tracking, and collecting URLs for the Zillow Property endpoint.
hasdata_zillow_listing_getRealEstateListings(hoa?: number, page?: number, sort?: string, type: string, pets__?: array, keyword: string, tours__?: array, views__?: array, keywords?: string, beds_max_?: number, beds_min_?: number, basement__?: array, baths_max_?: number, baths_min_?: number, moveInDate?: string, price_max_?: number, price_min_?: number, homeTypes__?: array, daysOnZillow?: number|string, lotSize_max_?: number, lotSize_min_?: number, mustHaveGarage?: boolean, yearBuilt_max_?: number, yearBuilt_min_?: number, parkingSpotsMin?: number, singleStoryOnly?: boolean, squareFeet_max_?: number, squareFeet_min_?: number, otherAmenities__?: array, propertyStatus__?: array, hide55plusCommunities?: boolean, listingPublishOptions__?: array)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keyword",
"type"
],
"properties": {
"hoa": {
"type": "number",
"description": "The Homeowners Association (HOA) fee."
},
"page": {
"type": "number",
"description": "The page number of the results to retrieve."
},
"sort": {
"enum": [
"verifiedSource",
"homesForYou",
"priceHighToLow",
"priceLowToHigh",
"paymentHighToLow",
"paymentLowToHigh",
"newest",
"bedrooms",
"bathrooms",
"squareFeet",
"lotSize"
],
"type": "string",
"description": "The sorting option for the search results."
},
"type": {
"enum": [
"forSale",
"forRent",
"sold"
],
"type": "string",
"description": "The type of listing."
},
"pets__": {
"type": "array",
"items": {
"enum": [
"allowsLargeDogs",
"allowsSmallDogs",
"allowsCats"
],
"type": "string"
},
"description": "An array of pet options."
},
"keyword": {
"type": "string",
"description": "The keyword used to search for listings."
},
"tours__": {
"type": "array",
"items": {
"enum": [
"open",
"3d"
],
"type": "string"
},
"description": "An array of tour options."
},
"views__": {
"type": "array",
"items": {
"enum": [
"city",
"mountain",
"park",
"water"
],
"type": "string"
},
"description": "An array of views."
},
"keywords": {
"type": "string",
"description": "Additional keywords to refine the search."
},
"beds_max_": {
"type": "number",
"description": "The maximum number of bedrooms."
},
"beds_min_": {
"type": "number",
"description": "The minimum number of bedrooms."
},
"basement__": {
"type": "array",
"items": {
"enum": [
"finished",
"unfinished"
],
"type": "string"
},
"description": "An array of basement options."
},
"baths_max_": {
"type": "number",
"description": "The maximum number of bathrooms."
},
"baths_min_": {
"type": "number",
"description": "The minimum number of bathrooms."
},
"moveInDate": {
"type": "string",
"description": "The desired move-in date in `YYYY-MM-DD` format."
},
"price_max_": {
"type": "number",
"description": "The maximum price of the listing."
},
"price_min_": {
"type": "number",
"description": "The minimum price of the listing."
},
"homeTypes__": {
"type": "array",
"items": {
"enum": [
"house",
"townhome",
"multiFamily",
"condo",
"lot",
"apartment",
"manufactured"
],
"type": "string"
},
"description": "An array of home types to filter the listings."
},
"daysOnZillow": {
"enum": [
1,
7,
14,
30,
90,
"6m",
"12m",
"24m",
"36m"
],
"type": [
"number",
"string"
],
"description": "The number of days a listing has been on Zillow."
},
"lotSize_max_": {
"type": "number",
"description": "The maximum lot size."
},
"lotSize_min_": {
"type": "number",
"description": "The minimum lot size."
},
"mustHaveGarage": {
"type": "boolean",
"description": "If set to true, only listings with a garage will be included."
},
"yearBuilt_max_": {
"type": "number",
"description": "The maximum year the property was built."
},
"yearBuilt_min_": {
"type": "number",
"description": "The minimum year the property was built."
},
"parkingSpotsMin": {
"type": "number",
"description": "The minimum number of parking spots."
},
"singleStoryOnly": {
"type": "boolean",
"description": "If set to true, only single-story properties will be included."
},
"squareFeet_max_": {
"type": "number",
"description": "The maximum square footage."
},
"squareFeet_min_": {
"type": "number",
"description": "The minimum square footage."
},
"otherAmenities__": {
"type": "array",
"items": {
"enum": [
"ac",
"pool",
"waterfront",
"onsiteParking",
"inUnitLaundry",
"acceptZillowApplications",
"incomeRestricted",
"apartmentCommunity"
],
"type": "string"
},
"description": "An array of other amenities."
},
"propertyStatus__": {
"type": "array",
"items": {
"enum": [
"comingSoon",
"acceptingBackupOffers",
"pendingAndUnderContract"
],
"type": "string"
},
"description": "An array of property statuses."
},
"hide55plusCommunities": {
"type": "boolean",
"description": "If set to true, 55+ communities will be excluded."
},
"listingPublishOptions__": {
"type": "array",
"items": {
"enum": [
"ownerPosted",
"agentListed",
"newConstruction",
"foreclosures",
"auctions",
"foreclosed",
"preForeclosures"
],
"type": "string"
},
"description": "An array of listing publish options. Use `ownerPosted` for listings by owner and `agentListed` for listings by agent."
}
},
"additionalProperties": false
}
zillow_property: GET /
hasdata_zillow_property_getPropertyDetails
zillow_property: GET /
hasdata_zillow_property_getPropertyDetails Get Zillow Property Details Fetches the full Zillow property page by URL/zpid, with optional agent email extraction. Returns address, list price, Zestimate and Rent Zestimate, price and tax history, beds/baths, living area, lot size, year built, home type, HOA, days on Zillow, listing description, features/amenities, photos, school assignments, walk/transit scores (building pages only), and listing agent/broker (plus email when enabled). Use for valuation models, CMA generation, investor underwriting, rental yield analysis, and enriching buyer/seller agent assistants with authoritative property data.
hasdata_zillow_property_getPropertyDetails(url: string, extractAgentEmails?: boolean)
// inputSchema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL of the property on Zillow. Must be a valid Zillow property URL."
},
"extractAgentEmails": {
"type": "boolean",
"description": "If enabled, attempts to extract agent email addresses from the property details. Increases the cost of the request."
}
},
"additionalProperties": false
}
Вопросы, новые серверы, обсуждение MCP
t.me/rusmcp · t.me/RusMcp_bot