From 24395befcb49c6ee828c5312d2724d4b900e1c7e Mon Sep 17 00:00:00 2001 From: rmilyushkevich <24544571+rmilyushkevich@users.noreply.github.com> Date: Wed, 24 Jun 2026 08:10:38 +0000 Subject: [PATCH] chore(gen): refresh HasData API schema --- pr-body.md | 8 +- src/endpoints.generated.ts | 1022 +++++++++++++++++++++++++++++++++--- 2 files changed, 963 insertions(+), 67 deletions(-) diff --git a/pr-body.md b/pr-body.md index 0dea2a9..4cb69b4 100644 --- a/pr-body.md +++ b/pr-body.md @@ -1,11 +1,11 @@ ## Changes - src/endpoints.generated.ts | 630 ++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 616 insertions(+), 14 deletions(-) + src/endpoints.generated.ts | 1022 +++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 959 insertions(+), 63 deletions(-) ## Endpoint delta ### Added -- booking-place -- booking-search +- google-hotels +- google-maps-posts diff --git a/src/endpoints.generated.ts b/src/endpoints.generated.ts index 05dcaa2..7ebdd26 100644 --- a/src/endpoints.generated.ts +++ b/src/endpoints.generated.ts @@ -31,8 +31,8 @@ export interface EndpointSpec { export const ENDPOINTS = { "airbnb-listing": { "slug": "airbnb-listing", - "title": "Airbnb Listing API", - "description": "The Airbnb Listing API allows users to retrieve listings from Airbnb based on location and check-in/check-out dates.", + "title": "Airbnb Listing Scraper API", + "description": "The Airbnb Listing Scraper API allows users to retrieve listings from Airbnb based on location and check-in/check-out dates.", "category": "Airbnb", "method": "GET", "path": "/scrape/airbnb/listing", @@ -89,8 +89,8 @@ export const ENDPOINTS = { }, "airbnb-property": { "slug": "airbnb-property", - "title": "Airbnb Property API", - "description": "The Airbnb Property API allows users to retrieve detailed information about a specific Airbnb listing using its URL.", + "title": "Airbnb Property Scraper API", + "description": "The Airbnb Property Scraper API allows users to retrieve detailed information about a specific Airbnb listing using its URL.", "category": "Airbnb", "method": "GET", "path": "/scrape/airbnb/property", @@ -109,8 +109,8 @@ export const ENDPOINTS = { }, "amazon-product": { "slug": "amazon-product", - "title": "Amazon Product API", - "description": "The Amazon Product API allows users to get product details from Amazon based on the specified ASIN and domain. This API enables retrieving detailed information about a specific product on Amazon.", + "title": "Amazon Product Scraper API", + "description": "The Amazon Product Scraper API allows users to get product details from Amazon based on the specified ASIN and domain. This API enables retrieving detailed information about a specific product on Amazon.", "category": "Amazon", "method": "GET", "path": "/scrape/amazon/product", @@ -444,8 +444,8 @@ export const ENDPOINTS = { }, "amazon-search": { "slug": "amazon-search", - "title": "Amazon Search API", - "description": "The Amazon Search API allows users to get search results from Amazon based on the specified query and domain. This API enables searching for products on Amazon.", + "title": "Amazon Search Scraper API", + "description": "The Amazon Search Scraper API allows users to get search results from Amazon based on the specified query and domain. This API enables searching for products on Amazon.", "category": "Amazon", "method": "GET", "path": "/scrape/amazon/search", @@ -791,8 +791,8 @@ export const ENDPOINTS = { }, "amazon-seller": { "slug": "amazon-seller", - "title": "Amazon Seller API", - "description": "The Amazon Seller API allows users to retrieve detailed information about a specific Amazon seller using the seller ID, with optional domain and language settings.", + "title": "Amazon Seller Scraper API", + "description": "The Amazon Seller Scraper API allows users to retrieve detailed information about a specific Amazon seller using the seller ID, with optional domain and language settings.", "category": "Amazon", "method": "GET", "path": "/scrape/amazon/seller", @@ -870,8 +870,8 @@ export const ENDPOINTS = { }, "amazon-seller-products": { "slug": "amazon-seller-products", - "title": "Amazon Seller Products API", - "description": "The Amazon Seller Products API allows users to retrieve products listed by a specific Amazon seller using the seller ID, with optional domain, language, and page settings.", + "title": "Amazon Seller Products Scraper API", + "description": "The Amazon Seller Products Scraper API allows users to retrieve products listed by a specific Amazon seller using the seller ID, with optional domain, language, and page settings.", "category": "Amazon", "method": "GET", "path": "/scrape/amazon/seller-products", @@ -1114,8 +1114,8 @@ export const ENDPOINTS = { }, "booking-place": { "slug": "booking-place", - "title": "Booking Place API", - "description": "The Booking Place API returns full details for a single Booking.com property along with the list of available room suites for the requested stay dates and guest composition.", + "title": "Booking.com Place API", + "description": "The Booking.com Place API returns full details for a single Booking.com property along with the list of available room suites for the requested stay dates and guest composition.", "category": "Booking", "method": "GET", "path": "/scrape/booking/place", @@ -1165,10 +1165,10 @@ export const ENDPOINTS = { "wireName": "children", "default": 0 }, - "childrenAgesJson": { + "childrenAges": { "type": "string", - "description": "JSON-encoded array of child ages, one entry per child (each `0`–`17`). Required when `children > 0` and the array length must equal `children`. Must not be passed when `children = 0`. Example: `[1, 3, 7]`", - "wireName": "childrenAgesJson" + "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`. Example: `1,3,7`", + "wireName": "childrenAges" }, "language": { "type": "string", @@ -1285,8 +1285,8 @@ export const ENDPOINTS = { }, "booking-search": { "slug": "booking-search", - "title": "Booking Search API", - "description": "The Booking Search API returns the collection of accommodations from a Booking.com search results page for a given destination and stay dates, with rich filtering by property type, rating, facilities, price and more.", + "title": "Booking.com Search API", + "description": "The Booking.com Search API returns the collection of accommodations from a Booking.com search results page for a given destination and stay dates, with rich filtering by property type, rating, facilities, price and more.", "category": "Booking", "method": "GET", "path": "/scrape/booking/search", @@ -1353,10 +1353,10 @@ export const ENDPOINTS = { "wireName": "children", "default": 0 }, - "childrenAgesJson": { + "childrenAges": { "type": "string", - "description": "JSON-encoded array of child ages, one entry per child (each `0`–`17`). Required when `children > 0` and the array length must equal `children`. Must not be passed when `children = 0`. Example: `[1, 3, 7]`", - "wireName": "childrenAgesJson" + "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`. Example: `1,3,7`", + "wireName": "childrenAges" }, "priceMin": { "type": "number", @@ -1713,8 +1713,8 @@ export const ENDPOINTS = { }, "glassdoor-job": { "slug": "glassdoor-job", - "title": "Glassdoor Job API", - "description": "The Glassdoor Job API allows you to retrieve detailed information about a specific job listing based on the provided vacancy URL.", + "title": "Glassdoor Job Scraper API", + "description": "The Glassdoor Job Scraper API allows you to retrieve detailed information about a specific job listing based on the provided vacancy URL.", "category": "Jobs", "method": "GET", "path": "/scrape/glassdoor/job", @@ -1733,8 +1733,8 @@ export const ENDPOINTS = { }, "glassdoor-listing": { "slug": "glassdoor-listing", - "title": "Glassdoor Listing API", - "description": "The Glassdoor Listing API allows you to retrieve job listings from Glassdoor based on various search parameters.", + "title": "Glassdoor Listing Scraper API", + "description": "The Glassdoor Listing Scraper API allows you to retrieve job listings from Glassdoor based on various search parameters.", "category": "Jobs", "method": "GET", "path": "/scrape/glassdoor/listing", @@ -3603,6 +3603,708 @@ export const ENDPOINTS = { } } }, + "google-hotels": { + "slug": "google-hotels", + "title": "Google Hotels API", + "description": "The Google Hotels API provides real-time access to structured Google Hotels search results, including property listings, prices, ratings, amenities, and pagination.", + "category": "Google Travel", + "method": "GET", + "path": "/scrape/google/hotels", + "cost": 10, + "required": [ + "q", + "checkInDate", + "checkOutDate" + ], + "properties": { + "q": { + "type": "string", + "description": "The search query for Google Hotels (e.g., a city, neighborhood, or hotel name).", + "wireName": "q", + "default": "Hotels in New York" + }, + "checkInDate": { + "type": "string", + "description": "The check-in date in 'yyyy-MM-dd' format.", + "wireName": "checkInDate", + "default": "2026-08-15" + }, + "checkOutDate": { + "type": "string", + "description": "The check-out date in 'yyyy-MM-dd' format.", + "wireName": "checkOutDate", + "default": "2026-08-20" + }, + "gl": { + "type": "string", + "description": "The two-letter country code for the country you want to limit the search to.", + "wireName": "gl", + "enum": [ + "ac", + "af", + "al", + "dz", + "as", + "ad", + "ao", + "ai", + "aq", + "ag", + "ar", + "am", + "aw", + "au", + "at", + "az", + "bs", + "bh", + "bd", + "bb", + "by", + "be", + "bz", + "bj", + "bm", + "bt", + "bo", + "ba", + "bw", + "bv", + "br", + "io", + "bn", + "bg", + "bf", + "bi", + "kh", + "cm", + "ca", + "cv", + "ky", + "cf", + "td", + "cl", + "cn", + "cx", + "cc", + "co", + "km", + "cg", + "cd", + "ck", + "cr", + "ci", + "hr", + "cu", + "cy", + "cz", + "dk", + "dj", + "dm", + "do", + "ec", + "eg", + "sv", + "gq", + "er", + "ee", + "et", + "fk", + "fo", + "fj", + "fi", + "fr", + "gf", + "pf", + "tf", + "ga", + "gm", + "ge", + "gg", + "de", + "gh", + "gi", + "gr", + "gl", + "gd", + "gp", + "gu", + "gt", + "gn", + "gw", + "gy", + "ht", + "hm", + "va", + "hn", + "hk", + "hu", + "im", + "is", + "in", + "id", + "ir", + "iq", + "ie", + "il", + "it", + "je", + "jm", + "jp", + "jo", + "kz", + "ke", + "ki", + "kp", + "kr", + "kw", + "kg", + "la", + "lv", + "lb", + "ls", + "lr", + "ly", + "li", + "lt", + "lu", + "me", + "mo", + "mk", + "mg", + "mw", + "my", + "mv", + "ml", + "mt", + "mh", + "mq", + "mr", + "mu", + "yt", + "mx", + "fm", + "md", + "mc", + "mn", + "ms", + "ma", + "mz", + "mm", + "na", + "nr", + "np", + "nl", + "an", + "nc", + "nz", + "ni", + "ne", + "ng", + "nu", + "nf", + "mp", + "no", + "om", + "pk", + "pw", + "ps", + "pa", + "pg", + "py", + "pe", + "ph", + "pn", + "pl", + "pt", + "pr", + "qa", + "re", + "ro", + "ru", + "rw", + "sh", + "kn", + "lc", + "pm", + "vc", + "ws", + "sm", + "st", + "sa", + "sn", + "rs", + "sc", + "sl", + "sg", + "sk", + "si", + "sb", + "so", + "za", + "gs", + "es", + "lk", + "sd", + "sr", + "sj", + "sz", + "se", + "ch", + "sy", + "tw", + "tj", + "tz", + "th", + "tl", + "tg", + "tk", + "to", + "tt", + "tn", + "tr", + "tm", + "tc", + "tv", + "ug", + "ua", + "ae", + "uk", + "gb", + "us", + "um", + "uy", + "uz", + "vu", + "ve", + "vn", + "vg", + "vi", + "wf", + "eh", + "ye", + "zm", + "zw" + ] + }, + "hl": { + "type": "string", + "description": "The two-letter language code for the language you want to use for the search.", + "wireName": "hl", + "enum": [ + "af", + "ak", + "sq", + "ws", + "am", + "ar", + "hy", + "az", + "eu", + "be", + "bem", + "bn", + "bh", + "xx-bork", + "bs", + "br", + "bg", + "bt", + "km", + "ca", + "chr", + "ny", + "zh-cn", + "zh-tw", + "zh-hk", + "co", + "hr", + "cs", + "da", + "nl", + "xx-elmer", + "en", + "eo", + "et", + "ee", + "fo", + "tl", + "fil", + "fi", + "fr", + "fy", + "gaa", + "gl", + "ka", + "de", + "el", + "kl", + "gn", + "gu", + "xx-hacker", + "ht", + "ha", + "haw", + "iw", + "he", + "hi", + "hu", + "is", + "ig", + "id", + "ia", + "ga", + "it", + "ja", + "jw", + "kn", + "kk", + "rw", + "rn", + "xx-klingon", + "kg", + "ko", + "kri", + "ku", + "ckb", + "ky", + "lo", + "la", + "lv", + "ln", + "lt", + "loz", + "lg", + "ach", + "mk", + "mg", + "my", + "ml", + "mt", + "mv", + "mi", + "mr", + "mfe", + "mo", + "mn", + "ms", + "sr-me", + "ne", + "pcm", + "nso", + "no", + "nn", + "oc", + "or", + "om", + "ps", + "fa", + "xx-pirate", + "pl", + "pt", + "pt-br", + "pt-pt", + "pa", + "qu", + "ro", + "rm", + "nyn", + "ru", + "gd", + "sr", + "sh", + "st", + "tn", + "crs", + "sn", + "sd", + "si", + "sk", + "sl", + "so", + "es", + "es-419", + "su", + "sw", + "sv", + "tg", + "ta", + "tt", + "te", + "th", + "ti", + "to", + "lua", + "tum", + "tr", + "tk", + "tw", + "ug", + "uk", + "ur", + "uz", + "vu", + "vi", + "cy", + "wo", + "xh", + "yi", + "yo", + "zu" + ] + }, + "currency": { + "type": "string", + "description": "Parameter defines the currency of the returned prices", + "wireName": "currency", + "enum": [ + "ALL", + "DZD", + "ARS", + "AMD", + "AWG", + "AUD", + "AZN", + "BSD", + "BHD", + "BYN", + "BMD", + "BAM", + "BRL", + "GBP", + "BGN", + "XPF", + "CAD", + "CLP", + "CNY", + "COP", + "CRC", + "CUP", + "CZK", + "DKK", + "DOP", + "EGP", + "EUR", + "GEL", + "HKD", + "HUF", + "ISK", + "INR", + "IDR", + "IRR", + "ILS", + "JMD", + "JPY", + "JOD", + "KZT", + "KWD", + "LBP", + "MKD", + "MYR", + "MXN", + "MDL", + "MAD", + "TWD", + "NZD", + "NOK", + "OMR", + "PKR", + "PAB", + "PEN", + "PHP", + "PLN", + "QAR", + "RON", + "RUB", + "SAR", + "RSD", + "SGD", + "ZAR", + "KRW", + "SEK", + "CHF", + "THB", + "TRY", + "USD", + "UAH", + "VND", + "AED" + ] + }, + "adults": { + "type": "integer", + "description": "Number of adult guests (1-6).", + "wireName": "adults" + }, + "children": { + "type": "integer", + "description": "Number of child guests (1-5). Total guests (adults + children) cannot exceed 6.", + "wireName": "children" + }, + "childrenAges": { + "type": "string", + "description": "Comma-separated list of children ages (e.g., `5,8,12`). Must match the number of children.", + "wireName": "childrenAges" + }, + "sortBy": { + "type": "string", + "description": "Sort hotel results. Options: - `lowestPrice` — lowest price - `highestRating` — highest rating - `mostReviewed` — most reviewed", + "wireName": "sortBy", + "enum": [ + "lowestPrice", + "highestRating", + "mostReviewed" + ] + }, + "minPrice": { + "type": "number", + "description": "Minimum price per night, in the selected currency.", + "wireName": "minPrice" + }, + "maxPrice": { + "type": "number", + "description": "Maximum price per night, in the selected currency.", + "wireName": "maxPrice" + }, + "propertyType": { + "type": "array", + "description": "List of property types to filter by (e.g., `hotelResort,hotelMotel`). Values prefixed `hotel*` apply when searching hotels (the default mode). Values prefixed `rental*` apply when `vacationRentals=true`. The two sets are disjoint because Google Hotels exposes different property-type catalogs for each mode — pass values matching the mode you're querying.", + "wireName": "propertyType[]", + "items": { + "type": "string", + "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" + ] + } + }, + "amenity": { + "type": "array", + "description": "List of amenities to filter by (e.g., `hotelFreeWifi,hotelPool`). Values prefixed `hotel*` apply when searching hotels (the default mode). Values prefixed `rental*` apply when `vacationRentals=true`. The two sets are disjoint because Google Hotels exposes different amenity catalogs for each mode — pass values matching the mode you're querying.", + "wireName": "amenity[]", + "items": { + "type": "string", + "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" + ] + } + }, + "rating": { + "type": "string", + "description": "Filter by minimum overall guest rating. Options: - `threePointFivePlus` — 3.5 stars or higher - `fourPlus` — 4.0 stars or higher - `fourPointFivePlus` — 4.5 stars or higher", + "wireName": "rating", + "enum": [ + "threePointFivePlus", + "fourPlus", + "fourPointFivePlus" + ] + }, + "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.", + "wireName": "brands" + }, + "hotelClass": { + "type": "string", + "description": "Comma-separated list of hotel star classes to include (e.g., `2,3,4,5`).", + "wireName": "hotelClass" + }, + "freeCancellation": { + "type": "boolean", + "description": "Show only properties offering free cancellation.", + "wireName": "freeCancellation" + }, + "specialOffers": { + "type": "boolean", + "description": "Show only properties with special offers.", + "wireName": "specialOffers" + }, + "ecoCertified": { + "type": "boolean", + "description": "Show only eco-certified properties.", + "wireName": "ecoCertified" + }, + "vacationRentals": { + "type": "boolean", + "description": "Search vacation rentals instead of hotels.", + "wireName": "vacationRentals" + }, + "bedrooms": { + "type": "integer", + "description": "Minimum number of bedrooms (vacation rentals only).", + "wireName": "bedrooms" + }, + "bathrooms": { + "type": "integer", + "description": "Minimum number of bathrooms (vacation rentals only).", + "wireName": "bathrooms" + }, + "nextPageToken": { + "type": "string", + "description": "Token to fetch the next page of hotel results. Returned in the `pagination` field of a previous response.", + "wireName": "nextPageToken" + }, + "propertyToken": { + "type": "string", + "description": "Token used to retrieve details for a specific property. Returned in each property in the results.", + "wireName": "propertyToken" + } + } + }, "google-images": { "slug": "google-images", "title": "Google Images API", @@ -4305,7 +5007,7 @@ export const ENDPOINTS = { "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.", "wireName": "pageToken", - "default": "eyJlaSI6IjE0NXFaN0NlS3U3bjVOb1BtcmpTOFFvIiwicHJvZHVjdGlkIjoiIiwiY2F0YWxvZ2lkIjoiMTY5MTQ4Nzc2MjUyODA5Nzc4NjUiLCJoZWFkbGluZU9mZmVyRG9jaWQiOiIzMjM4MjI0ODQ0NjI0OTEyMTY5IiwiaW1hZ2VEb2NpZCI6IjQ3Njc0OTkxNTkwNjMyNzkxNCIsInJkcyI6IlBDXzMyNDU0NzY0MDA4MzM1NTE5NDh8UFJPRF9QQ18zMjQ1NDc2NDAwODMzNTUxOTQ4IiwicXVlcnkiOiIrQ29mZmVlIiwiZ3BjaWQiOiIzMjQ1NDc2NDAwODMzNTUxOTQ4IiwibWlkIjoiNTc2NDYyNjEyMjgwMTMwNDgxIiwicHZ0IjoiaGciLCJ1dWxlIjpudWxsfQ==" + "default": "eyJyZHMiOiJQQ18zMjQ1NDc2NDAwODMzNTUxOTQ4fFBST0RfUENfMzI0NTQ3NjQwMDgzMzU1MTk0OCIsInByb2R1Y3RpZCI6IjEyNTE4MTc2MDIxNjEyNzgxNzUyIiwiY2F0YWxvZ2lkIjoiMTY5MTQ4Nzc2MjUyODA5Nzc4NjUiLCJoZWFkbGluZU9mZmVyRG9jaWQiOiIxNzc2Njg4MTE3MjA4NzEzODU1NSIsImltYWdlRG9jaWQiOiIzNTQ4NDgyNzk5NTQyMzA0NzkxIiwiZ3BjaWQiOiIzMjQ1NDc2NDAwODMzNTUxOTQ4IiwibWlkIjoiNTc2NDYyNjEyMjgwMTMwNDgxIiwicSI6ImNvZmZlZSIsImhsIjoiZW4iLCJnbCI6InVzIiwiY29va2llcyI6Il9fU2VjdXJlLVNUUlA9QUVFUDdnTDhveTExMkFEcGdEZkdDVmtjdXVRMHNmal8ySlhHaktsbHVQVjhxTHBLVTg3UlN6RmJKd0FvYkNjWjVQUU8tYmJZdGRGd1JDYnBHWmFmVzdnc0ZaYjlQM3VPaF9kSTsgQUVDPUFhSm1hNXVoaGE4ZTdjUnF6cThoZG1Na3ExSmk2MGE4MU1kRkQ1Z2M0Szd4WjZaRnQ0S05RYVJLVkpJOyBOSUQ9NTMxPWcySHJDN296elVZUnVraDhFT1NzakN3QWw0cEFWN25mYkNvcVlnWEVmdVNEUWxWLW80WVZZamxvOTh3cW5taHoxWWQ4NF9jUkFhWlZBV1A4dTVkUzNOVHhKVG9ZcjlNbkI1S3h0R0NESWR4azAya2tGajhGbkdfalAzNGQwM0haR1RjNkV4SWpldlBGREQ5X2xCM1VpNmRabmhoLVlveXN6SUxLVTkwT1MxekZBdHJnNFU1NUE4YWVlVFdlQW5ieEgzSGUxTHRSSFY0UVc4Y2d3Vzc0dW45bTZpdThaaldDZVp0QUhoS0ZsbDdycTJGbG1ybDRRdTV6UGxzIiwieHNyZiI6IkFLUE9yMVM2YmtDejdIcEM0WVo0U2VmNzY4RWE0YnhLbGc6MTc3OTI2ODI0NjMxNCIsIm9hcHZmYyI6IkVvd0RDc3dDUVUxdU15MTVWR1JQTjNrNWJEWndTa1JQT0RWemVpMXJaSFF6YUU1SlVteGlSRE00Wm1WRWVVTXRjakZHYVcxM1lpMW9TRVU1T0ZJeU5UbGhTRXBvTlZKNVdrUTBjMHBKWHkxM1ZEVXhOVlowV25OdFMydFlYMUYzTlZKUmQycFNkREJtYlhWV01IcEdWSG95YVVsWWMzcGpWWGhDU0hJd2ExQmZPRW80YmpWdmNsVmFVR056UWsxMVNEUllkSGc1ZWxKSU9WbzBTMnhSZVhKTlRqZG9UMFIzUmpkT00wSjNWMUYwTmpsUFQxVkplRUZZVERKeFh6ZzBNVU4zTUZseGFqWmhkakp2VEZKSWQzbGZUVUU0WjBoUWRHMHpUMVZvU0cxRVJFbDZTMmhYTFRoa1JsRnRha1ZhVmt0d1pXZE1hMUpYT1ZrdExYbDZjMHhIZFhCSlR6VXhXa1JZTWxoU2VFaE5SRlphYVZOVE9YWklSMUpxU25WSVVsOU9RV1JOU1dSNVZYYzRiMHc1YVVkVFNsUjZSVGgwTjFaNVdHVlJiR1Y1VUZaTFpETjJhR3h2Y0djdGNUSkRhbGNTRjJ4WWIwNWhkbGd4VFUxVGVuRjBjMUJ3VFU5Mk5sRm5HaUpCU2t0TVJtMUtXV1pGU21GaGQzUktSakEwVEdOclYwTmlia281VkhwdWF6Rm4ifQ" }, "moreStores": { "type": "boolean", @@ -6005,6 +6707,200 @@ export const ENDPOINTS = { } } }, + "google-maps-posts": { + "slug": "google-maps-posts", + "title": "Google Maps Posts API", + "description": "The Google Maps Posts API provides access to posts (offers, events, announcements) published by businesses on their Google Maps listings, identified by data ID or place ID.", + "category": "Google Maps", + "method": "GET", + "path": "/scrape/google-maps/posts", + "cost": 10, + "required": [], + "properties": { + "dataId": { + "type": "string", + "description": "Google Maps data ID.", + "wireName": "dataId", + "default": "0x873312ae759b4d15:0x1f38a9bec9912029" + }, + "placeId": { + "type": "string", + "description": "Unique reference to a place on a Google Map. Either dataId or placeId should be set.", + "wireName": "placeId" + }, + "hl": { + "type": "string", + "description": "The two-letter language code for the language you want to use for the search.", + "wireName": "hl", + "enum": [ + "af", + "ak", + "sq", + "ws", + "am", + "ar", + "hy", + "az", + "eu", + "be", + "bem", + "bn", + "bh", + "xx-bork", + "bs", + "br", + "bg", + "bt", + "km", + "ca", + "chr", + "ny", + "zh-cn", + "zh-tw", + "zh-hk", + "co", + "hr", + "cs", + "da", + "nl", + "xx-elmer", + "en", + "eo", + "et", + "ee", + "fo", + "tl", + "fil", + "fi", + "fr", + "fy", + "gaa", + "gl", + "ka", + "de", + "el", + "kl", + "gn", + "gu", + "xx-hacker", + "ht", + "ha", + "haw", + "iw", + "he", + "hi", + "hu", + "is", + "ig", + "id", + "ia", + "ga", + "it", + "ja", + "jw", + "kn", + "kk", + "rw", + "rn", + "xx-klingon", + "kg", + "ko", + "kri", + "ku", + "ckb", + "ky", + "lo", + "la", + "lv", + "ln", + "lt", + "loz", + "lg", + "ach", + "mk", + "mg", + "my", + "ml", + "mt", + "mv", + "mi", + "mr", + "mfe", + "mo", + "mn", + "ms", + "sr-me", + "ne", + "pcm", + "nso", + "no", + "nn", + "oc", + "or", + "om", + "ps", + "fa", + "xx-pirate", + "pl", + "pt", + "pt-br", + "pt-pt", + "pa", + "qu", + "ro", + "rm", + "nyn", + "ru", + "gd", + "sr", + "sh", + "st", + "tn", + "crs", + "sn", + "sd", + "si", + "sk", + "sl", + "so", + "es", + "es-419", + "su", + "sw", + "sv", + "tg", + "ta", + "tt", + "te", + "th", + "ti", + "to", + "lua", + "tum", + "tr", + "tk", + "tw", + "ug", + "uk", + "ur", + "uz", + "vu", + "vi", + "cy", + "wo", + "xh", + "yi", + "yo", + "zu" + ] + }, + "nextPageToken": { + "type": "string", + "description": "Defines the next page token. It is used for retrieving the next page results.", + "wireName": "nextPageToken" + } + } + }, "google-maps-reviews": { "slug": "google-maps-reviews", "title": "Google Maps Reviews API", @@ -14361,8 +15257,8 @@ export const ENDPOINTS = { }, "indeed-job": { "slug": "indeed-job", - "title": "Indeed Job API", - "description": "The Indeed Job API allows you to retrieve detailed information about a specific job listing based on the provided vacancy URL.", + "title": "Indeed Job Scraper API", + "description": "The Indeed Job Scraper API allows you to retrieve detailed information about a specific job listing based on the provided vacancy URL.", "category": "Jobs", "method": "GET", "path": "/scrape/indeed/job", @@ -14381,8 +15277,8 @@ export const ENDPOINTS = { }, "indeed-listing": { "slug": "indeed-listing", - "title": "Indeed Listing API", - "description": "The Indeed Listing API allows you to retrieve job listings from Indeed based on various search parameters.", + "title": "Indeed Listing Scraper API", + "description": "The Indeed Listing Scraper API allows you to retrieve job listings from Indeed based on various search parameters.", "category": "Jobs", "method": "GET", "path": "/scrape/indeed/listing", @@ -14493,8 +15389,8 @@ export const ENDPOINTS = { }, "instagram-profile": { "slug": "instagram-profile", - "title": "Instagram Profile API", - "description": "The Instagram Profile API lets you retrieve public profile information for a specific Instagram account using its handle. It returns data such as bio, followers, following, posts count, and other visible profile details.", + "title": "Instagram Profile Scraper API", + "description": "The Instagram Profile Scraper API lets you retrieve public profile information for a specific Instagram account using its handle. It returns data such as bio, followers, following, posts count, and other visible profile details.", "category": "Instagram", "method": "GET", "path": "/scrape/instagram/profile", @@ -14513,8 +15409,8 @@ export const ENDPOINTS = { }, "redfin-listing": { "slug": "redfin-listing", - "title": "Redfin Listing API", - "description": "The Redfin Listing API allows you to retrieve real estate listings from Redfin based on various search parameters.", + "title": "Redfin Listing Scraper API", + "description": "The Redfin Listing Scraper API allows you to retrieve real estate listings from Redfin based on various search parameters.", "category": "Redfin", "method": "GET", "path": "/scrape/redfin/listing", @@ -15196,8 +16092,8 @@ export const ENDPOINTS = { }, "redfin-property": { "slug": "redfin-property", - "title": "Redfin Property API", - "description": "The Redfin Property API allows users to retrieve detailed information about a specific property using its URL. It provides details such as property features, price, and agent contacts.", + "title": "Redfin Property Scraper API", + "description": "The Redfin Property Scraper API allows users to retrieve detailed information about a specific property using its URL. It provides details such as property features, price, and agent contacts.", "category": "Redfin", "method": "GET", "path": "/scrape/redfin/property", @@ -15216,8 +16112,8 @@ export const ENDPOINTS = { }, "shopify-collections": { "slug": "shopify-collections", - "title": "Shopify Collections API", - "description": "The Shopify Collections API allows users to retrieve information about collections in a Shopify store, including details such as title, handle, description, and image.", + "title": "Shopify Collections Scraper API", + "description": "The Shopify Collections Scraper API allows users to retrieve information about collections in a Shopify store, including details such as title, handle, description, and image.", "category": "Shopify", "method": "GET", "path": "/scrape/shopify/collections", @@ -15247,8 +16143,8 @@ export const ENDPOINTS = { }, "shopify-products": { "slug": "shopify-products", - "title": "Shopify Products API", - "description": "The Shopify Products API allows users to retrieve product information from a Shopify store using the provided URL, with options to limit the results and filter by collection.", + "title": "Shopify Products Scraper API", + "description": "The Shopify Products Scraper API allows users to retrieve product information from a Shopify store using the provided URL, with options to limit the results and filter by collection.", "category": "Shopify", "method": "GET", "path": "/scrape/shopify/products", @@ -15439,8 +16335,8 @@ export const ENDPOINTS = { }, "yellowpages-place": { "slug": "yellowpages-place", - "title": "YellowPages Place API", - "description": "The YellowPages Place API allows users to retrieve detailed information about a specific place using its YellowPages URL.", + "title": "YellowPages Place Scraper API", + "description": "The YellowPages Place Scraper API allows users to retrieve detailed information about a specific place using its YellowPages URL.", "category": "Business", "method": "GET", "path": "/scrape/yellowpages/place", @@ -15459,8 +16355,8 @@ export const ENDPOINTS = { }, "yellowpages-search": { "slug": "yellowpages-search", - "title": "YellowPages Search API", - "description": "The YellowPages Search API allows users to get results from the YellowPages search page. This API enables searching for businesses by keyword and location.", + "title": "YellowPages Search Scraper API", + "description": "The YellowPages Search Scraper API allows users to get results from the YellowPages search page. This API enables searching for businesses by keyword and location.", "category": "Business", "method": "GET", "path": "/scrape/yellowpages/search", @@ -15512,12 +16408,12 @@ export const ENDPOINTS = { }, "yelp-place": { "slug": "yelp-place", - "title": "Yelp Place API", - "description": "The Yelp Place API allows users to retrieve detailed information about a specific place using its Yelp ID or Yelp Alias.", + "title": "Yelp Place Scraper API", + "description": "The Yelp Place Scraper API allows users to retrieve detailed information about a specific place using its Yelp ID or Yelp Alias.", "category": "Business", "method": "GET", "path": "/scrape/yelp/place", - "cost": 5, + "cost": 10, "required": [ "placeId" ], @@ -15580,12 +16476,12 @@ export const ENDPOINTS = { }, "yelp-search": { "slug": "yelp-search", - "title": "Yelp Search API", - "description": "The Yelp Search API allows users to get results from the Yelp search page. This API enables searching for businesses by keyword and location.", + "title": "Yelp Search Scraper API", + "description": "The Yelp Search Scraper API allows users to get results from the Yelp search page. This API enables searching for businesses by keyword and location.", "category": "Business", "method": "GET", "path": "/scrape/yelp/search", - "cost": 5, + "cost": 10, "required": [ "keyword", "location" @@ -15665,8 +16561,8 @@ export const ENDPOINTS = { }, "youtube-channel-api": { "slug": "youtube-channel-api", - "title": "YouTube Channel API", - "description": "The YouTube Channel API provides structured data from YouTube channel pages including channel info, videos, shorts, playlists, posts, streams, releases, podcasts, and more.", + "title": "YouTube Channel Scraper API", + "description": "The YouTube Channel Scraper API provides structured data from YouTube channel pages including channel info, videos, shorts, playlists, posts, streams, releases, podcasts, and more.", "category": "YouTube", "method": "GET", "path": "/scrape/youtube/channel", @@ -16135,8 +17031,8 @@ export const ENDPOINTS = { }, "youtube-search-api": { "slug": "youtube-search-api", - "title": "YouTube Search API", - "description": "The YouTube Search API provides real-time access to structured YouTube search results.", + "title": "YouTube Search Scraper API", + "description": "The YouTube Search Scraper API provides real-time access to structured YouTube search results.", "category": "YouTube", "method": "GET", "path": "/scrape/youtube/search", @@ -16659,8 +17555,8 @@ export const ENDPOINTS = { }, "youtube-transcript-api": { "slug": "youtube-transcript-api", - "title": "YouTube Transcript API", - "description": "The YouTube Transcript API extracts the full transcript (subtitles) from a YouTube video.", + "title": "YouTube Transcript Scraper API", + "description": "The YouTube Transcript Scraper API extracts the full transcript (subtitles) from a YouTube video.", "category": "YouTube", "method": "GET", "path": "/scrape/youtube/transcript", @@ -16693,8 +17589,8 @@ export const ENDPOINTS = { }, "youtube-video-api": { "slug": "youtube-video-api", - "title": "YouTube Video API", - "description": "The YouTube Video API provides structured data for a YouTube video page.", + "title": "YouTube Video Scraper API", + "description": "The YouTube Video Scraper API provides structured data for a YouTube video page.", "category": "YouTube", "method": "GET", "path": "/scrape/youtube/video", @@ -17140,8 +18036,8 @@ export const ENDPOINTS = { }, "zillow-listing": { "slug": "zillow-listing", - "title": "Zillow Listing API", - "description": "The Zillow Listing API allows you to retrieve real estate listings from Zillow based on various search parameters.", + "title": "Zillow Listing Scraper API", + "description": "The Zillow Listing Scraper API lets you retrieve property listings from Zillow.com based on various search parameters.", "category": "Zillow", "method": "GET", "path": "/scrape/zillow/listing", @@ -17431,8 +18327,8 @@ export const ENDPOINTS = { }, "zillow-property": { "slug": "zillow-property", - "title": "Zillow Property API", - "description": "The Zillow Property API allows users to retrieve detailed information about a specific property using its URL. It provides details such as property features, price, and agent contacts.", + "title": "Zillow Property Scraper API", + "description": "The Zillow Property Scraper API lets you retrieve detailed information about a specific property on Zillow.com using its URL. It provides details such as property features, price, and agent contacts.", "category": "Zillow", "method": "GET", "path": "/scrape/zillow/property",