API

واجهة بحث للذكاء الاصطناعي

طلب HTTP واحد يعيد نتائج منظّمة — استرجاع ويب فوري لتطبيقات الذكاء الاصطناعي وRAG والوكلاء. بديل لـ Firecrawl · Exa · Tavily.

بدء سريع

GET /api/v1/search
curl "https://tutusoo.com/api/v1/search?q=rust&limit=5"

معاملات الاستعلام

المعاملالنوعالوصف
q*stringاستعلام البحث (مطلوب)؛ الكلمات المتعددة تُعامَل AND افتراضيًا (يجب تطابقها كلها)
limitintعدد النتائج، الافتراضي 10، الحد الأقصى 100
offsetintإزاحة الصفحات، الافتراضي 0، الحد الأقصى 990
langstringمرشّح اللغة، مثل zh / en
time_rangestringنطاق وقت الفهرسة: 1d/7d/30d/1y/all (حسب crawled_at)
sitestringالتقييد بنطاق موقع
lang_prioritystringأولوية اللغة (تعزيز مرن وليس مرشّحًا صارمًا): مثل zh يرفع نتائج اللغة المطابقة دون إخفاء غيرها؛ مستقل عن lang

عوامل الاستعلام (تُكتب داخل q)

site:domainالتقييد بموقع، مثل site:github.com rust
intitle:wordيطابق فقط العناوين التي تحتوي الكلمة
"exact phrase"يجب أن تظهر كل كلمة في العبارة
-excludeاستبعاد النتائج التي تحتوي الكلمة، مثل rust -tutorial
A OR Bيطابق أيًّا من الكلمتين، مثل rust OR golang
filetype:typeالتصفية حسب نوع الملف (pdf/doc/ppt/xls)، مثل filetype:pdf

الاستجابة

{
  "total": 586,
  "took_ms": 142,
  "results": [
    {
      "id": "a1b2c3d4-…",         // page id for local results; may be empty for external fallback
      "url": "https://rust-lang.org/",
      "title": "Rust Programming Language",
      "snippet": "A language empowering everyone to build reliable software…",
      "domain": "rust-lang.org",
      "site_name": "Rust Programming Language", // display name (optional; client falls back to domain)
      "lang": "en",
      "score": 12.4,
      "source": "local",          // local (our index) | brave (web fallback)
      "has_llms_txt": true,
      "published_at": "2010-01-25T…", // article publish time (nullable; returned when known; RAG freshness/date)
      "crawled_at": "2026-07-18T…" // crawl time (freshness; time_range filters on this)
    }
  ]
}

site_name: الاسم المعروض؛ قد يُحذف — يعود إلى domain. source: local = فهرسنا / brave = احتياطي ويب عند عدم كفاية النتائج المحلية. has_llms_txt: هل يوفّر الموقع الهدف ملف llms.txt (ملائم للذكاء الاصطناعي).

جلب النص الكامل (RAG)

GET /api/v1/content/{id}

عندما تكون نتيجة البحث source=local وid غير فارغ، اجلب نصها الكامل لتغذية LLM. نتائج الاحتياطي الخارجي لا تملك نصًا محليًا ولا يمكنها استخدام هذه النقطة.

curl "https://tutusoo.com/api/v1/content/<local_page_id>"

# Response (RAG-relevant fields only, no internal columns):
{
  "id": "…",
  "url": "https://rust-lang.org/",
  "title": "Rust Programming Language",
  "body_text": "…full article text…",
  "author": "Jane Doe",        // author (nullable; RAG citation/byline)
  "published_at": "2026-01-…", // original publish time (nullable; freshness)
  "lang": "en",
  "word_count": 1200,
  "crawled_at": "2026-07-18T…",
  "has_llms_txt": true
}

الوصول وحدود المعدل

لا تتطلب نقاط النهاية العامة للبحث والمحتوى تسجيل الدخول أو مفتاح API — جرّبها مباشرةً؛ تطبّق الطبقة العامة حدًّا عادلًا للمعدل لكل عنوان IP للعميل وتُعيد 429 عند التجاوز. تُصدر مفاتيح API المخصّصة من قبل المشغّل للتكاملات المؤكَّدة؛ ولا يعرض هذا الموقع بوابة تسجيل ذاتي غير موجودة.

تُعيد استجابات المفتاح المخصّص X-RateLimit-Limit وX-RateLimit-Remaining وX-RateLimit-Reset. عند 429، تراجَع وفق إرشادات الاستجابة — ولا تُعِد المحاولة فورًا بلا حدود.