{"name":"net.barchin/mcp","slug":"barchin-mcp","title":null,"description":"Web scraping and Iranian-web data tools for AI agents: JS rendering, proxies, Markdown output.","url":"https://mcp.market/server/barchin-mcp","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":20,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-06T08:11:58.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T06:40:47.333Z","last_ok_at":"2026-11-04T06:40:47.333Z","latency_ms":172},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/barchin-net/barchin-mcp","website":null,"version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://barchin.net/mcp","headers":[{"description":"Bearer <Barchin API key from https://barchin.net/dashboard/api-keys>","isRequired":true,"isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"actor_codal-scraper","description":"Barchin actor 'codal-scraper' (finance). اطلاعیه‌های ناشران بورسی را از کدال بگیرید: شماره‌ی پیگیری، نماد، نام شرکت، کد و عنوان اطلاعیه، زمان انتشار و ارسال (هم میلادی هم شمسی)، پایان دوره، حسابرسی‌شده و تلفیقی بودن، و پیوست‌های PDF و Excel. با parseTables جدول‌های خود گزارش هم استخراج می‌شوند. ⚠️ حسابرسی‌شده، تلفیقی و پایان دوره فقط در عن… Base fee 8 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"symbols":{"title":"نمادها","type":"array","items":{"type":"string"},"editor":"stringList","prefill":["فولاد"],"description":"نماد بورسی، دقیقاً همان‌طور که در کدال نوشته می‌شود؛ مثل «فولاد» یا «خودرو». برای هر نماد یک جست‌وجوی جدا انجام می‌شود؛ حداکثر 20 نماد. اگر نماد را نمی‌دانید، به‌جای آن «نام شرکت‌ها» را در بخش فیلترها بدهید. چند نماد با هم داده شود، سهم هر کدام از «حداکثر تعداد ردیف» مساوی محاسبه می‌شود؛ اگر نمادی هیچ اطلاعیه‌ای نداشته باشد در ستون unresolvedInputs مشخص می‌شود."},"letterCodes":{"title":"کد نوع اطلاعیه","type":"array","items":{"type":"string"},"editor":"stringList","description":"فقط اطلاعیه‌های یک نوع؛ مثل «ن-۱۰» برای صورت‌های مالی یا «ن-۳۰» برای گزارش فعالیت ماهانه. خالی یعنی همه‌ی انواع. حداکثر 20 کد؛ برای هر کد یک جست‌وجوی جدا انجام می‌شود. برای اطلاعیه‌های صندوق (پورتفوی، تصمیمات مجمع) خودِ کدال letterCode را در پاسخش پر نمی‌کند؛ در آن موارد این فیلتر اثر ندارد."},"maxItems":{"title":"حداکثر تعداد ردیف","type":"integer","default":20,"minimum":1,"maximum":1000,"description":"سقف ردیف‌های خروجی این اجرا. هر چه بیشتر، صفحات بیشتری باز و کردیت بیشتری کسر می‌شود؛ برآورد هزینه را زیر فرم ببینید. حداکثر 1000."},"companyNames":{"sectionCaption":"فیلترها","title":"نام شرکت‌ها","type":"array","items":{"type":"string"},"editor":"stringList","description":"به‌جای نماد، نام کامل و دقیق شرکت را همان‌طور که در ثبت کدال آمده بدهید؛ مثل «فولاد مبارکه اصفهان». این نام در فهرست رسمی شرکت‌های کدال جست‌وجو و به نماد تبدیل می‌شود، دقیقاً همان فهرستی که کادر «نام» در سایت کدال از آن استفاده می‌کند — پس باید عیناً یکی باشد، نه بخشی از نام. فقط وقتی به کار می‌رود که «نمادها» خالی باشد. حداکثر 20 نام؛ نامی که در آن فهرست پیدا نشود در ستون unresolvedInputs مشخص می‌شود، نه این‌که بی‌صدا صفر نتیجه بدهد."},"query":{"title":"جست‌وجو در عنوان","type":"string","editor":"textfield","description":"عبارتی که باید در عنوان اطلاعیه باشد؛ مثل «افزایش سرمایه». خالی یعنی بدون فیلتر عنوان. ⚠️ این فیلتر روی سرور کدال اثر ندارد (پارامتر Search خودِ کدال نادیده گرفته می‌شود)؛ به‌جایش این اکتور عنوان هر اطلاعیه‌ی واکشی‌شده را خودش بررسی می‌کند و برای جبران ردیف‌های حذف‌شده صفحه‌ی بیشتری هم می‌خواند — در سقف بودجه‌ی همان اجرا."},"dateFrom":{"title":"از تاریخ","type":"string","editor":"textfield","description":"فقط اطلاعیه‌های منتشرشده از این تاریخ. شمسی (۱۴۰۴/۰۷/۰۱) یا میلادی (2025-09-23)؛ خودکار تشخیص داده می‌شود."},"dateTo":{"title":"تا تاریخ","type":"string","editor":"textfield","description":"فقط اطلاعیه‌های منتشرشده تا این تاریخ. شمسی یا میلادی، مثل ۱۴۰۵/۰۷/۰۴."},"attachments":{"sectionCaption":"جزئیات خروجی","title":"پیوست‌ها","type":"string","editor":"select","enum":["none","urls","download"],"default":"urls","enumTitles":["بدون پیوست","فقط آدرس فایل","دانلود فایل"],"description":"آدرس فایل‌های PDF و Excel هر اطلاعیه در ستون attachments می‌آید. برای اطلاعیه‌های «فقط-پیوست» (پورتفوی، تصمیمات مجمع) که کدال فقط لینک صفحه‌ی واسط Attachment.aspx را می‌دهد، «دانلود فایل» آن صفحه را هم باز می‌کند و لینک واقعی هر فایل پشت دکمه‌ی جاوااسکریپتی‌اش (و نام فایل) را برمی‌گرداند — با هزینه‌ی یک درخواست اضافه به‌ازای هر ردیفی که این نوع پیوست را دارد. ⚠️ هنوز فایل در استوریج برچین کپی نمی‌شود، فقط لینک واقعی‌تر می‌شود؛ storageKey همیشه null است. بدون این گزینه («فقط آدرس فایل»، پیش‌فرض)، این نوع پیوست فقط لینک همان صفحه‌ی واسط را می‌دهد، بدون هزینه‌ی اضافه."},"parseTables":{"title":"استخراج جدول‌های اطلاعیه","type":"boolean","default":false,"description":"صفحه‌ی هر اطلاعیه را هم باز می‌کند و جدول‌های آن را در ستون tables می‌آورد — برای هر ردیف یک صفحه‌ی اضافه با هزینه‌ی کف پروکسی مسکونی (حدود ۱۵ کردیت). برای گزارش‌هایی که کدال با HTML رندر می‌کند جدول‌ها مستقیم خوانده می‌شوند؛ برای گزارش‌هایی مثل ن-۳۰ که در مرورگر از یک payload جاوااسکریپتی ساخته می‌شوند همان payload پردازش می‌شود. برای صورت‌های مالی حسابرسی‌شده (ن-۱۰) فقط متن نظر حسابرس جدول شمرده می‌شود؛ ارقام صورت‌های مالی در پیوست Excel هستند که این اکتور دانلود نمی‌کند. با همین صفحه، isAudited و isConsolidated هم — وقتی خودِ گزارش آن‌ها را صریح اعلام کرده باشد — به‌جای حدس از روی عنوان، از همین payload خوانده می‌شوند."},"includeIndustryGroup":{"title":"گروه صنعت ناشر","type":"boolean","default":false,"description":"ستون industryGroup را از کد صنعت ثبت‌شده‌ی هر ناشر در فهرست رسمی شرکت‌های کدال پر می‌کند (مثل «فلزات اساسی» برای فولاد) — با هزینه‌ی یک فچ یک‌باره‌ی همان فهرست در کل اجرا (نه به‌ازای ردیف)؛ اگر «نام شرکت‌ها» هم داده باشد، همان یک فچ برای هر دو کار استفاده می‌شود، نه دوبار. ⚠️ کدال خودش هیچ فیلد «بازار» (بورس/فرابورس/پایه) در این فهرست ندارد؛ برای آن از «tsetmc-scraper» استفاده کنید."}},"required":[],"title":"Codal Scraper","description":"اطلاعیه‌های ناشران بورسی از سامانه‌ی کدال، با فیلتر نماد، نوع اطلاعیه و تاریخ.","schemaVersion":1}},{"name":"actor_digikala-scraper","description":"Barchin actor 'digikala-scraper' (ecommerce). عبارت جست‌وجو، دسته‌بندی یا آدرس محصول را بدهید تا محصولات دیجی‌کالا را بگیرید: قیمت و تخفیف (به ریال)، موجودی، امتیاز، برند، مسیر دسته‌بندی، مشخصات فنی، رنگ‌ها و تصاویر. با گزینه‌های جداگانه فروشندگان، نظرها و پرسش‌وپاسخ هم به‌صورت ردیف‌های مستقل برمی‌گردند. نام نویسنده‌ی نظر و پرسش ذخیره نمی‌شود. Base fee 8 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"title":"عبارت جست‌وجو","type":"string","editor":"textfield","prefill":"لپ تاپ","description":"همان عبارتی که در جست‌وجوی دیجی‌کالا تایپ می‌کنید، مثل «لپ تاپ» یا «گوشی سامسونگ». به‌جای آن می‌توانید «اسلاگ دسته‌بندی» یا «آدرس محصول یا دسته‌بندی» را بدهید؛ یکی از این سه کافی است."},"categorySlug":{"title":"اسلاگ دسته‌بندی","type":"string","editor":"textfield","description":"بخشی از آدرس صفحه‌ی دسته‌بندی که پس از category- می‌آید، مثل mobile-phone یا notebook-netbook-ultrabook. اسلاگ‌های قدیمی/کلی («laptop» یکی از آن‌ها بود) دیگر با دسته‌ی واقعی محصول‌ها یکی نیستند؛ چنین نتایجی همین‌جا حذف می‌شوند تا محصول نامرتبط برنگردد. با عبارت جست‌وجو هم ترکیب می‌شود تا فقط در همان دسته جست‌وجو کند."},"startUrls":{"title":"آدرس محصول یا دسته‌بندی","type":"array","items":{"type":"object","properties":{"url":{"type":"string"}}},"editor":"requestListSources","description":"آدرس صفحه‌ی محصول (…/product/dkp-12345/) یا صفحه‌ی دسته‌بندی؛ حداکثر 30 آدرس. هر آدرس محصول یک درخواست باز می‌کند. یا به‌جای آدرس، «عبارت جست‌وجو» یا «اسلاگ دسته‌بندی» را بدهید."},"maxItems":{"title":"حداکثر تعداد ردیف","type":"integer","default":20,"minimum":1,"maximum":1000,"description":"سقف ردیف‌های خروجی این اجرا. هر چه بیشتر، صفحات بیشتری باز و کردیت بیشتری کسر می‌شود؛ برآورد هزینه را زیر فرم ببینید. حداکثر 1000."},"sort":{"sectionCaption":"فیلترها","title":"ترتیب نتایج","type":"string","editor":"select","enum":["relevance","newest","bestselling","price_asc","price_desc","most_viewed"],"default":"relevance","enumTitles":["مرتبط‌ترین","جدیدترین","پرفروش‌ترین","ارزان‌ترین","گران‌ترین","پربازدیدترین"],"description":"ترتیب نتایج جست‌وجو، مثل «ارزان‌ترین». وقتی سقف ردیف کمتر از کل نتایج باشد، همین ترتیب تعیین می‌کند کدام محصول‌ها برگردند."},"onlyAvailable":{"title":"فقط کالاهای موجود","type":"boolean","default":false,"description":"اگر روشن باشد، فقط محصول‌هایی که الان فروشنده‌ی فعال دارند (قابل خرید) برمی‌گردند."},"maxProducts":{"title":"حداکثر تعداد محصول","type":"integer","default":20,"minimum":1,"maximum":1000,"description":"سقف مجزای تعداد محصول، جدا از «حداکثر تعداد ردیف». وقتی خالی بماند، تعداد محصول همان «حداکثر تعداد ردیف» است — رفتار قبلی. پرشدنش برای وقتی است که چند محصول با نظرهای زیاد می‌خواهید: بدون آن، مثلاً ۱۰ محصول×نظرهای زیاد به‌جای هزینه‌ی همان چند محصول، هزار‌ها ردیفِ «حداکثر تعداد ردیف» رزرو می‌کند."},"startPage":{"title":"شروع از صفحه‌ی جست‌وجوی شماره","type":"integer","default":1,"minimum":1,"maximum":100000,"description":"صفحه‌ی جست‌وجویی که این اجرا از آن شروع می‌کند (نه صفحه‌ی اول همیشه). برای دسته‌های چندهزارتایی که یک اجرا کل آن را نمی‌گیرد؛ اجرای بعدی را با شماره‌ی صفحه‌ی بعد از آخرین صفحه‌ای که گرفتید ادامه دهید."},"includeSpecs":{"sectionCaption":"جزئیات خروجی","title":"شامل مشخصات فنی","type":"boolean","default":true,"description":"جدول مشخصات فنی هر محصول را در فیلد specs می‌گذارد. درخواست اضافه‌ای ندارد؛ خاموش کردنش فقط خروجی را کوچک‌تر می‌کند."},"includeSellers":{"title":"شامل فهرست فروشندگان","type":"boolean","default":false,"description":"همه‌ی فروشندگان هر محصول را با قیمت، گارانتی و امتیازشان در فیلد sellers می‌گذارد. بدون آن فقط فروشنده‌ی پیش‌فرض (defaultSeller) برمی‌گردد. درخواست اضافه‌ای ندارد."},"includeReviews":{"title":"شامل نظرها","type":"boolean","default":false,"description":"نظرهای هر محصول را به‌صورت ردیف‌های جداگانه با itemType=review برمی‌گرداند (هر ۲۰ نظر یک صفحه‌ی اضافه). نام نویسنده ذخیره نمی‌شود."},"maxReviewsPerProduct":{"title":"تعداد نظر برای هر محصول","type":"integer","default":50,"minimum":1,"maximum":500,"description":"سقف نظرهایی که برای هر محصول گرفته می‌شود، مثل ۵۰. فقط با «شامل نظرها» اثر دارد؛ سقف کل ردیف‌ها همچنان «حداکثر تعداد ردیف» است."},"includeQuestions":{"title":"شامل پرسش‌وپاسخ","type":"boolean","default":false,"description":"پرسش‌های خریداران و پاسخ‌هایشان را با itemType=question برمی‌گرداند؛ حداکثر 50 پرسش برای هر محصول (هر ۲۰ پرسش یک صفحه‌ی اضافه). نام پرسشگر ذخیره نمی‌شود."},"sinceDate":{"sectionCaption":"اجرای افزایشی","title":"از این تاریخ به بعد (نظرها/پرسش‌ها)","type":"string","editor":"textfield","description":"شمسی (۱۴۰۴/۰۷/۰۱) یا میلادی (2025-09-23)؛ خودکار تشخیص داده می‌شود. فقط روی «شامل نظرها»/«شامل پرسش‌وپاسخ» اثر دارد: صفحه‌بندی هر محصول را همان‌جا متوقف می‌کند که به نظر/پرسشی قدیمی‌تر از این تاریخ برسد، به‌جای خواندن دوباره‌ی کل تاریخچه در هر اجرای دوره‌ای. دیجی‌کالا چنین پارامتری در API‌اش ندارد؛ این توقف محلی و سمت اکتور است. چون createdAt دیجی‌کالا فقط دقت روز دارد، یک صفحه‌ی اضافه هم می‌خواند تا نظر/پرسش هم‌روز با مرز جا نماند؛ با «afterId» همزمان نمی‌آید."},"afterId":{"sectionCaption":"اجرای افزایشی","title":"بعد از این شناسه (نظرها/پرسش‌ها)","type":"integer","minimum":1,"maximum":1000000000000,"description":"شناسه‌ی آخرین نظر/پرسشی که از اجرای قبلی دارید؛ صفحه‌بندی را دقیقاً همان‌جا متوقف می‌کند — چون شناسه دنباله‌ی پایگاه‌داده است نه مقداری گرد‌شده مثل تاریخ، نیازی به حاشیه‌ی اطمینان ندارد. اگر «شامل نظرها» و «شامل پرسش‌وپاسخ» را با هم روشن کنید، همین یک عدد برای هر دو جریان (که شناسه‌هاشان مستقل‌اند) به کار می‌رود؛ برای دقت کامل هر جریان را در اجرای جدا بدهید. با «sinceDate» همزمان نمی‌آید."}},"required":[],"title":"Digikala Scraper","description":"محصولات دیجی‌کالا را با عبارت جست‌وجو، دسته‌بندی یا آدرس محصول بگیرید: قیمت، تخفیف، موجودی، امتیاز، فروشندگان، مشخصات فنی، نظرها و پرسش‌ها.","schemaVersion":1}},{"name":"actor_divar-scraper","description":"Barchin actor 'divar-scraper' (classifieds). شهر، دسته‌بندی یا عبارت جست‌وجو را بدهید تا آگهی‌های دیوار را بگیرید: عنوان، توضیحات، قیمت و ودیعه و اجاره، ویژگی‌ها (متراژ، سال ساخت، کارکرد و …)، تصاویر و موقعیت تقریبی. برای هر آگهی یک ردیف برمی‌گردد. شماره تلفن استخراج نمی‌شود، چون دیوار آن را پشت دکمه‌ی «نمایش شماره» نگه می‌دارد. Base fee 13 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"title":"عبارت جست‌وجو","type":"string","editor":"textfield","description":"همان چیزی که در کادر جست‌وجوی دیوار می‌نویسید، مثل «پراید» یا «آپارتمان ۸۵ متری». خالی بگذارید تا همه‌ی آگهی‌های شهر و دسته‌بندی برگردد؛ یا به‌جای آن آدرس آگهی یا صفحه‌ی دیوار را در «startUrls» بدهید.","prefill":"پراید"},"cities":{"title":"شهرها","type":"array","items":{"type":"string"},"editor":"stringList","description":"اسلاگ شهر از آدرس دیوار: برای divar.ir/s/mashhad بنویسید mashhad. چند شهر با هم مجاز است. خالی یعنی تهران.","prefill":["tehran"]},"category":{"title":"دسته‌بندی","type":"string","editor":"textfield","description":"اسلاگ دسته‌بندی از آدرس دیوار، مثل real-estate، cars یا mobile-phones در divar.ir/s/tehran/mobile-phones. خالی یعنی همه‌ی دسته‌ها."},"maxItems":{"title":"حداکثر تعداد ردیف","type":"integer","default":20,"minimum":1,"maximum":1000,"description":"سقف ردیف‌های خروجی این اجرا. هر چه بیشتر، صفحات بیشتری باز و کردیت بیشتری کسر می‌شود؛ برآورد هزینه را زیر فرم ببینید. حداکثر 1000."},"priceMin":{"sectionCaption":"فیلترها","title":"حداقل قیمت (تومان)","type":"integer","minimum":0,"maximum":1000000000000000,"description":"آگهی‌های ارزان‌تر از این قیمت حذف می‌شوند. به تومان، مثل 300000000 برای ۳۰۰ میلیون."},"priceMax":{"title":"حداکثر قیمت (تومان)","type":"integer","minimum":0,"maximum":1000000000000000,"description":"آگهی‌های گران‌تر از این قیمت حذف می‌شوند. به تومان، مثل 500000000 برای ۵۰۰ میلیون."},"postedAfter":{"title":"از این تاریخ به بعد","type":"string","editor":"textfield","description":"شمسی (۱۴۰۴/۰۷/۰۱) یا میلادی (2025-09-23)؛ خودکار تشخیص داده می‌شود. برای اجراهای دوره‌ای: به‌جای خواندن دوباره‌ی همه‌چیز، وقتی به آگهی‌های قدیمی‌تر از این تاریخ برسد صفحه‌بندی جست‌وجو را متوقف می‌کند. چون ترتیب نتایج دیوار هیچ‌جا «تازه‌ترین اول» تضمین نشده، کمی جلوتر هم می‌خواند تا آگهی تازه‌ای جا نماند؛ آگهی‌های قدیمی‌تر در خروجی نمی‌آیند. فقط روی آگهی‌های کشف‌شده از جست‌وجو اعمال می‌شود، نه آدرس‌های مشخص در «startUrls»."},"filters":{"title":"فیلترهای دسته‌ای","type":"object","editor":"json","description":"فیلترهای خاص هر دسته که عیناً به API دیوار پاس داده می‌شوند؛ برای کاربران حرفه‌ای. مثال: ‏{\"brand_model\": {\"repeated_string\": {\"value\": [\"Pride\"]}}}"},"includeDetails":{"sectionCaption":"جزئیات خروجی","title":"استخراج صفحه‌ی آگهی","type":"boolean","default":true,"description":"روشن: برای هر آگهی یک صفحه‌ی اضافه باز می‌شود و توضیحات، ویژگی‌ها، تصاویر و موقعیت می‌آید. خاموش: فقط شناسه و عنوان برمی‌گردد و اجرا به اندازه‌ی همان صفحات ارزان‌تر می‌شود."},"includeImages":{"title":"شامل تصاویر","type":"boolean","default":true,"description":"خاموش کنید تا فیلد images خالی برگردد؛ صفحه‌ای کمتر باز نمی‌شود، فقط خروجی کوچک‌تر می‌شود."},"includePhones":{"title":"استخراج شماره تماس — نیازمند اتصال حساب دیوار","type":"boolean","default":false,"description":"روشن کنید تا شماره‌ی تماس هر آگهی با حساب دیوارِ خودتان استخراج شود (برای هر آگهی یک صفحه‌ی اضافه). اول باید حساب دیوار خود را از بخش «اتصال حساب‌ها» در داشبورد وصل کنید؛ بدون اتصال فعال، اجرا با خطای connection_required رد می‌شود. سقف هر اجرا ۲۰۰ شماره است و خودِ دیوار هم سقف روزانه دارد — وقتی به آن برسید، بقیه‌ی ردیف‌ها با phoneStatus برابر limit_reached برمی‌گردند و اجرا شکست نمی‌خورد."},"startUrls":{"sectionCaption":"تنظیمات پیشرفته","title":"آدرس‌های دیوار","type":"array","items":{"type":"object","properties":{"url":{"type":"string"}}},"editor":"requestListSources","description":"به‌جای عبارت جست‌وجو و شهر: آدرس یک آگهی (divar.ir/v/…) که همان آگهی را برمی‌گرداند، یا آدرس صفحه‌ی جست‌وجو/دسته‌بندی (divar.ir/s/mashhad/cars) که شهرش به «cities» اضافه می‌شود. حداکثر 20 آدرس."}},"required":[],"title":"Divar Scraper","description":"آگهی‌های دیوار را با شهر، دسته‌بندی یا عبارت جست‌وجو بگیرید: عنوان، توضیحات، قیمت، ودیعه و اجاره، ویژگی‌ها، تصاویر و موقعیت تقریبی.","schemaVersion":1}},{"name":"actor_google-maps-scraper","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"searchStringsArray":{"title":"عبارت‌های جست‌وجو","type":"array","items":{"type":"string"},"description":"همان چیزی که در کادر جست‌وجوی گوگل‌مپس می‌نویسید، هر عبارت در یک خط، مثل «رستوران» یا «کافه». حداکثر 10 عبارت در هر اجرا؛ هر عبارت جداگانه در «محل جست‌وجو» جست‌وجو می‌شود و برای هر مکان یک ردیف برمی‌گردد. یا به‌جای جست‌وجو، «آدرس‌های گوگل‌مپس» یا «شناسه‌های مکان» را در تنظیمات پیشرفته بدهید.","editor":"stringList","prefill":["رستوران"]},"locationQuery":{"title":"محل جست‌وجو","type":"string","description":"محدوده‌ی جست‌وجو به‌صورت متن آزاد، مثل «تهران، ایران» یا «Berlin, Germany». هرچه ساده‌تر، بهتر: نام شهر و کشور کافی است. خالی یعنی جست‌وجو در کل جهان. اگر این پر شود، فیلدهای کشور/استان/شهر/کد پستی در تنظیمات پیشرفته نادیده گرفته می‌شوند. برای پیدا کردن محل یک درخواست زده می‌شود.","editor":"textfield","prefill":"تهران، ایران"},"maxCrawledPlacesPerSearch":{"title":"حداکثر تعداد مکان برای هر عبارت","type":"integer","description":"سقف تعداد مکان‌هایی که برای هر عبارت برمی‌گردد. گوگل 20 مکان در هر صفحه می‌دهد و به ازای هر 20 مکان یک صفحه‌ی نتایج باز می‌شود؛ هر چه بیشتر، صفحات بیشتری باز و کردیت بیشتری کسر می‌شود. مجموع همه‌ی عبارت‌ها حداکثر 200 مکان در هر اجرا. این سقف اکتور نیست: گوگل خودش برای یک عبارت روی یک ویوپورت را — صرف‌نظر از این عدد — جایی بین ۱۶۱ تا ۲۰۰ مکان متوقف می‌کند و صفحه‌ی بعدی را نمی‌دهد. اکتور به‌صورت پیش‌فرض محدوده را خودکار به بخش‌های کوچک‌تر نمی‌شکند؛ برای پوشش یک دسته‌ی پرتراکم در یک شهر بزرگ (که می‌تواند هزاران نتیجه داشته باشد) یا خودتان چند اجرا با «محدوده‌ی دلخواه» روی نواحی کوچک‌تر بزنید، یا در تنظیمات پیشرفته «شکافتن خودکار محدوده» را روشن کنید.","default":20,"minimum":1,"maximum":200,"prefill":20},"language":{"title":"زبان نتایج","type":"string","description":"زبانی که گوگل نام، دسته‌بندی، نشانی و نظرها را به آن برمی‌گرداند، مثل فارسی (fa) یا انگلیسی (en). فیلدهای «تعطیل دائم/موقت» فقط با انگلیسی (en) قابل‌اعتمادند: تشخیص از روی برچسب متنی گوگل است و با زبان‌های دیگر (از جمله فارسی) عملاً همیشه false می‌ماند.","editor":"select","enum":["en","af","az","id","ms","bs","ca","cs","da","de","et","es","es-419","eu","fil","fr","gl","hr","zu","is","it","sw","lv","lt","hu","nl","no","uz","pl","pt-BR","pt-PT","ro","sq","sk","sl","fi","sv","vi","tr","el","bg","ky","kk","mk","mn","ru","sr","uk","ka","hy","iw","ur","ar","fa","am","ne","hi","mr","bn","pa","gu","ta","te","kn","ml","si","th","lo","my","km","ko","ja","zh-CN","zh-TW"],"enumTitles":["انگلیسی (en)","آفریکانس (af)","آذربایجانی (az)","اندونزیایی (id)","مالایی (ms)","بوسنیایی (bs)","کاتالان (ca)","چکی (cs)","دانمارکی (da)","آلمانی (de)","استونیایی (et)","اسپانیایی (es)","اسپانیایی (آمریکای لاتین) (es-419)","باسکی (eu)","فیلیپینی (fil)","فرانسوی (fr)","گالیسیایی (gl)","کرواتی (hr)","زولو (zu)","آیسلندی (is)","ایتالیایی (it)","سواحیلی (sw)","لتونیایی (lv)","لیتوانیایی (lt)","مجاری (hu)","هلندی (nl)","نروژی (no)","ازبکی (uz)","لهستانی (pl)","پرتغالی (برزیل) (pt-BR)","پرتغالی (پرتغال) (pt-PT)","رومانیایی (ro)","آلبانیایی (sq)","اسلواکی (sk)","اسلوونیایی (sl)","فنلاندی (fi)","سوئدی (sv)","ویتنامی (vi)","ترکی استانبولی (tr)","یونانی (el)","بلغاری (bg)","قرقیزی (ky)","قزاقی (kk)","مقدونی (mk)","مغولی (mn)","روسی (ru)","صربی (sr)","اوکراینی (uk)","گرجی (ka)","ارمنی (hy)","عبری (iw)","اردو (ur)","عربی (ar)","فارسی (fa)","امهری (am)","نپالی (ne)","هندی (hi)","مراتی (mr)","بنگالی (bn)","پنجابی (pa)","گجراتی (gu)","تامیلی (ta)","تلوگو (te)","کانارا (kn)","مالایالام (ml)","سینهالی (si)","تایلندی (th)","لائوسی (lo)","برمه‌ای (my)","خمری (km)","کره‌ای (ko)","ژاپنی (ja)","چینی (ساده‌شده) (zh-CN)","چینی (سنتی) (zh-TW)"],"default":"en","prefill":"fa"},"categoryFilterWords":{"sectionCaption":"فیلترها","title":"فیلتر دسته‌بندی","type":"array","items":{"type":"string"},"description":"فقط مکان‌هایی که دست‌کم یکی از این دسته‌بندی‌ها را دارند، هر دسته در یک خط و همان‌طور که گوگل نشان می‌دهد، مثل «Restaurant» یا «کافه». بسیاری از کسب‌وکارها دسته‌بندی خود را درست ثبت نکرده‌اند، پس این فیلتر ممکن است نتایج درست را هم حذف کند. خالی یعنی همه.","editor":"stringList"},"searchMatching":{"title":"سخت‌گیری در تطبیق نام","type":"string","description":"نام مکان چقدر باید با عبارت جست‌وجو بخواند. پیش‌فرض همه‌ی نتایج گوگل؛ دو گزینه‌ی دیگر برای وقتی است که نام یک برند مشخص را جست‌وجو می‌کنید و مکان‌های مشابه را نمی‌خواهید.","editor":"select","enum":["all","only_includes","only_exact"],"enumTitles":["همه‌ی نتایج گوگل","فقط مکان‌هایی که عبارت در نامشان هست","فقط مکان‌هایی که نامشان دقیقاً همان عبارت است"],"default":"all"},"placeMinimumStars":{"title":"حداقل امتیاز","type":"string","description":"فقط مکان‌هایی با امتیاز مساوی یا بالاتر از این مقدار. مکان‌های بدون امتیاز هم حذف می‌شوند. خالی یعنی بدون حداقل.","editor":"select","enum":["","two","twoAndHalf","three","threeAndHalf","four","fourAndHalf"],"enumTitles":["بدون حداقل","۲ ستاره و بالاتر","۲٫۵ ستاره و بالاتر","۳ ستاره و بالاتر","۳٫۵ ستاره و بالاتر","۴ ستاره و بالاتر","۴٫۵ ستاره و بالاتر"],"default":""},"website":{"title":"فیلتر وب‌سایت","type":"string","description":"فقط مکان‌های دارای وب‌سایت، یا فقط مکان‌های بدون وب‌سایت برگردند. پیش‌فرض همه.","editor":"select","enum":["allPlaces","withWebsite","withoutWebsite"],"enumTitles":["همه‌ی مکان‌ها","فقط دارای وب‌سایت","فقط بدون وب‌سایت"],"default":"allPlaces"},"skipClosedPlaces":{"title":"رد کردن مکان‌های تعطیل","type":"boolean","description":"مکان‌هایی که گوگل «به‌طور دائم تعطیل» یا «به‌طور موقت تعطیل» علامت زده حذف شوند. تشخیص از روی برچسب متنی گوگل است؛ فقط با «زبان نتایج» = انگلیسی (en) کار می‌کند، با زبان‌های دیگر (از جمله فارسی) این فیلتر عملاً هیچ مکانی را حذف نمی‌کند.","default":false},"scrapePlaceDetailPage":{"sectionCaption":"جزئیات خروجی","title":"استخراج صفحه‌ی جزئیات هر مکان","type":"boolean","description":"برای هر مکان یک درخواست اضافه می‌زند و توزیع امتیازها، ساعات کاری کامل، امکانات، پلاس‌کد و توضیح گوگل را می‌آورد. بدون آن فقط فهرست نتایج (نام، دسته، نشانی، تلفن، سایت، مختصات، امتیاز) برمی‌گردد. اگر تعداد نظر، تصویر یا پرسش‌وپاسخ بدهید، خودکار روشن می‌شود.","default":false},"statusCheckOnly":{"title":"فقط بررسی وضعیت (سبک)","type":"boolean","description":"برای پایش دوره‌ای «شناسه‌های مکان»/«آدرس‌های گوگل‌مپس» از قبل شناخته‌شده: فقط نام، مختصات و وضعیت تعطیلی برمی‌گردد؛ تصویر، نظر، پرسش‌وپاسخ و لینک‌های رزرو/سفارش خاموش می‌شوند (حتی اگر جدا روشن شده باشند) و نیمی از درخواست‌های جزئیات هر مرجع مستقیم (placeId/startUrl) هم حذف می‌شود — آن درخواست دوم فقط برای تعداد/توزیع نظر و امتیاز دقیق‌تر بود که این حالت اصلاً نمی‌خواهد. روی عبارت‌های جست‌وجو اثری ندارد (آن‌ها از ابتدا فقط یک درخواست جزئیات دارند).","default":false},"maxReviews":{"title":"تعداد نظر برای هر مکان","type":"integer","description":"۰ یعنی هیچ نظری. حداکثر 100. نظرها از صفحه‌ی جزئیات خوانده می‌شوند، پس این گزینه صفحه‌ی جزئیات را هم روشن می‌کند. گوگل حدود ۵ نظر را همراه صفحه می‌دهد و عدد بزرگ‌تر بیشتر از آن نمی‌آورد؛ این گزینه سقف است، نه هدف. گوگل گاهی نظرها را نمی‌فرستد و اکتور تا 3 بار دوباره می‌پرسد (در سنجش ما برای ۹ مکان از ۱۰ نظر برگشت)، پس با نظر، هر مکان تا 3 درخواست هزینه دارد. برای نظرهای یک مکان مشخص، اکتور «استخراج نظرهای گوگل‌مپس» را ببینید.","default":0,"minimum":0,"maximum":100},"reviewsSort":{"title":"ترتیب نظرها","type":"string","editor":"select","enum":["newest","mostRelevant","highestRanking","lowestRanking"],"enumTitles":["جدیدترین","مرتبط‌ترین","بیشترین ستاره","کمترین ستاره"],"default":"newest","description":"نظرهای هر مکان با این ترتیب برمی‌گردند و سقف «تعداد نظر» روی همین ترتیب اعمال می‌شود؛ پیش‌فرض جدیدترین. توجه: چون گوگل خودش فقط همان حدود ۵ نظر درون‌خطی صفحه را می‌دهد (رجوع به توضیح «تعداد نظر»)، این گزینه فقط همان چند نظر را دوباره می‌چیند و گوگل را برای نظر تازه یا کم‌ستاره‌ی دیگری کوئری نمی‌زند."},"reviewsStartDate":{"title":"نظرها از این تاریخ به بعد","type":"string","description":"فقط نظرهایی که از این تاریخ به بعد نوشته شده‌اند. تاریخ میلادی مثل 2024-05-03، یا بازه‌ی نسبی به انگلیسی مثل «8 days» یا «3 months». خالی یعنی بدون محدودیت. توجه: این فقط همان حدود ۵ نظر درون‌خطیِ از قبل گرفته‌شده را فیلتر می‌کند؛ اگر هیچ‌کدام از آن‌ها در این بازه نباشند، حتی اگر مکان نظر تازه‌تری هم روی گوگل داشته باشد، نتیجه صفر می‌شود — نه اینکه اکتور نظر تازه‌تری از گوگل بگیرد.","editor":"textfield"},"reviewsFilterString":{"title":"فیلتر متن نظرها","type":"string","description":"فقط نظرهایی که این عبارت در متنشان هست، مثل «delivery» یا «قیمت». خالی یعنی همه. این هم فقط روی همان حدود ۵ نظر درون‌خطی اعمال می‌شود، نه کل نظرهای مکان روی گوگل.","editor":"textarea","default":""},"reviewsOrigin":{"title":"منبع نظرها","type":"string","editor":"select","enum":["all","google"],"enumTitles":["همه‌ی منابع","فقط نظرهای خود گوگل"],"default":"all","description":"گوگل زیر بعضی مکان‌ها (مثل هتل‌ها) نظرهای سایت‌های دیگر را هم نشان می‌دهد؛ «فقط نظرهای خود گوگل» آن‌ها را حذف می‌کند."},"scrapeReviewsPersonalData":{"title":"اطلاعات شخصی نویسنده‌ی نظر","type":"boolean","description":"نام، شناسه، آدرس پروفایل و عکس نویسنده‌ی نظر (فیلدهای name، reviewerId، reviewerUrl و reviewerPhotoUrl) برگردد. شناسه‌ی خود نظر (reviewId) مستقل از این گزینه همیشه برمی‌گردد. ⚠️ داده‌ی شخصی است؛ مسئولیت استفاده و انطباق با قوانین حفاظت از داده با شماست.","default":true},"maxImages":{"title":"تعداد تصویر برای هر مکان","type":"integer","description":"۰ یعنی هیچ. حداکثر 100. آدرس تصاویر (imageUrls) و تاریخ آپلود از صفحه‌ی جزئیات خوانده می‌شوند، پس این گزینه صفحه‌ی جزئیات را روشن می‌کند؛ درخواست جدایی برای تصاویر زده نمی‌شود و خود فایل تصویر دانلود نمی‌شود.","default":0,"minimum":0,"maximum":100},"maxQuestions":{"title":"تعداد پرسش‌وپاسخ برای هر مکان","type":"integer","description":"۰ یعنی هیچ. حداکثر 50. پرسش‌وپاسخ‌های زیر صفحه‌ی مکان از صفحه‌ی جزئیات خوانده می‌شوند و آن را روشن می‌کنند.","default":0,"minimum":0,"maximum":50},"scrapeTableReservationProvider":{"title":"لینک‌های رزرو میز","type":"boolean","description":"برای رستوران‌هایی که دکمه‌ی رزرو دارند، نام و لینک سرویس رزرو در tableReservationLinks برگردد.","default":false},"scrapeOrderOnline":{"title":"لینک‌های سفارش آنلاین","type":"boolean","description":"سرویس‌های ارسال و بیرون‌بر متصل به مکان (مثل اسنپ‌فود یا Uber Eats) در bookingLinks برگردد.","default":false},"includeWebResults":{"title":"نتایج وب","type":"boolean","description":"بخش «Web results» پایین صفحه‌ی مکان (عنوان و لینک) در webResults برگردد.","default":false},"countryCode":{"sectionCaption":"تنظیمات پیشرفته","title":"کشور","type":"string","description":"کد دوحرفی کشور برای محدود کردن جست‌وجو، مثل ir یا us — به‌جای «محل جست‌وجو» و همراه شهر/استان/کد پستی. اگر «محل جست‌وجو» پر باشد، نادیده گرفته می‌شود.","editor":"textfield"},"city":{"title":"شهر","type":"string","description":"فقط نام شهر، مثل «تهران» یا «Boston»؛ نام استان و کشور را اینجا ننویسید و در فیلد خودشان بدهید. به‌جای «محل جست‌وجو».","editor":"textfield"},"state":{"title":"استان","type":"string","description":"نام استان یا ایالت، مثل «تهران» یا «Massachusetts». به‌جای «محل جست‌وجو».","editor":"textfield"},"county":{"title":"شهرستان","type":"string","description":"نام شهرستان یا ناحیه، مثل «شمیرانات». به‌جای «محل جست‌وجو».","editor":"textfield"},"postalCode":{"title":"کد پستی","type":"string","description":"یک کد پستی، مثل 10001. فقط با «کشور» ترکیب کنید، نه با شهر؛ هر اجرا یک کد. به‌جای «محل جست‌وجو».","editor":"textfield"},"customGeolocation":{"title":"محدوده‌ی دلخواه (GeoJSON)","type":"object","description":"محدوده‌ی جست‌وجو به شکل GeoJSON، به‌جای «محل جست‌وجو»: یک Point با radiusKm، مثل {\"type\": \"Point\", \"coordinates\": [51.389, 35.689], \"radiusKm\": 5}، یا Polygon/MultiPolygon. چندضلعی به مرکز و شعاع کادر محیطی‌اش تبدیل می‌شود، چون جست‌وجوی گوگل محدوده‌ی دایره‌ای می‌گیرد. برای این محدوده درخواست مکان‌یابی زده نمی‌شود.","editor":"json"},"autoGeoSplit":{"title":"شکافتن خودکار محدوده","type":"object","description":"غیرفعال به‌صورت پیش‌فرض و روی هزینه‌ی اجرا اثر مستقیم دارد؛ فقط وقتی لازم است که یک عبارت در «محل جست‌وجو»/«محدوده‌ی دلخواه» می‌تواند بیش از ۱۶۱ تا ۲۰۰ نتیجه داشته باشد — همان سقفی که گوگل برای هر ویوپورت می‌گذارد (توضیح «حداکثر تعداد مکان برای هر عبارت» را ببینید). روشن کردنش با {\"maxTiles\": 9} محدوده را به یک شبکه‌ی ثابت تقسیم می‌کند و هر بخش را جدا جست‌وجو می‌کند؛ تعداد بخش‌ها برابر floor(sqrt(maxTiles))² است، یعنی ۴ تا ۸ یک شبکه‌ی ۲×۲ (۴ بخش) می‌سازد، ۹ یک شبکه‌ی ۳×۳ (۹ بخش)، و 16 — سقف غیرقابل‌عبور این نسخه — یک شبکه‌ی 4×4 (16 بخش). کمتر از 4 هیچ شکافتی نمی‌دهد. هزینه‌ی اجرا دقیقاً به همین نسبت زیاد می‌شود — یک اجرای ۹بخشی حدود ۹ برابر همان اجرای بدون شکافتن هزینه دارد — و این هزینه پیش از اجرا در page_budget محاسبه و نشان داده می‌شود، نه در میانه‌ی کار. بخش‌های همسایه ۱۰٪ هم‌پوشانی دارند تا مکانی که روی مرز دو بخش است از قلم نیفتد؛ چنین مکانی حذف نمی‌شود، فقط در ردیف دوم isDuplicate=true و duplicateOfPlaceId می‌خورد — شمردن ردیف‌های isDuplicate=true در خروجی نشان می‌دهد هم‌پوشانی واقعاً کار کرده. فقط روی «عبارت‌های جست‌وجو» اثر دارد؛ برای placeIds/startUrls (که خودشان یک مکان مشخص‌اند، نه یک محدوده) و بدون هیچ‌کدام از «محل جست‌وجو»/شهر/استان/کشور/«محدوده‌ی دلخواه» (که یعنی جست‌وجو در کل جهان) بی‌اثر است.","editor":"json"},"startUrls":{"title":"آدرس‌های گوگل‌مپس","type":"array","items":{"type":"object","properties":{"url":{"type":"string"}}},"description":"به‌جای جست‌وجو، آدرس صفحه‌ی مکان‌های مشخص در گوگل‌مپس را بدهید، هر آدرس در یک خط، مثل https://www.google.com/maps/place/?q=place_id:ChIJJQz5EZzKw4kRCZ95UajbyGw. آدرس باید شناسه‌ی مکان (place_id، cid یا fid) داشته باشد؛ لینک کوتاه goo.gl را اول در مرورگر باز کنید و آدرس کامل را بدهید. حداکثر 50 آدرس. برای هر آدرس صفحه‌ی جزئیات همیشه گرفته می‌شود.","editor":"requestListSources"},"placeIds":{"title":"شناسه‌های مکان","type":"array","items":{"type":"string"},"description":"به‌جای جست‌وجو، شناسه‌ی مکان گوگل را بدهید، هر یک در یک خط، مثل ChIJJQz5EZzKw4kRCZ95UajbyGw (با ChIJ یا GhIJ شروع می‌شود). حداکثر 50 شناسه. هر شناسه یک درخواست اضافه برای تبدیل به شناسه‌ی داخلی گوگل می‌زند و صفحه‌ی جزئیات آن همیشه گرفته می‌شود.","editor":"stringList"}},"required":[],"title":"Google Maps Scraper","description":"استخراج کسب‌وکارها از گوگل‌مپس: نام، دسته‌بندی، نشانی، تلفن، وب‌سایت، مختصات، امتیاز و تعداد نظر، ساعات کاری، امکانات، نظرها و تصاویر. ورودی و خروجی هم‌شکل اکتور compass/crawler-google-places در اپیفای است.","schemaVersion":1}},{"name":"actor_google-search","description":"Barchin actor 'google-search' (search). عبارت جست‌وجو را بدهید تا نتایج ارگانیک گوگل را به‌صورت JSON بگیرید: رتبه، عنوان، دامنه، نام سایت و متن توضیح. زبان و کشور نتایج قابل تنظیم است — پیش‌فرض فارسی و ایران. برای هر نتیجه یک ردیف برمی‌گردد. Base fee 40 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"title":"عبارت جست‌وجو","type":"string","description":"همان چیزی که در کادر جست‌وجوی گوگل می‌نویسید، مثل «خرید لپ تاپ» یا «web scraping api». حداکثر ۲۵۶ کاراکتر. برای هر نتیجه‌ی ارگانیک یک ردیف برمی‌گردد.","editor":"textfield","prefill":"خرید لپ تاپ"},"results":{"title":"تعداد نتایج","type":"integer","description":"چند نتیجه‌ی اول صفحه برگردد؛ بین ۱ تا 20. همه‌ی نتایج از یک صفحه‌ی گوگل خوانده می‌شوند، پس هزینه‌ی اجرا با این عدد تغییر نمی‌کند. گوگل ممکن است کمتر از خواسته‌ی شما برگرداند.","default":10,"minimum":1,"maximum":20},"language":{"sectionCaption":"تنظیمات پیشرفته","title":"زبان نتایج","type":"string","description":"کد دوحرفی زبان رابط و نتایج (پارامتر hl گوگل)، مثل fa برای فارسی، en برای انگلیسی یا ar برای عربی. پیش‌فرض fa.","editor":"textfield","default":"fa"},"region":{"title":"کشور نتایج","type":"string","description":"کد دوحرفی کشوری که گوگل نتایج آن را نشان دهد (پارامتر gl گوگل)، مثل ir یا de. پیش‌فرض ir. این با کشور IP خروجی فرق دارد: IP خروجی در این اکتور ثابت است و پارامتر country روی اجرا نادیده گرفته می‌شود؛ برای نتایج ایران همین فیلد کافی است.","editor":"textfield","default":"ir"}},"required":["query"],"title":"Google Search Results","description":"عبارت جست‌وجو را بدهید تا نتایج ارگانیک گوگل را به‌صورت JSON بگیرید.","schemaVersion":1}},{"name":"actor_persian-news-scraper","description":"Barchin actor 'persian-news-scraper' (news). اخبار ایسنا، ایرنا، تسنیم، خبرآنلاین، همشهری آنلاین، زومیت و دیجیاتو را با یک ساختار مشترک بگیرید: تیتر، لید، متن کامل (ساده یا مارک‌داون)، نویسنده، سرویس، برچسب‌ها، تصویر و زمان انتشار به هر دو تقویم. «انتهای پیام»، اخبار مرتبط، کد خبر و کپشن‌های تکراری از متن حذف می‌شوند. ⚠️ ایسنا، ایرنا و تسنیم ص… 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sources":{"title":"منابع","type":"array","items":{"type":"string","enum":["isna","irna","tasnim","khabaronline","hamshahri","zoomit","digiato"]},"editor":"stringList","prefill":["isna","irna","khabaronline"],"description":"کد خبرگزاری‌ها: isna (ایسنا)، irna (ایرنا)، tasnim (تسنیم)، khabaronline (خبرآنلاین)، hamshahri (همشهری آنلاین)، zoomit (زومیت) و digiato (دیجیاتو). خالی یعنی ایسنا، ایرنا و خبرآنلاین — یا برای حالت «sitemap»، hamshahri، khabaronline، zoomit، digiato. هر منبع یک صفحه‌ی فید باز می‌کند."},"mode":{"title":"حالت","type":"string","editor":"select","enum":["latest","category","search","urls","sitemap"],"default":"latest","enumTitles":["آخرین اخبار","دسته‌بندی","جست‌وجو","آدرس مشخص","آرشیو sitemap"],"description":"«آخرین اخبار» فید اصلی هر منبع را می‌خواند؛ «دسته‌بندی» فید/صفحه‌ی سرویسی را که در بخش فیلترها می‌نویسید؛ «جست‌وجو» برای isna، hamshahri و digiato صفحه‌ی جست‌وجوی واقعی همان سایت را می‌خواند، و برای irna، khabaronline، zoomit و tasnim — که جست‌وجو را در robots.txt خودشان بسته‌اند یا نتایجش را فقط با جاوااسکریپت می‌سازند — به‌جای آن آخرین اخبار را می‌گیرد و با «عبارت جست‌وجو» فیلتر می‌کند؛ «آدرس مشخص» فقط خبرهایی را که در تنظیمات پیشرفته می‌دهید؛ «آرشیو sitemap» فید را کنار می‌گذارد و آرشیو تاریخی واقعی sitemap XML سایت را می‌خواند — فقط برای hamshahri، khabaronline، zoomit، digiato (توضیح کامل در پایین فرم)."},"query":{"title":"عبارت جست‌وجو","type":"string","editor":"textfield","description":"برای isna، hamshahri و digiato عبارتی که به موتور جست‌وجوی خود همان سایت داده می‌شود؛ برای بقیه‌ی منابع عبارتی که باید در تیتر، لید یا متن خبر باشد. برای حالت «جست‌وجو» الزامی است."},"maxItems":{"title":"حداکثر تعداد ردیف","type":"integer","default":20,"minimum":1,"maximum":1000,"description":"سقف ردیف‌های خروجی این اجرا. هر چه بیشتر، صفحات بیشتری باز و کردیت بیشتری کسر می‌شود؛ برآورد هزینه را زیر فرم ببینید. حداکثر 1000."},"categories":{"sectionCaption":"فیلترها","title":"دسته‌بندی‌ها","type":"array","items":{"type":"string"},"editor":"stringList","description":"برای isna، irna، tasnim، khabaronline و hamshahri، شناسه‌ی عددی سرویس — نه اسلاگ متنی — دقیقاً همان‌طور که صفحه‌ی rss-help خود سایت می‌دهد (مثل «۱۰» برای اقتصادی)؛ برای digiato شناسه‌ی عددی دسته از /wp-json/wp/v2/categories؛ برای zoomit همان اسلاگ آدرس دسته در سایت (مثل mobile یا car). برای حالت «دسته‌بندی» الزامی است؛ فقط اولین مورد خوانده می‌شود."},"dateFrom":{"title":"از تاریخ","type":"string","editor":"textfield","description":"فقط خبرهای از این تاریخ به بعد. شمسی (۱۴۰۴/۰۷/۰۱) یا میلادی (2026-09-23)؛ خودکار تشخیص داده می‌شود. خبرهای بیرون بازه صفحه‌ای باز نمی‌کنند."},"dateTo":{"title":"تا تاریخ","type":"string","editor":"textfield","description":"فقط خبرهای تا این تاریخ. شمسی یا میلادی، مثل ۱۴۰۴/۰۷/۳۰."},"includeFullText":{"sectionCaption":"جزئیات خروجی","title":"متن کامل خبر","type":"boolean","default":true,"description":"صفحه‌ی هر خبر جداگانه باز می‌شود (هر خبر یک صفحه) و متن کامل در bodyText یا bodyMarkdown می‌آید. برای ایسنا، ایرنا و تسنیم این کار مرورگر واقعی لازم دارد و هر صفحه گران‌تر است. اگر خاموش کنید فقط فید خوانده می‌شود — تیتر و لید — و اجرا به تعداد منابع صفحه باز می‌کند."},"outputFormat":{"title":"قالب متن","type":"string","editor":"select","enum":["text","markdown","both"],"default":"markdown","enumTitles":["متن ساده","مارک‌داون","هر دو"],"description":"متن خبر به‌شکل متن ساده (bodyText)، مارک‌داون (bodyMarkdown) یا هر دو. فقط وقتی «متن کامل خبر» روشن است اثر دارد."},"articleUrls":{"sectionCaption":"تنظیمات پیشرفته","title":"آدرس خبرها","type":"array","items":{"type":"object","properties":{"url":{"type":"string"}}},"editor":"requestListSources","description":"آدرس کامل خبر از یکی از منابع پشتیبانی‌شده، مثل https://www.isna.ir/news/1405070401908/… . برای حالت «آدرس مشخص» الزامی است؛ حداکثر 30 آدرس، هر آدرس یک صفحه."},"sitemapYear":{"title":"سال sitemap (شمسی)","type":"string","editor":"textfield","description":"فقط برای حالت «آرشیو sitemap» و فقط برای hamshahri/khabaronline، که آرشیوشان را سال‌به‌سال منتشر می‌کنند (مثل ۱۳۹۰). خالی یعنی سال جاری. zoomit و digiato مفهوم «سال» ندارند و این فیلد برایشان بی‌اثر است. سالی که آن سایت دیگر چنین آرشیوی ندارد یا به‌جای XML با فرمت قدیمی JSON پاسخ می‌دهد (هر دو واقعاً روی این سایت‌ها دیده شده)، آن منبع فقط برای این اجرا رد می‌شود، نه کل اجرا."},"sitemapCursor":{"title":"ادامه از کجا (sitemapCursor)","type":"object","editor":"json","description":"فقط برای حالت «آرشیو sitemap». شیئی مثل {\"zoomit\": \"5:120\"} — مقدار sitemapCursor را از یکی از ردیف‌های همان منبع در اجرای قبلی بردارید تا این اجرا دقیقاً از همان‌جا (نه از ابتدای آرشیو) ادامه بدهد. خالی یعنی از ابتدای آرشیو همان منبع/سال."}},"required":[],"title":"Persian News Scraper","description":"اخبار فارسی از چند خبرگزاری، با یک ساختار خروجی مشترک.","schemaVersion":1}},{"name":"actor_sheypoor-scraper","description":"Barchin actor 'sheypoor-scraper' (marketplace). آگهی‌های شیپور را با شهر، دسته‌بندی، عبارت جست‌وجو یا آدرس مستقیم استخراج کنید: عنوان، توضیحات، قیمت، ودیعه و اجاره، ویژگی‌ها، تصاویر و موقعیت. خروجی دقیقاً هم‌شکل اکتور دیوار است تا بتوانید دو بازار را کنار هم بگذارید. ⚠️ شماره‌ی تماس در شیپور برای بازدیدکننده‌ی بدون حساب پوشانده می‌شود، پس استخراج… Base fee 8 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"title":"عبارت جست‌وجو","type":"string","editor":"textfield","description":"همان چیزی که در کادر جست‌وجوی شیپور می‌نویسید، مثل «پراید» یا «یخچال». خالی بگذارید تا همه‌ی آگهی‌های شهر و دسته‌بندی برگردد؛ یا به‌جای آن آدرس شیپور را در «startUrls» بدهید.","prefill":"پراید"},"cities":{"title":"شهرها","type":"array","items":{"type":"string"},"editor":"stringList","description":"اسلاگ شهر از آدرس شیپور: برای sheypoor.com/s/mashhad بنویسید mashhad. هر شهر جدا جست‌وجو و نتایجش با هم ادغام می‌شود. خالی یعنی بدون فیلتر شهر (همه‌ی ایران). توجه: فیلتر شهر شیپور قاطع نیست؛ چند درصد آگهی از شهرها و استان‌های اطراف هم در نتایج می‌آید.","prefill":["tehran"]},"category":{"title":"دسته‌بندی","type":"string","editor":"textfield","description":"اسلاگ دسته‌بندی از آدرس شیپور، مثل vehicles یا real-estate در sheypoor.com/s/tehran/real-estate. برای زیردسته‌ها هم همین‌طور: آدرس همان زیردسته را در شیپور باز کنید و اسلاگ انتهای آن را بردارید، مثل mobile-tablet در sheypoor.com/s/tehran/mobile-tablet. خالی یعنی همه‌ی دسته‌ها."},"maxItems":{"title":"حداکثر تعداد ردیف","type":"integer","default":20,"minimum":1,"maximum":1000,"description":"سقف ردیف‌های خروجی این اجرا. هر چه بیشتر، صفحات بیشتری باز و کردیت بیشتری کسر می‌شود؛ برآورد هزینه را زیر فرم ببینید. حداکثر 1000."},"priceMin":{"sectionCaption":"فیلترها","title":"حداقل قیمت (تومان)","type":"integer","minimum":0,"maximum":1000000000000000,"description":"آگهی‌های ارزان‌تر از این قیمت حذف می‌شوند. به تومان، مثل 300000000 برای ۳۰۰ میلیون."},"priceMax":{"title":"حداکثر قیمت (تومان)","type":"integer","minimum":0,"maximum":1000000000000000,"description":"آگهی‌های گران‌تر از این قیمت حذف می‌شوند. به تومان، مثل 500000000 برای ۵۰۰ میلیون."},"filters":{"title":"فیلترهای دسته‌ای","type":"object","editor":"json","description":"پارامترهای اضافی که عیناً به آدرس جست‌وجوی شیپور اضافه می‌شوند؛ برای کاربران حرفه‌ای. همان کلید و مقدارهایی که بعد از انتخاب یک فیلتر در آدرس صفحه‌ی شیپور ظاهر می‌شوند، به شکل {\"کلید\": \"مقدار\"}."},"includeDetails":{"sectionCaption":"جزئیات خروجی","title":"استخراج صفحه‌ی آگهی","type":"boolean","default":true,"description":"روشن: برای هر آگهی یک صفحه‌ی اضافه باز می‌شود و متن آگهی و تصاویر بزرگ می‌آید. خاموش: قیمت، محله و ویژگی‌ها از خود فهرست نتایج می‌آیند و اجرا به اندازه‌ی همان صفحات ارزان‌تر تمام می‌شود."},"includeImages":{"title":"شامل تصاویر","type":"boolean","default":true,"description":"خاموش کنید تا فیلد images خالی برگردد؛ صفحه‌ای کمتر باز نمی‌شود، فقط خروجی کوچک‌تر می‌شود."},"startUrls":{"sectionCaption":"تنظیمات پیشرفته","title":"آدرس‌های شیپور","type":"array","items":{"type":"object","properties":{"url":{"type":"string"}}},"editor":"requestListSources","description":"به‌جای عبارت جست‌وجو و شهر: آدرس یک آگهی (sheypoor.com/v/…-467373008.html) که همان آگهی را برمی‌گرداند، یا آدرس صفحه‌ی جست‌وجو (sheypoor.com/s/tehran/vehicles) که شهر و دسته‌بندی‌اش برداشته می‌شود. حداکثر 20 آدرس."}},"required":[],"title":"Sheypoor Scraper","description":"آگهی‌های شیپور را با شهر، دسته‌بندی یا عبارت جست‌وجو بگیرید. خروجی دقیقاً همان قرارداد اکتور دیوار است، فقط «platform» برابر sheypoor می‌شود.","schemaVersion":1}},{"name":"actor_tgju-price-scraper","description":"Barchin actor 'tgju-price-scraper' (finance). اسلاگ ابزار یا یک دسته‌ی کامل را بدهید تا نرخ لحظه‌ای طلا، سکه، ارز، رمزارز، نفت و فلزات را از TGJU بگیرید: نرخ، تغییر، درصد تغییر، بیشترین و کمترین روز و زمان به‌روزرسانی (میلادی و شمسی). با includeHistory تاریخچه‌ی روزانه هم برمی‌گردد. واحد نرخ از روی خود ابزار تعیین می‌شود — ابزارهای ایرانی ریال‌… Base fee 2 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"instruments":{"title":"ابزارها","type":"array","items":{"type":"string"},"editor":"stringList","description":"اسلاگ صفحه‌ی ابزار در TGJU — همان بخش آخر آدرس tgju.org/profile/…؛ مثل geram18 (طلای ۱۸ عیار)، sekee (سکه‌ی امامی) یا price_dollar_rl (دلار). حداکثر 100 مورد. یا به‌جای نام بردن، یک «دسته» را بدهید. اسلاگی که در فهرست TGJU نباشد صفر ردیف نمی‌گیرد؛ یک ردیف itemType=notFound برایش برمی‌گردد.","prefill":["geram18","sekee","price_dollar_rl"]},"categories":{"title":"دسته‌ها","type":"array","items":{"type":"string","enum":["gold","coin","currency","crypto","oil","metals","stock_index"]},"editor":"stringList","description":"به‌جای نام بردن تک‌تک ابزارها، همه‌ی ابزارهای یک دسته را بگیرید: gold (طلا)، coin (سکه)، currency (ارز)، crypto (رمزارز)، oil (نفت)، metals (فلزات) یا stock_index (شاخص بورس). تا سقف «حداکثر تعداد ردیف» پر می‌شود. این تشخیص فقط حدود ۲۱۳ از ۹۶۳ ابزار فید TGJU را می‌پوشاند؛ برای بقیه اسلاگ دقیق را در «ابزارها» بدهید."},"maxItems":{"title":"حداکثر تعداد ردیف","type":"integer","default":20,"minimum":1,"maximum":1000,"description":"سقف ردیف‌های خروجی این اجرا. هر چه بیشتر، صفحات بیشتری باز و کردیت بیشتری کسر می‌شود؛ برآورد هزینه را زیر فرم ببینید. حداکثر 1000."},"includeHistory":{"sectionCaption":"جزئیات خروجی","title":"شامل تاریخچه","type":"boolean","default":false,"description":"تاریخچه‌ی روزانه‌ی هر ابزار را هم برمی‌گرداند (ردیف‌هایی با itemType=history). برای هر ابزار یک صفحه‌ی اضافه باز می‌کند؛ وقتی فقط «دسته» داده باشید، حداکثر برای 100 ابزار. با چند ابزار هم‌زمان، سقف «حداکثر تعداد ردیف» به‌طور مساوی بین ابزارها تقسیم می‌شود؛ اگر سهم یک ابزار از تاریخچه‌ی واقعی‌اش کمتر بود، ردیف‌های آن ابزار truncated=true می‌گیرند."},"includeOpenPrice":{"title":"نرخ بازگشایی امروز","type":"boolean","default":false,"description":"ستون open را در ردیف‌های price با نرخ واقعی بازگشایی امروز پر می‌کند — از لیست نوسان‌های لحظه‌ای TGJU (نه فید زنده که این عدد را ندارد). با هزینه‌ی دو درخواست اضافه به‌ازای هر ابزار (همان قاعده‌ی شمارش ابزار «شامل تاریخچه»: ابزارهای نام‌برده‌شده، یا وقتی فقط «دسته» داده شده تا سقف 100 ابزار)."},"includeNames":{"title":"نام فارسی و انگلیسی ابزار","type":"boolean","default":false,"description":"ستون‌های nameFa/nameEn را پر می‌کند — فقط برای طلا، سکه و ارز ایرانی (فید زنده‌ی TGJU هیچ فیلد نامی ندارد؛ این‌ها از فهرست دسته‌بندی سایت خزیده می‌شوند). رمزارز، نفت، فلزات، ارز جهانی و شاخص بورس پوشش داده نمی‌شوند و همچنان null می‌مانند. هزینه‌ی این خزش یک‌باره (حداکثر 15 درخواست) ثابت است، نه به‌ازای ابزار — و روی هر پردازه‌ی کارگر فقط یک‌بار انجام و برای اجراهای بعدی همان پردازه کش می‌شود."},"dateFrom":{"sectionCaption":"فیلترها","title":"تاریخچه از","type":"string","editor":"textfield","description":"فقط با «شامل تاریخچه»: ردیف‌های روزانه از این تاریخ. شمسی (۱۴۰۴/۰۷/۰۱) یا میلادی (2025-09-23)؛ خودکار تشخیص داده می‌شود."},"dateTo":{"title":"تاریخچه تا","type":"string","editor":"textfield","description":"فقط با «شامل تاریخچه»: ردیف‌های روزانه تا این تاریخ. شمسی یا میلادی."}},"required":[],"title":"TGJU Price Scraper","description":"نرخ لحظه‌ای طلا، سکه، ارز، رمزارز، نفت و فلزات از TGJU، به‌همراه تاریخچه‌ی روزانه.","schemaVersion":1}},{"name":"actor_torob-product-sellers","description":"Barchin actor 'torob-product-sellers' (e-commerce). آدرس یک صفحه‌ی محصول در ترب (torob.com) را بدهید تا فهرست کامل فروشنده‌ها همراه با قیمت (تومان و ریال)، موجودی، امتیاز فروشگاه و لینک مستقیم هر فروشنده را دریافت کنید. قیمت‌های نامعتبر به‌صورت خودکار حذف می‌شوند. Base fee 20 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"title":"آدرس محصول ترب","type":"string","description":"آدرس یک صفحه‌ی محصول در torob.com، مثل https://torob.com/p/16080a39-171a-4b75-8b76-fcd95e26983e/ — همان صفحه‌ای که فهرست فروشنده‌ها را نشان می‌دهد. برای هر فروشنده‌ی آن صفحه یک ردیف برمی‌گردد. برای چند محصول در یک اجرا، به‌جای این فیلد یا در کنار آن از «urls» استفاده کنید.","editor":"textfield","pattern":"^https?://(www\\.)?torob\\.com/.*","prefill":"https://torob.com/p/16080a39-171a-4b75-8b76-fcd95e26983e/"},"urls":{"title":"آدرس چند محصول ترب","type":"array","items":{"type":"object","properties":{"url":{"type":"string"}}},"maxItems":20,"editor":"requestListSources","description":"برای دریافت فروشنده‌های چند محصول در یک اجرا: آدرس صفحه‌های محصول ترب، حداکثر 20 آدرس. هر آدرس یک صفحه حساب می‌شود و هزینه‌ی هر صفحه جدا محاسبه می‌شود. اگر «url» را هم پر کنید، به همین فهرست اضافه می‌شود."},"fetchAllSellers":{"sectionCaption":"جزئیات خروجی","title":"همه‌ی فروشنده‌ها (فراتر از صفحه‌ی اول)","type":"boolean","default":true,"description":"برای هر محصول، یک درخواست اضافه به endpoint خودِ ترب (products_info.sellers_url) می‌زند تا فهرست کامل فروشنده‌ها را بگیرد، نه فقط همان تعدادی که در صفحه‌ی سرور-رندرشده هست (این تعداد نزد ترب ثابت نیست). فقط وقتی سایت واقعاً فروشنده‌ی بیشتری داشته باشد این درخواست اضافه زده می‌شود؛ وگرنه هزینه‌ای ندارد. اگر این درخواست حتی بعد از دو تلاش مجدد شکست بخورد، آن محصول به‌جای فهرست ناقص اصلاً برنمی‌گردد. روشن به‌طور پیش‌فرض — خاموش‌کردنش سقف هزینه‌ی اجرا را نصف می‌کند اما ممکن است فروشنده‌های واقعی کمتری برگرداند."}},"required":[],"title":"Torob Product Sellers Scraper","description":"آدرس یک یا چند صفحه‌ی محصول ترب را بدهید تا برای هر صفحه، فهرست فروشنده‌ها و قیمت‌ها استخراج شود. ترب در همان صفحه (سرور-رندرشده) فقط بخشی از فروشنده‌ها را نشان می‌دهد — این سقف ثابت نیست و نزد خود ترب تغییر کرده است؛ به همین دلیل فهرست کامل فروشنده‌ها به‌طور پیش‌فرض گرفته می‌شود («همه‌ی فروشنده‌ها» روشن است؛ هزینه‌ی یک صفحه‌ی اضافه به‌ازای هر محصول، فقط وقتی سایت واقعاً فروشنده‌ی بیشتری داشته باشد). اگر گرفتن فهرست کامل حتی بعد از تلاش مجدد شکست بخورد، آن محصول اصلاً در خروجی نمی‌آید — به‌جای فهرست ناقص، چیزی برنمی‌گردد.","schemaVersion":1}},{"name":"actor_tsetmc-scraper","description":"Barchin actor 'tsetmc-scraper' (finance). شش نوع داده از سرویس رسمی بورس تهران: وضعیت لحظه‌ای یک نماد، تاریخچه‌ی روزانه‌ی تعدیل‌شده، خرید و فروش حقیقی و حقوقی، عمق بازار، شاخص و دیده‌بان کل بازار. نماد فارسی خودش به insCode تبدیل می‌شود. ⚠️ همه‌ی قیمت‌ها به ریال است. ⚠️ خارج از ساعت معاملات، مقادیر لحظه‌ای صفر می‌شوند؛ اکتور در این حالت آخر… Base fee 8 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"dataType":{"title":"نوع داده","type":"string","editor":"select","enum":["snapshot","price","history","client_type","orderbook","index","market_watch"],"default":"snapshot","enumTitles":["وضعیت لحظه‌ای کامل","قیمت لحظه‌ای (سبک)","تاریخچه‌ی روزانه","حقیقی و حقوقی","عمق بازار","شاخص","دیده‌بان کل بازار"],"description":"چه چیزی برگردد: وضعیت لحظه‌ای کامل هر نماد با نام و ISIN و صنعت (۴ درخواست به‌ازای هر نماد، ~۶۰ کردیت روی پروکسی مسکونی)، قیمت لحظه‌ای سبک بدون اطلاعات شرکت برای پایش پرتکرار (۲ درخواست به‌ازای هر نماد)، تاریخچه‌ی روزانه (یک ردیف برای هر روز)، خرید و فروش حقیقی و حقوقی به تفکیک روز، عمق بازار (مظنه‌های برتر)، مقدار شاخص، یا دیده‌بان کل بازار (همه‌ی نمادها با یک درخواست، بدون نیاز به نماد). نمادی که پیدا نشود به‌جای حذف بی‌صدا، ردیفی با itemType=notFound برمی‌گرداند."},"symbols":{"title":"نمادها","type":"array","items":{"type":"string"},"editor":"stringList","prefill":["فولاد"],"description":"نماد فارسی همان‌طور که در تابلو نوشته می‌شود، مثل «فولاد» یا «خودرو»، یا insCode ۱۷ رقمی (رزولوشن نماد را حذف می‌کند و یک درخواست کمتر می‌زند). حداکثر 50 نماد؛ سقف «حداکثر تعداد ردیف» بین نمادهای «تاریخچه» و «حقیقی و حقوقی» به‌طور مساوی تقسیم می‌شود، نه اینکه اولی همه را ببلعد. برای «شاخص» شناسه‌ی شاخص را بدهید (خالی یعنی شاخص کل)؛ برای «دیده‌بان کل بازار» لازم نیست."},"maxItems":{"title":"حداکثر تعداد ردیف","type":"integer","default":20,"minimum":1,"maximum":1000,"description":"سقف ردیف‌های خروجی این اجرا. هر چه بیشتر، صفحات بیشتری باز و کردیت بیشتری کسر می‌شود؛ برآورد هزینه را زیر فرم ببینید. حداکثر 1000."},"markets":{"sectionCaption":"فیلترها","title":"بازارها","type":"array","items":{"type":"string","enum":["bourse","farabourse","base"]},"editor":"stringList","description":"فقط برای «دیده‌بان کل بازار»: bourse (بورس)، farabourse (فرابورس) یا base (بازار پایه). خالی یعنی همه‌ی تابلو."},"dateFrom":{"title":"از تاریخ","type":"string","editor":"textfield","description":"برای تاریخچه، حقیقی و حقوقی و شاخص: فقط روزهای از این تاریخ. شمسی (۱۴۰۴/۰۷/۰۱) یا میلادی (2025-09-23)؛ خودکار تشخیص داده می‌شود."},"dateTo":{"title":"تا تاریخ","type":"string","editor":"textfield","description":"فقط روزهای تا این تاریخ. شمسی یا میلادی، مثل ۱۴۰۵/۰۷/۰۱."},"adjusted":{"sectionCaption":"تنظیمات پیشرفته","title":"قیمت تعدیل‌شده","type":"boolean","default":false,"description":"روشن: فقط آخرین روز با قیمت تعدیل‌شده (با احتساب افزایش سرمایه و سود نقدی) — endpoint تعدیل‌شده‌ی خودِ TSETMC آرشیو تاریخی ندارد و همیشه دقیقاً همین یک ردیف را می‌دهد؛ این محدودیت خودِ سایت است. خاموش (پیش‌فرض): آرشیو کامل قیمت خام روزانه از اولین روز معامله‌ی نماد. برای «تاریخچه‌ی روزانه» با بیش از یک ردیف، خاموش بگذارید."}},"required":[],"title":"TSETMC Scraper","description":"داده‌های بورس تهران از سرویس رسمی TSETMC: وضعیت لحظه‌ای، قیمت لحظه‌ای سبک، تاریخچه، حقیقی/حقوقی، عمق بازار، شاخص و دیده‌بان کل بازار. همه‌ی قیمت‌ها به ریال است. اطلاعیه‌های کدال و ترکیب/NAV صندوق‌ها اینجا نیست — به‌ترتیب از codal-scraper و fipiran-funds-scraper استفاده کنید.","schemaVersion":1}},{"name":"get_actor_run","description":"Check the status of a previous actor run (from an actor_<slug>, run_actor or get_screenshot call) and return its dataset once ready. Free: reading an already-paid-for result costs no credits.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"run_id":{"type":"string","description":"The run_id returned by an actor_<slug>, run_actor or get_screenshot call."}},"required":["run_id"]}},{"name":"get_balance","description":"Return the caller's remaining Barchin credit balance and a link to top up.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_scrape","description":"Check the status of a previous scrape_url call and return its result — the content, in the requested format — once ready. Free: reading an already-paid-for result costs no credits. If the scrape is still running, returns a processing status to retry shortly.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"request_id":{"type":"string","description":"The request_id returned by scrape_url."},"format":{"type":"string","enum":["markdown","text","html"],"default":"markdown"},"max_chars":{"type":"integer","minimum":1,"default":40000}},"required":["request_id"]}},{"name":"get_screenshot","description":"Take a screenshot of a web page in a real browser through Barchin's proxies, and return it as a PNG image (first viewport, or the full scrolled page) or a PDF print of the page. Billed as an actor run: a base fee plus the proxy tier price for the one page it renders.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The absolute http(s) URL to capture."},"full_page":{"type":"boolean","default":false,"description":"Scroll to the bottom and capture the full page instead of just the first viewport. PNG only; a PDF always prints the whole page regardless of this flag."},"format":{"type":"string","enum":["png","pdf"],"default":"png"}},"required":["url"]}},{"name":"list_actors","description":"List Barchin's ready-made scrapers ('actors') for specific sites and data types (e.g. Instagram, Google Maps, e-commerce listings, business registries). Each entry's input_schema describes the arguments to pass as run_actor(slug, input); a curated set of featured actors also exists as its own direct actor_<slug> tool. Free to call — no credits are charged.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"run_actor","description":"Run any Barchin actor by slug with its input object. Use list_actors to discover slugs and input schemas; featured actors also exist as direct actor_<slug> tools. Billed like the actor itself: base fee plus the proxy tier price per fetched page (datacenter 1, residential 15, unblocker 25, +5 with JavaScript).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"type":"string","description":"Actor slug from list_actors, e.g. 'torob-product-sellers'."},"input":{"type":"object","description":"The actor's input object matching its input_schema from list_actors.","default":{}}},"required":["slug"]}},{"name":"scrape_url","description":"Fetch a web page through Barchin (rotating Iranian/datacenter proxies, optional JavaScript rendering, anti-bot handling) and return its content as Markdown, plain text or raw HTML. Costs credits: datacenter 1, residential 15, unblocker 25, +5 with JavaScript rendering; markdown/text conversion is free.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"The absolute http(s) URL to fetch."},"render_js":{"type":"boolean","default":true,"description":"Render the page in a real browser (JavaScript/SPA content). Costs +5 credits; turn off for plain HTML pages to save credits."},"proxy":{"type":"string","enum":["auto","datacenter","residential","unblocker"],"default":"auto","description":"Proxy pool. auto (default) escalates from the cheapest pool only as needed and charges only for the tier that worked. datacenter=1 credit, residential=15, unblocker=25 (each +5 with render_js)."},"country":{"type":"string","description":"Two-letter ISO country code for the exit IP, e.g. 'ir'. Omit for worldwide."},"format":{"type":"string","enum":["markdown","text","html"],"default":"markdown","description":"Output format. markdown/text are derived from the fetched HTML at read time, at no extra cost."},"max_chars":{"type":"integer","minimum":1,"default":40000,"description":"Truncate markdown/text output to this many characters."},"wait_for":{"type":"string","description":"CSS selector to wait for after the page loads, before reading the content. Only valid with render_js=true."}},"required":["url"]}}],"scan":{"score":88,"grade":"A","scanned_at":"2026-10-14T05:25:53.870Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-14T05:25:53.583Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1561ms"]},"poisoning":{"score":15,"max":15,"notes":["17 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 8 days ago"]},"identity":{"score":8,"max":10,"notes":["endpoint served from the registry-verified namespace domain"]}},"findings":[],"inputs":{"probes":[{"url":"https://barchin.net/mcp","reachable":true,"authRequired":false,"latencyMs":1561,"serverInfo":{"name":"barchin-mcp","version":"1.30.0"}}],"packages":[],"repo":{"found":true,"owner":"barchin-net","repo":"barchin-mcp","archived":false,"pushedAt":"2026-10-06T08:11:58Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/338280373?v=4","ownerCreatedAt":"2026-10-05T18:56:23Z","license":"MIT"},"icon":{"url":"https://barchin.net/favicon.svg","source":"site"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-06T08:11:58.000Z","score":20}}}},"grade_history":[],"reviews":[]}