Skip to main content
Glama

actor_google-maps-scraper

Barchin actor 'google-maps-scraper' (maps). عبارت جست‌وجو و محدوده‌ی مکانی را بدهید تا فهرست کسب‌وکارها را از گوگل‌مپس بگیرید: نام، دسته‌بندی، نشانی، تلفن، وب‌سایت، مختصات، امتیاز و تعداد نظر، ساعات کاری، امکانات، نظرها و تصاویر. ورودی و خروجی هم‌شکل اکتور compass/crawler-google-places در اپیفای است. برای هر مکان یک ردیف برمی‌گردد. Base fee 30 credit(s) plus the proxy tier price per fetched page (datacenter 1, residential 15, unblocker 25, +5 with JavaScript). Call list_actors for the full input schema.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "actor_google-maps-scraper"
  }
}

Input Schema

NameRequiredDescriptionDefault
cityNoفقط نام شهر، مثل «تهران» یا «Boston»؛ نام استان و کشور را اینجا ننویسید و در فیلد خودشان بدهید. به‌جای «محل جست‌وجو».
stateNoنام استان یا ایالت، مثل «تهران» یا «Massachusetts». به‌جای «محل جست‌وجو».
countyNoنام شهرستان یا ناحیه، مثل «شمیرانات». به‌جای «محل جست‌وجو».
websiteNoفقط مکان‌های دارای وب‌سایت، یا فقط مکان‌های بدون وب‌سایت برگردند. پیش‌فرض همه.allPlaces
languageNoزبانی که گوگل نام، دسته‌بندی، نشانی و نظرها را به آن برمی‌گرداند، مثل فارسی (fa) یا انگلیسی (en). فیلدهای «تعطیل دائم/موقت» فقط با انگلیسی (en) قابل‌اعتمادند: تشخیص از روی برچسب متنی گوگل است و با زبان‌های دیگر (از جمله فارسی) عملاً همیشه false می‌ماند.en
placeIdsNoبه‌جای جست‌وجو، شناسه‌ی مکان گوگل را بدهید، هر یک در یک خط، مثل ChIJJQz5EZzKw4kRCZ95UajbyGw (با ChIJ یا GhIJ شروع می‌شود). حداکثر 50 شناسه. هر شناسه یک درخواست اضافه برای تبدیل به شناسه‌ی داخلی گوگل می‌زند و صفحه‌ی جزئیات آن همیشه گرفته می‌شود.
maxImagesNo۰ یعنی هیچ. حداکثر 100. آدرس تصاویر (imageUrls) و تاریخ آپلود از صفحه‌ی جزئیات خوانده می‌شوند، پس این گزینه صفحه‌ی جزئیات را روشن می‌کند؛ درخواست جدایی برای تصاویر زده نمی‌شود و خود فایل تصویر دانلود نمی‌شود.
startUrlsNoبه‌جای جست‌وجو، آدرس صفحه‌ی مکان‌های مشخص در گوگل‌مپس را بدهید، هر آدرس در یک خط، مثل https://www.google.com/maps/place/?q=place_id:ChIJJQz5EZzKw4kRCZ95UajbyGw. آدرس باید شناسه‌ی مکان (place_id، cid یا fid) داشته باشد؛ لینک کوتاه goo.gl را اول در مرورگر باز کنید و آدرس کامل را بدهید. حداکثر 50 آدرس. برای هر آدرس صفحه‌ی جزئیات همیشه گرفته می‌شود.
maxReviewsNo۰ یعنی هیچ نظری. حداکثر 100. نظرها از صفحه‌ی جزئیات خوانده می‌شوند، پس این گزینه صفحه‌ی جزئیات را هم روشن می‌کند. گوگل حدود ۵ نظر را همراه صفحه می‌دهد و عدد بزرگ‌تر بیشتر از آن نمی‌آورد؛ این گزینه سقف است، نه هدف. گوگل گاهی نظرها را نمی‌فرستد و اکتور تا 3 بار دوباره می‌پرسد (در سنجش ما برای ۹ مکان از ۱۰ نظر برگشت)، پس با نظر، هر مکان تا 3 درخواست هزینه دارد. برای نظرهای یک مکان مشخص، اکتور «استخراج نظرهای گوگل‌مپس» را ببینید.
postalCodeNoیک کد پستی، مثل 10001. فقط با «کشور» ترکیب کنید، نه با شهر؛ هر اجرا یک کد. به‌جای «محل جست‌وجو».
countryCodeNoکد دوحرفی کشور برای محدود کردن جست‌وجو، مثل ir یا us — به‌جای «محل جست‌وجو» و همراه شهر/استان/کد پستی. اگر «محل جست‌وجو» پر باشد، نادیده گرفته می‌شود.
reviewsSortNoنظرهای هر مکان با این ترتیب برمی‌گردند و سقف «تعداد نظر» روی همین ترتیب اعمال می‌شود؛ پیش‌فرض جدیدترین. توجه: چون گوگل خودش فقط همان حدود ۵ نظر درون‌خطی صفحه را می‌دهد (رجوع به توضیح «تعداد نظر»)، این گزینه فقط همان چند نظر را دوباره می‌چیند و گوگل را برای نظر تازه یا کم‌ستاره‌ی دیگری کوئری نمی‌زند.newest
autoGeoSplitNoغیرفعال به‌صورت پیش‌فرض و روی هزینه‌ی اجرا اثر مستقیم دارد؛ فقط وقتی لازم است که یک عبارت در «محل جست‌وجو»/«محدوده‌ی دلخواه» می‌تواند بیش از ۱۶۱ تا ۲۰۰ نتیجه داشته باشد — همان سقفی که گوگل برای هر ویوپورت می‌گذارد (توضیح «حداکثر تعداد مکان برای هر عبارت» را ببینید). روشن کردنش با {"maxTiles": 9} محدوده را به یک شبکه‌ی ثابت تقسیم می‌کند و هر بخش را جدا جست‌وجو می‌کند؛ تعداد بخش‌ها برابر floor(sqrt(maxTiles))² است، یعنی ۴ تا ۸ یک شبکه‌ی ۲×۲ (۴ بخش) می‌سازد، ۹ یک شبکه‌ی ۳×۳ (۹ بخش)، و 16 — سقف غیرقابل‌عبور این نسخه — یک شبکه‌ی 4×4 (16 بخش). کمتر از 4 هیچ شکافتی نمی‌دهد. هزینه‌ی اجرا دقیقاً به همین نسبت زیاد می‌شود — یک اجرای ۹بخشی حدود ۹ برابر همان اجرای بدون شکافتن هزینه دارد — و این هزینه پیش از اجرا در page_budget محاسبه و نشان داده می‌شود، نه در میانه‌ی کار. بخش‌های همسایه ۱۰٪ هم‌پوشانی دارند تا مکانی که روی مرز دو بخش است از قلم نیفتد؛ چنین مکانی حذف نمی‌شود، فقط در ردیف دوم isDuplicate=true و duplicateOfPlaceId می‌خورد — شمردن ردیف‌های isDuplicate=true در خروجی نشان می‌دهد هم‌پوشانی واقعاً کار کرده. فقط روی «عبارت‌های جست‌وجو» اثر دارد؛ برای placeIds/startUrls (که خودشان یک مکان مشخص‌اند، نه یک محدوده) و بدون هیچ‌کدام از «محل جست‌وجو»/شهر/استان/کشور/«محدوده‌ی دلخواه» (که یعنی جست‌وجو در کل جهان) بی‌اثر است.
maxQuestionsNo۰ یعنی هیچ. حداکثر 50. پرسش‌وپاسخ‌های زیر صفحه‌ی مکان از صفحه‌ی جزئیات خوانده می‌شوند و آن را روشن می‌کنند.
locationQueryNoمحدوده‌ی جست‌وجو به‌صورت متن آزاد، مثل «تهران، ایران» یا «Berlin, Germany». هرچه ساده‌تر، بهتر: نام شهر و کشور کافی است. خالی یعنی جست‌وجو در کل جهان. اگر این پر شود، فیلدهای کشور/استان/شهر/کد پستی در تنظیمات پیشرفته نادیده گرفته می‌شوند. برای پیدا کردن محل یک درخواست زده می‌شود.
reviewsOriginNoگوگل زیر بعضی مکان‌ها (مثل هتل‌ها) نظرهای سایت‌های دیگر را هم نشان می‌دهد؛ «فقط نظرهای خود گوگل» آن‌ها را حذف می‌کند.all
searchMatchingNoنام مکان چقدر باید با عبارت جست‌وجو بخواند. پیش‌فرض همه‌ی نتایج گوگل؛ دو گزینه‌ی دیگر برای وقتی است که نام یک برند مشخص را جست‌وجو می‌کنید و مکان‌های مشابه را نمی‌خواهید.all
statusCheckOnlyNoبرای پایش دوره‌ای «شناسه‌های مکان»/«آدرس‌های گوگل‌مپس» از قبل شناخته‌شده: فقط نام، مختصات و وضعیت تعطیلی برمی‌گردد؛ تصویر، نظر، پرسش‌وپاسخ و لینک‌های رزرو/سفارش خاموش می‌شوند (حتی اگر جدا روشن شده باشند) و نیمی از درخواست‌های جزئیات هر مرجع مستقیم (placeId/startUrl) هم حذف می‌شود — آن درخواست دوم فقط برای تعداد/توزیع نظر و امتیاز دقیق‌تر بود که این حالت اصلاً نمی‌خواهد. روی عبارت‌های جست‌وجو اثری ندارد (آن‌ها از ابتدا فقط یک درخواست جزئیات دارند).
reviewsStartDateNoفقط نظرهایی که از این تاریخ به بعد نوشته شده‌اند. تاریخ میلادی مثل 2024-05-03، یا بازه‌ی نسبی به انگلیسی مثل «8 days» یا «3 months». خالی یعنی بدون محدودیت. توجه: این فقط همان حدود ۵ نظر درون‌خطیِ از قبل گرفته‌شده را فیلتر می‌کند؛ اگر هیچ‌کدام از آن‌ها در این بازه نباشند، حتی اگر مکان نظر تازه‌تری هم روی گوگل داشته باشد، نتیجه صفر می‌شود — نه اینکه اکتور نظر تازه‌تری از گوگل بگیرد.
skipClosedPlacesNoمکان‌هایی که گوگل «به‌طور دائم تعطیل» یا «به‌طور موقت تعطیل» علامت زده حذف شوند. تشخیص از روی برچسب متنی گوگل است؛ فقط با «زبان نتایج» = انگلیسی (en) کار می‌کند، با زبان‌های دیگر (از جمله فارسی) این فیلتر عملاً هیچ مکانی را حذف نمی‌کند.
customGeolocationNoمحدوده‌ی جست‌وجو به شکل GeoJSON، به‌جای «محل جست‌وجو»: یک Point با radiusKm، مثل {"type": "Point", "coordinates": [51.389, 35.689], "radiusKm": 5}، یا Polygon/MultiPolygon. چندضلعی به مرکز و شعاع کادر محیطی‌اش تبدیل می‌شود، چون جست‌وجوی گوگل محدوده‌ی دایره‌ای می‌گیرد. برای این محدوده درخواست مکان‌یابی زده نمی‌شود.
includeWebResultsNoبخش «Web results» پایین صفحه‌ی مکان (عنوان و لینک) در webResults برگردد.
placeMinimumStarsNoفقط مکان‌هایی با امتیاز مساوی یا بالاتر از این مقدار. مکان‌های بدون امتیاز هم حذف می‌شوند. خالی یعنی بدون حداقل.
scrapeOrderOnlineNoسرویس‌های ارسال و بیرون‌بر متصل به مکان (مثل اسنپ‌فود یا Uber Eats) در bookingLinks برگردد.
searchStringsArrayNoهمان چیزی که در کادر جست‌وجوی گوگل‌مپس می‌نویسید، هر عبارت در یک خط، مثل «رستوران» یا «کافه». حداکثر 10 عبارت در هر اجرا؛ هر عبارت جداگانه در «محل جست‌وجو» جست‌وجو می‌شود و برای هر مکان یک ردیف برمی‌گردد. یا به‌جای جست‌وجو، «آدرس‌های گوگل‌مپس» یا «شناسه‌های مکان» را در تنظیمات پیشرفته بدهید.
categoryFilterWordsNoفقط مکان‌هایی که دست‌کم یکی از این دسته‌بندی‌ها را دارند، هر دسته در یک خط و همان‌طور که گوگل نشان می‌دهد، مثل «Restaurant» یا «کافه». بسیاری از کسب‌وکارها دسته‌بندی خود را درست ثبت نکرده‌اند، پس این فیلتر ممکن است نتایج درست را هم حذف کند. خالی یعنی همه.
reviewsFilterStringNoفقط نظرهایی که این عبارت در متنشان هست، مثل «delivery» یا «قیمت». خالی یعنی همه. این هم فقط روی همان حدود ۵ نظر درون‌خطی اعمال می‌شود، نه کل نظرهای مکان روی گوگل.
scrapePlaceDetailPageNoبرای هر مکان یک درخواست اضافه می‌زند و توزیع امتیازها، ساعات کاری کامل، امکانات، پلاس‌کد و توضیح گوگل را می‌آورد. بدون آن فقط فهرست نتایج (نام، دسته، نشانی، تلفن، سایت، مختصات، امتیاز) برمی‌گردد. اگر تعداد نظر، تصویر یا پرسش‌وپاسخ بدهید، خودکار روشن می‌شود.
maxCrawledPlacesPerSearchNoسقف تعداد مکان‌هایی که برای هر عبارت برمی‌گردد. گوگل 20 مکان در هر صفحه می‌دهد و به ازای هر 20 مکان یک صفحه‌ی نتایج باز می‌شود؛ هر چه بیشتر، صفحات بیشتری باز و کردیت بیشتری کسر می‌شود. مجموع همه‌ی عبارت‌ها حداکثر 200 مکان در هر اجرا. این سقف اکتور نیست: گوگل خودش برای یک عبارت روی یک ویوپورت را — صرف‌نظر از این عدد — جایی بین ۱۶۱ تا ۲۰۰ مکان متوقف می‌کند و صفحه‌ی بعدی را نمی‌دهد. اکتور به‌صورت پیش‌فرض محدوده را خودکار به بخش‌های کوچک‌تر نمی‌شکند؛ برای پوشش یک دسته‌ی پرتراکم در یک شهر بزرگ (که می‌تواند هزاران نتیجه داشته باشد) یا خودتان چند اجرا با «محدوده‌ی دلخواه» روی نواحی کوچک‌تر بزنید، یا در تنظیمات پیشرفته «شکافتن خودکار محدوده» را روشن کنید.
scrapeReviewsPersonalDataNoنام، شناسه، آدرس پروفایل و عکس نویسنده‌ی نظر (فیلدهای name، reviewerId، reviewerUrl و reviewerPhotoUrl) برگردد. شناسه‌ی خود نظر (reviewId) مستقل از این گزینه همیشه برمی‌گردد. ⚠️ داده‌ی شخصی است؛ مسئولیت استفاده و انطباق با قوانین حفاظت از داده با شماست.
scrapeTableReservationProviderNoبرای رستوران‌هایی که دکمه‌ی رزرو دارند، نام و لینک سرویس رزرو در tableReservationLinks برگردد.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It usefully discloses the cost model (base 30 credits plus per-proxy-tier page pricing: datacenter 1, residential 15, unblocker 25, +5 with JavaScript) and that one row is returned per place. However, it omits whether the operation is read-only/side-effect free, any auth or quota expectations, and pagination behavior, which matters for a 31-parameter scraping actor.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, followed by output fields, compatibility note, cost model, and a schema pointer. Every sentence is relevant, though the pricing tier list is dense and the definitions could be marginally tighter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description compensates by enumerating the returned fields and the one-row-per-place contract. Combined with the 100%-covered input schema and the list_actors pointer, an agent has enough to invoke it, though no explicit return-shape/pagination detail is given.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 31 parameters in depth. The description only gestures at 'search query and location bounds' and does not add syntax or semantics beyond the schema. Baseline 3 is appropriate when structured fields do the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('get a list of businesses from Google Maps') from a given query plus location bounds, and enumerates the returned fields (name, category, address, phone, website, coordinates, rating/review count, hours, amenities, reviews, images). The 'google-maps-scraper' name plus the compass/crawler-google-places compatibility note lets an agent place it relative to siblings like actor_google-search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage by saying 'give a search query and location bounds' and points the agent to list_actors for the full input schema, but it never says when to prefer this over sibling actors (e.g. actor_google-search) or when it is inappropriate. Usage is inferable but no alternatives or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.