⚡ مستندات جامع REST API، پروتکل بومی MCP و SDKهای هوش مصنوعی

مرکز توسعه‌دهندگان، API ترکیبی و سرور MCP فلای‌کراول

استخراج جامع هر وب‌سایت یا فایل PDF چندزبانه (چینی، کره‌ای، ژاپنی، فارسی، عربی، روسی) به مارک‌داون، CSV استاندارد، JSONL آماده RAG یا بردارهای امبدینگ. انتخاب دقیق خروجی‌های دلخواه تنها در یک درخواست API یا اتصال مستقیم به Cursor و کلود با پروتکل بومی MCP.

🚀 شروع سریع ۵ دقیقه‌ای 🧪 Swagger OpenAPI Spec 🤖 Model Context Protocol (MCP) 🧩 API ترکیبی انتخابی 🛡️ قوانین صورت‌حساب و خطا 🔍 موتور جستجو 🧬 معماری بردار و عدم قفل‌شدگی 🌐 پوشش پروکسی و سقف مقیاس 🛡️ نشست‌های احراز هویت 🤖 ایجنت مستقل وب 👁️ مانیتورینگ تغییرات 🔑 دریافت کلید API
⚡ سریع‌ترین مسیر اتصال < 5 Minutes

شروع سریع: استخراج هر آدرس وب در کمتر از ۵ دقیقه

🌐 آدرس پایه استاندارد API: https://api.flycrawl.net/v1 (سازگار کامل با مسیرهای /api/v1 و پشتیبانی خودکار از هردو نگارش snake_case و camelCase)
RFC 8259 Standardized
📤 Request:
curl -X POST "https://api.flycrawl.net/v1/scrape" \
  -H "Authorization: Bearer fly_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "formats": ["markdown"]}'
📥 Verified Response (application/json):
{
  "success": true,
  "data": {
    "markdown": "# Example Domain\n\nThis domain is for use in documentation...",
    "content": "# Example Domain\n\nThis domain is for use...",
    "metadata": {
      "title": "Example Domain",
      "url": "https://example.com",
      "statusCode": 200,
      "tokenCount": 78
    }
  }
}
WIRE COMPATIBILITY MATRIX

Firecrawl SDK Drop-In Compatibility (firecrawl-py & @mendable/firecrawl-js)

Run Compatibility Test Suite ↗

Existing applications built with the official firecrawl-py Python SDK or @mendable/firecrawl-js can target FlyCrawl directly by setting api_url="https://flycrawl.net/api/v1". Below is our verified endpoint and parameter support matrix tested via tests/test_firecrawl_compat.py:

Endpoint Status Supported Parameters Notes / Divergences
POST /v1/scrape ✅ Fully Supported url, formats, onlyMainContent, includeTags, excludeTags, headers, waitFor, mobile, actions, timeout Standard envelope { success, data: { markdown, content, metadata } }. blockAds handled by Fit-Markdown.
POST /v1/crawl ✅ Supported url, limit, depth, workers, useJs, country, webhookUrl, dryRun, estimate Returns { id, url }. Set dryRun: true for instant zero-credit estimation. Returns 402 Payment Required with suggested_max_pages if balance is insufficient.
POST /api/v1/crawl/estimate ⚡ Extended Feature url, maxPages, allowMultiDomain Lightweight pre-flight site probe. Returns estimated pages, credit cost, user available balance, and affordability calculation.
GET /v1/crawl/{id} ✅ Supported id Returns job status: scraping, completed, with data array.
POST /v1/map ✅ Supported url, search, includeSubdomains, ignoreSitemap, limit Returns { success, links: [...] }. Instant sitemap traversal.
POST /v1/sessions ⚡ Extended Feature url, actions, storageState, ttlHours Initializes persistent authenticated browser session. Cookies & localStorage stored with AES-256-GCM. Pass session_id in scrape/crawl.
POST /v1/agent ⚡ Extended Feature goal, urls, schema, maxSteps, stream Autonomous multi-step ReAct agent. Dynamically conducts search, parallel crawl, and schema synthesis with SSE streaming.
POST /v1/monitor ⚡ Extended Feature url, selector, diffMode, frequency, webhookUrl Smart change detector. Zero-fee guarantee (0 credits billed if page content is unchanged). AI semantic diffs and HMAC webhooks.
💎 محاسبه پیش‌فرض کردیت و تایید موجودی قبل از کراول
Zero Credit Waste

با استفاده از پارامتر dryRun: true در اندپوینت /v1/crawl یا فراخوانی مستقیم /api/v1/crawl/estimate، پیش از مصرف هرگونه کردیت، تعداد صفحات تخمینی، ساختار سایت و هزینه محاسبه و به شما اعلام می‌شود. در صورت کمبود موجودی، پاسخ ساختاریافته HTTP 402 همراه با حداکثر تعداد صفحه قابل استخراج بر اساس موجودی فعلی (suggested_max_pages) برمی‌گردد.

# Python Example: Pre-Flight Estimation & Graceful Insufficient Credits Handling
import requests

res = requests.post("https://flycrawl.net/api/v1/crawl",
    headers={"Authorization": "Bearer fly_live_your_key"},
    json={"url": "https://target-site.com", "limit": 100, "dryRun": True}
)

if res.status_code == 200:
    data = res.json()
    print(f"Site requires {data['estimated_credits']} credits. Can afford: {data['can_afford']}")
    if data["can_afford"]:
        # Execute actual crawl:
        job = requests.post("https://flycrawl.net/api/v1/crawl",
            headers={"Authorization": "Bearer fly_live_your_key"},
            json={"url": "https://target-site.com", "limit": 100}
        ).json()
        print(f"Crawl job started: {job['id']}")
elif res.status_code == 402:
    err = res.json()
    print(f"Insufficient balance! Shortage: {err['shortage']} credits. Suggested max pages: {err['suggested_max_pages']}")
POST /api/v1/scrape

Composable Scrape

Multi-format (MD, CSV, JSONL, Vector) + Inclusions.

POST /v1/logo

Logo & Brand Asset

High-res SVG, Web Manifest, Apple Touch & Favicons.

POST /v1/pdf

Multilingual PDF

CJK, RTL (Persian/Arabic), Cyrillic & Latin to Markdown.

POST /v1/vector

Web-to-Vector DB

1536 / 3072-dim embeddings ready for Pinecone & Qdrant.

POST /v1/export

Data Exporter

RFC 4180 CSV (UTF-8 BOM) & Fine-Tuning JSONL.

POST /api/v1/map

Site Mapper

Fast domain URL discovery in under 2 seconds.

POST /api/v1/search

Search & Scrape

Live web search engine with auto-scraped Markdown.

🧪 کنسول تست زنده API در مستندات
HTTP 200 OK — JSON Response
// Output will appear here after clicking 'Send Live Request'
✨ COMPOSABLE SELECTIVE EXTRACTION
POST /api/v1/scrape & POST /v1/export

🧩 ای‌پی‌آی استخراج انتخابی و چندفرمت ترکیبی

دیگر محدود به خروجی‌های پیش‌فرض تک‌فرمت نباشید. با API ترکیبی FlyCrawl، شما دقیقاً تعیین می‌کنید چه چیزهایی در پاسخ بازگردد: ترکیب مارک‌داون تمیز، فایل‌های CSV با جداول، خطوط دیتابیس بردای RAG JSONL و وکتورهای ۱۵۳۶ یا ۳۰۷۲ بعدی، به همراه استخراج لوگوی کیفیت بالا و متادیتا.

📋 پارامترهای قابل تنظیم در درخواست:

formats: string[]

["markdown", "csv", "jsonl", "vector", "json"]

include: string[]

["logo", "tables", "links", "metadata", "pdf_content"]

embedding_model: string

"native" (1536), "native-large" (3072), or OpenAI

chunk_size / overlap: int

Custom text chunking for vector ingestion (e.g. 500 chars / 50 overlap)

📐 MATHEMATICAL SPECIFICATION
1536-dim & 3072-dim Normalized float32 • Zero Vector-Space Lock-In

📐 معماری فنی و سازگاری ریاضی مدل‌های امبدینگ بومی

فلای‌کراول تولید بردار در ابعاد ۱۵۳۶ ('native') و ۳۰۷۲ ('native-large') را به همراه سازگاری کامل با کتابخانه‌های OpenAI در مسیر /v1/embeddings ارائه می‌دهد. این سیستم با هدف رفع نگرانی بابت قفل‌شدگی فضای برداری (Vector Lock-in) طراحی شده و امکان سوئیچ آزادانه میان مدل‌های بومی و تجاری را فراهم می‌سازد.

⚡ معماری ریاضی و نرمال‌سازی L2

از هشینگ آنتروپی بالای توکن‌ها بر پایه SHA-256 و نگاشت هارمونیک n-gram بهره می‌برد. تمامی بردارها تحت نرمال‌سازی اقلیدسی L2 واحد (طول برابر ۱.۰) قرار می‌گیرند که باعث انطباق مستقیم با شباهت کسینوسی در پایگاه‌های داده برداری می‌شود.

🗄️ سازگاری با دیتابیس‌های برداری

سازگاری ۱۰۰٪ با Pinecone، Qdrant، ChromaDB، Milvus و افزونه pgvector در PostgreSQL. آرایه float32[] خروجی بدون نیاز به تبدیل ابعاد آماده ذخیره‌سازی و ایندکس‌گذاری است.

🔓 عدم وابستگی انحصاری (BYOK)

چنانچه به بردارهای مدل رسمی OpenAI نیاز دارید، کافی است نام مدل را text-embedding-3-large تنظیم کرده و در صورت تمایل کلید اختصاصی خود را در هدر X-OpenAI-Key ارسال نمایید.

# Python OpenAI Client Drop-in with FlyCrawl /v1/embeddings:
from openai import OpenAI

client = OpenAI(
    api_key="fly_live_your_api_key_here",
    base_url="https://flycrawl.net/v1"
)

response = client.embeddings.create(
    input=["Retrieval-Augmented Generation with FlyCrawl", "High-throughput web scraping"],
    model="native-large"  # or "native" (1536-dim) or "text-embedding-3-large"
)
print(f"Dimensions: {len(response.data[0].embedding)}")  # 3072 floats ready for Pinecone/Qdrant!
🤖 AI AGENTS PROTOCOL
Model Context Protocol (MCP) v3.5 • Native JSON-RPC 2.0

🤖 FlyCrawl Model Context Protocol (MCP) Server

اتصال مستقیم و بومی FlyCrawl به Claude Desktop، محیط توسعه Cursor، Windsurf و ایجنت‌های هوش مصنوعی. مدل‌های زبانی می‌توانند خودکار صفحات وب را اسکرپ کنند، لوگوهای وکتور استخراج نمایند، پی‌دی‌اف‌های چندزبانه را بخوانند و دیتابیس‌های برداری را آپدیت کنند.

File: .cursor/mcp.json or Settings > Features > MCP
{
  "mcpServers": {
    "flycrawl": {
      "url": "https://api.flycrawl.net/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_FLYCRAWL_API_KEY"
      }
    }
  }
}

🛠️ ابزارهای تخصصی ارائه‌شده به هوش مصنوعی در پروتکل MCP

⚡ flycrawl_scrape
اسکرپر ترکیبی با انتخاب دقیق فرمت‌ها و فیلدهای استخراج.
🎨 flycrawl_extract_logo
استخراج وکتور لوگو SVG باکیفیت و انواع تم‌های تیره/روشن.
📄 flycrawl_pdf_to_markdown
مبدل فراگیر PDF چندزبانه به مارک‌داون بدون بهم‌ریختگی حروف.
🧠 flycrawl_generate_vector
تولید بردار امبدینگ آماده تزریق مستقیم به پایگاه‌داده بردارهای RAG.
🗺️ flycrawl_map
نقشه‌برداری و استخراج کل لینک‌های سایت زیر ۲ ثانیه.
🔍 flycrawl_search
جستجوی زنده در سراسر وب و اسکرپ خودکار نتایج اول.
🤖 flycrawl_agent
ایجنت مستقل هوش مصنوعی برای جستجو، استخراج همزمان صفحات و سنتز خودکار ساختار JSON مطابق هدف داده شده.

نمونه کدهای آماده و SDKهای رسمی

# pip install requests
import requests

API_KEY = "fly_live_your_api_key"

# Request clean Markdown, RFC 4180 CSV tables, RAG JSONL and 1536-dim vectors in ONE call:
payload = {
    "url": "https://example.com/products",
    "formats": ["markdown", "csv", "jsonl", "vector"],
    "include": ["logo", "tables", "metadata"],
    "embedding_model": "native"
}

res = requests.post(
    "https://api.flycrawl.net/v1/scrape",
    headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
    json=payload
).json()

print(f"Brand Logo: {res.get('logo')}")
print(f"CSV Rows: {len(res.get('csv', ''))} chars")
print(f"Generated Vectors: {len(res.get('vectors', []))}")
            
🛡️ سیاست صورت‌حساب عادلانه و شفاف RFC 7807 Compliant

راهنمای مدیریت خطا و ضمانت صورت‌حساب عادلانه

در طراحی ایجنت‌های هوش مصنوعی و خزشگرهای سازمانی، مواجهه با خطاهای سرور مقصد اجتناب‌ناپذیر است. فلای‌کراول طبق قانون تضمین صورت‌حساب عادلانه عمل می‌کند: در صورت بروز خطای سرور مقصد، تایم‌اوت یا مسدودی، هیچ اعتباری از شما کسر نخواهد شد.

✅ تعهد کسری صفر در خطاهای سرور مقصد
  • خطاهای ۵۰۰ سرور مقصد: اگر سرور مقصد داون باشد یا ارور ۵۰۰ بدهد، ۰ کردیت کسر می‌شود.
  • تایم‌اوت و خطای DNS: دامنه‌های نامعتبر یا تایم‌اوت شبکه هزینه‌ای برای شما ایجاد نمی‌کنند.
  • عدم عبور از چالش آنتی‌ربات: اگر سیستم در موارد نادر نتواند کپچای مقصد را باز کند، هیچ هزینه‌ای کسر نمی‌شود.
  • فقط استخراج موفق ۲00: کسر کردیت تنها و تنها در زمان دریافت پاسخ موفق ۲۰۰ و استخراج دیتای تمیز انجام می‌گیرد.

جدول کدهای خطای API و وضعیت کسر اعتبار

HTTP Status Error Code Credits Billed? Recommended Agent Action
400 Bad Request INVALID_URL_OR_SCHEMA 0 Credits Verify protocol (http/https) and JSON syntax. Do not retry without modifying request.
401 Unauthorized INVALID_API_KEY 0 Credits Ensure Authorization: Bearer fly_live_... header is correctly set.
402 Payment Required INSUFFICIENT_CREDITS 0 Credits Top up balance at flycrawl.net/pricing via Card or USDT.
403 Forbidden DOMAIN_EXCLUDED_BY_POLICY 0 Credits Domain is excluded per webmaster request or SSRF security rules. Do not retry.
429 Too Many Requests RATE_LIMIT_EXCEEDED 0 Credits Exponential backoff with jitter (wait 1-3 seconds before next request).
502 Bad Gateway TARGET_SCRAPE_FAILED 0 Credits Target server crashed or blocked connection. Retry once with render_js: true.
504 Gateway Timeout TARGET_TIMEOUT_30S 0 Credits Target server did not respond within 30 seconds. Check target website availability.

الگوی استاندارد بازتلاش در ایجنت‌ها

نحوه تنظیم کلاینت با بازتلاش تصادفی در صورت برخورد با ریت‌لیمیت یا تایم‌اوت:

from tenacity import retry, stop_after_attempt, wait_exponential_jitter, retry_if_exception
import httpx

# Retry up to 3 times ONLY on 429 or 504 (Fair billing guarantees zero extra costs)
@retry(
    stop=stop_after_attempt(3),
    wait=wait_exponential_jitter(initial=1, max=5),
    retry=retry_if_exception(lambda e: isinstance(e, httpx.HTTPStatusError) and e.response.status_code in (429, 504))
)
def robust_scrape(url: str):
    with httpx.Client(base_url="https://api.flycrawl.net/v1") as client:
        res = client.post("/scrape", json={"url": url}, headers={"Authorization": "Bearer YOUR_KEY"})
        res.raise_for_status()
        return res.json()
🔍 موتور جستجوی بلادرنگ وب Sub-Hour Freshness

معماری موتور جستجو، کیفیت و تازگی ایندکس وب

برخلاف موتورهای جستجوی سنتی که نتایج را آلوده به تبلیغات تجاری، لینک‌های بازاریابی و کلمات کلیدی اسپم برمی‌گردانند، اندپوینت /search فلای‌کراول اختصاصاً برای ایجنت‌های هوش مصنوعی مهندسی شده و صفحات منتخب را مستقیماً به مارک‌داون تمیز تبدیل می‌کند.

⚡ تازگی ایندکس زنده وب

دسترسی مستقیم به ایندکس زنده وب با به‌روزرسانی کمتر از ۱ ساعت برای اخبار، مستندات جدید کتابخانه‌ها و ریپازیتوری‌های گیت‌هاب.

🚫 حذف ۱۰۰٪ تبلیغات و نتایج حمایتی

تمامی تبلیغات گوگل، صفحات کلیک‌بیت و لینک‌های تغییرمسیر تجاری پیش از پردازش کاملاً فیلتر و حذف می‌شوند.

📉 استخراج تمیز محتوای مقالات برتر

هر نتیجه شامل تایتل، لینک اصلی و متن تمیز مارک‌داون بدون کدهای جاوااسکریپت زاید است تا مدل هوش مصنوعی فوراً به پاسخ برسد.

🧬 معماری بردار و فضای امبدینگ 100% Zero Lock-In
MTEB Benchmark Calibrated

معماری دوگانه وکتور: امبدینگ‌های نورونی و پروجکشن لکزیکال سریع

فلای‌کراول یک معماری دوگانه و انعطاف‌پذیر برای تولید بردار ارائه می‌دهد: برای پروژه‌های RAG و جستجوی معنایی عمیق، از امبدینگ‌های استاندارد نورونی (مدل‌های text-embedding-3 با پشتیبانی از BYOK و کردیت سرور) استفاده می‌شود؛ و برای خوشه‌بندی سریع و حذف اسناد تکراری در حافظه با هزینه صفر، پروجکشن‌های لکزیکال فوق‌سریع در کمتر از ۱۰ میلی‌ثانیه محاسبه و تحویل داده می‌شوند.

Neural Embeddings (OpenAI) 1,536 / 3,072 Dim
• مدل‌ها: text-embedding-3-small & text-embedding-3-large
• موتور پردازش: Deep Transformer Neural Network with latent dense semantic space
• نحوه دسترسی: Managed platform credits or zero-markup Bring-Your-Own-Key (BYOK)
• کاربرد: Production RAG, cross-lingual question answering, vector databases (Pinecone, Qdrant, ChromaDB)
Fast Lexical Projection Sub-10ms In-Memory
• مدل‌ها: native (1,536-dim) & native-large (3,072-dim)
• موتور پردازش: Deterministic token hashing & harmonic n-gram feature projection with L2 normalization
• هزینه و سرعت: 100% Free on scrape, <10ms execution, zero external API dependencies
• کاربرد: Real-time document deduplication, syntactic clustering, and local in-memory similarity matching

🐍 پیاده‌سازی حرفه‌ای RAG: استخراج تمیز با فلای‌کراول و جستجوی استاندارد

استخراج مارک‌داون بدون نویز به همراه امبدینگ در یک درخواست HTTP و ایندکس در پایگاه داده برداری:

import httpx
from openai import OpenAI
from qdrant_client import QdrantClient
from qdrant_client.models import PointStruct, Distance, VectorParams

qdrant = QdrantClient(url="http://localhost:6333")
qdrant.recreate_collection("tech_docs", vectors_config=VectorParams(size=1536, distance=Distance.COSINE))

# 1. INGESTION TIME: Extract Fit-Markdown + neural embeddings via FlyCrawl in 1 API call
res = httpx.post(
    "https://api.flycrawl.net/v1/scrape",
    headers={"Authorization": "Bearer fly_live_your_key"},
    json={
        "url": "https://example.com/docs",
        "formats": ["markdown", "vector"],
        "embedding_model": "text-embedding-3-small" # Neural embeddings (or "native" for lexical)
    }
).json()

doc_vector = res["data"]["vector"] # 1536-dim float array
qdrant.upsert("tech_docs", points=[PointStruct(id=1, vector=doc_vector, payload={"url": "https://example.com/docs"})])

# 2. QUERY TIME: Embed user question using standard OpenAI client
ai_client = OpenAI()
query_vector = ai_client.embeddings.create(
    model="text-embedding-3-small",
    input="How do I configure authentication?"
).data[0].embedding

# 3. Semantic cosine retrieval in vector database
search_results = qdrant.search("tech_docs", query_vector=query_vector, limit=3)
print(f"Top matched document: {search_results[0].payload['url']}")
🌐 زیرساخت شبکه و سقف مقیاس‌پذیری Production SLA
Multi-Tenant & Dedicated Pools

گستره جغرافیایی پروکسی مسکونی و سقف خزش موازی

برای تضمین کیفیت خدمات و تاخیر قابل پیش‌بینی برای تمام تیم‌ها، فلای‌کراول چارچوب مشخصی برای شبکه پروکسی مسکونی و سقف خزش موازی تعریف کرده است:

🌍 پوشش جغرافیایی پروکسی‌های مسکونی

هاب‌های استاندارد پلن‌های SaaS (۱۰+ کشور):
United States (US), Germany (DE), United Kingdom (GB), France (FR), United Arab Emirates (AE), Turkey (TR), Japan (JP), China (CN), Russia (RU), and Iran (IR).
استخر اختصاصی سازمانی (۵۰+ کشور):
Extended coverage across Latin America (BR, MX, AR), Southeast Asia (SG, IN, ID, VN), and Australia with city-level sticky sessions available upon enterprise configuration.

⚙️ سقف ورکرها و حجم هر جاب خزش

پلن‌های عمومی اشتراکی:
Up to 64 concurrent workers and 50,000 URLs per asynchronous crawl job (prevents shared-pool starvation and guarantees memory bound safety).
خوشه‌های اختصاصی کوبرنتیز سازمانی:
Over 1,000 dedicated parallel worker pods, multi-million URL catalog crawling, and zero rate limits with dedicated Redis queue clusters.
🛡️ پروفایل و نشست‌های ورود مرورگر AES-256-GCM Encrypted
مدیریت نشست‌ها در داشبورد ←

نشست‌های ماندگار مرورگر و خزش صفحات خصوصی و نیازمند لاگین

صفحات پشت سد ورود، داشبوردهای کاربری و پرتال‌های سازمانی را بدون نیاز به ارسال مکرر نام‌کاربری و رمز عبور استخراج کنید. فلای‌کراول مراحل ورود خودکار را اجرا کرده، وضعیت احراز هویت (کوکی‌ها و LocalStorage) را با رمزنگاری پیشرفته AES-256-GCM ذخیره می‌کند. کافی است پارامتر session_id را در درخواست‌های بعدی ارسال کنید.

📋 مراحل ساخت و استفاده از نشست احراز هویت شده:

# Step 1: Initialize session with automated login actions
curl -X POST "https://api.flycrawl.net/v1/sessions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://news.ycombinator.com/login",
    "actions": [
      { "type": "write", "selector": "input[name=acct]", "text": "my_user" },
      { "type": "write", "selector": "input[name=pw]", "text": "secret_pass" },
      { "type": "click", "selector": "input[value=login]" },
      { "type": "wait", "milliseconds": 2000 }
    ],
    "ttl_hours": 168
  }'

# Response: { "success": true, "session_id": "sess_9f8a7b6c5d4e...", "expires_at": "..." }

# Step 2: Scrape private authenticated URLs using session_id
curl -X POST "https://api.flycrawl.net/v1/scrape" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://news.ycombinator.com/threads?id=my_user",
    "session_id": "sess_9f8a7b6c5d4e..."
  }'
🤖 ایجنت مستقل جستجو و استخراج SSE Streaming Enabled
MCP: flycrawl_agent

ایجنت خودمختار استخراج هدف‌محور از چندین وبسایت

تنها هدف کلی یا ساختار JSON مورد نظر را اعلام کنید. ایجنت هوشمند فلای‌کراول عبارات جستجوی بهینه را تدوین کرده، بهترین منابع وب را پیدا می‌کند، به طور همزمان صفحات را خزش کرده و داده‌ها را با انطباق دقیق بر ساختار شما سنتز می‌نماید. از استریم زنده وضعیت (SSE) به صورت پیش‌فرض پشتیبانی می‌شود.

# Python Example: Autonomous Agent with Target JSON Schema
import requests

payload = {
    "goal": "Compare pricing tiers, rate limits, and LLM features between Firecrawl and Spider",
    "schema": {
        "providers": [
            {
                "name": "string",
                "starting_price": "string",
                "concurrent_rate_limit": "string",
                "markdown_quality": "string",
                "unique_features": ["string"]
            }
        ]
    },
    "max_steps": 5
}

res = requests.post(
    "https://api.flycrawl.net/v1/agent",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json=payload
).json()

print("Agent Summary:", res["summary"])
print("Synthesized Data:", res["data"])
print("Sources Visited:", res["sources"])
👁️ پایش هوشمند تغییرات وب 0 Credits If Unchanged
مشاهده مانیتورها در داشبورد ←

مانیتورینگ تغییرات وبسایت و موتور تحلیل دیف متنی و مفهومی

تغییرات قیمت رقبا، موجودی انبار، قوانین و مقررات را در بازه‌های زمانی دلخواه پایش کنید. سیستم بر پایه هش SHA-256 تغییرات را رصد کرده و در صورتی که محتوا دست‌نخورده باشد، دقیقاً ۰ کردیت کسر می‌شود. در صورت تغییر، هوش مصنوعی خلاصه تحلیلی تفاوت‌ها را استخراج کرده و وب‌هوک با امضای امنیتی HMAC ارسال می‌کند.

# Create a Change Monitor on Pricing Table
curl -X POST "https://api.flycrawl.net/v1/monitor" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/pricing",
    "selector": ".pricing-grid",
    "diff_mode": "semantic",
    "frequency": "daily",
    "webhook_url": "https://api.yourdomain.com/webhooks/pricing-change"
  }'

# Webhook payload dispatched upon detected change:
{
  "event": "monitor.change_detected",
  "monitor_id": "mon_4a3b2c1d...",
  "url": "https://example.com/pricing",
  "detected_at": "2026-10-26T12:00:00Z",
  "summary": "• Pro tier price increased from $49/mo to $59/mo.\n• Added 50,000 monthly credits.\n• Annual billing discount changed from 20% to 25%.",
  "diff": "--- previous\n+++ current\n- Pro: $49/mo\n+ Pro: $59/mo",
  "previous_hash": "a1b2c3...",
  "new_hash": "d4e5f6..."
}