Felo API PlatformFelo API Platform

ریسرچ

ایسا حریف تجزیہ بنائیں جو فروخت ٹیم استعمال کر سکے

حریف کے صفحات، اس کے گرد کی کوریج اور خریدار X پر کیا کہتے ہیں جمع کریں، پھر ایسا تجزیہ ترتیب دیں جس میں ہر دعوے کے ساتھ ذریعہ، تاریخ اور حیثیت ہو۔

وقت30 منٹسطحدرمیانہاپ ڈیٹ2026-10-30
کिसके لیےپروڈکٹ مارکیٹنگمسابقتی ذہانتسیلز اینیبلمنٹ

پرامپٹ کاپی کریں

مربع بریکٹ کے فیلڈز بدلیں اور Claude Code، Codex یا ٹرمینل رسائی والے AI میں چسپاں کریں۔ یہ Felo اسکل نصب کرتا ہے، کریڈٹ سے پہلے پوچھتا ہے اور ورک فلو چلاتا ہے۔

[ہماری مصنوعات] کے لیے [حریف کا نام] کا مسابقتی تجزیہ تیار کریں۔

دائرہ: [سیگمنٹ]، [علاقہ]، [زبان]۔ مدت: [گزشتہ 90 دن / گزشتہ 12 ماہ]۔ کس فیصلے میں مددگار: [قیمت کی تبدیلی / لانچ پوزیشننگ / اعتراضات سے نمٹنا]۔
آغاز کے ذرائع: [حریف کا ڈومین]، [قیمت صفحے کا URL]، [changelog URL]۔

Markdown تجزیے میں شامل ہوں:
1. وہ خود کو کیسے پیش کرتے ہیں، اپنے الفاظ میں۔
2. ثبوت جدول: دعویٰ، ماخذ کا عنوان، URL، تاریخ، حیثیت (Verified / Vendor claim / Third-party / Signal / Inference / Not verified)۔
3. قیمتیں: صفحے پر کیا لکھا ہے، لنک اور جانچ کی تاریخ کے ساتھ۔ صفحے اور تاریخ کے بغیر کبھی قیمت متن میں نہ لکھیں۔
4. جہاں خریدار اعتراض کرتے ہیں، X اکاؤنٹس اور تاریخوں کے ساتھ، اشارہ کے طور پر نشان زد۔
5. ہمیں آگے کیا کرنا چاہیے، سفارش کے طور پر نشان زد۔
6. ذرائع کی مکمل فہرست۔

قواعد:
- ان کی پوزیشننگ نقل کریں؛ اسے زیادہ مضبوط دعوے میں نہ بدلیں۔
- فروشندہ کے دعوے، تیسرے فریق کی کوریج اور اپنے اندازے الگ کریں۔ ہر سطر پر لیبل لگائیں۔
- قیمت، اعداد، گاہک کا نام یا بینچ مارک کبھی نہ گھڑیں۔ ڈیٹا نہ ہو تو «ڈیٹا دستیاب نہیں» لکھیں۔
- مدت اور علاقے کو واضح اقدار میں بدلیں۔
- کریڈٹ خرچ کرنے سے پہلے منصوبہ بند API کالز دکھائیں اور میری منظوری کا انتظار کریں۔
- کچھ شائع، ارسال، شیڈول یا CRM میں درج نہ کریں۔
- نتیجہ ./competitor-teardown.md میں لکھیں اور چیٹ میں خلاصہ دیں۔

کاپی میں تنصیب کے مراحل اور حفاظتی اصول بھی شامل ہیں۔

آپ کو کیا ملتا ہے

ایک رن کی مثال آؤٹ پٹ۔ لائیو جنریشن نہیں۔

نمونہ تجزیہ (اقتباس)

حریف تجزیہ — [حریف]، 2026-10-30 جانچا

وہ خود کو کیسے پیش کرتے ہیں

ہوم پیج ہیڈ لائن: «بڑھتی سپورٹ ٹیموں کے لیے پلیٹ فارم»۔ زمرہ صفحہ: «آپ کی سپورٹ ٹیم کو جو کچھ چاہیے»۔ دونوں وینڈر کے دعوے ہیں، جیسے لکھے ہیں ویسے نقل۔

ثبوت جدول

دعویٰذریعہتاریخحیثیت
ایک نکاتی ٹول نہیں، پلیٹ فارم کے طور پر پوزیشنhttps://example.com/competitor/home2026-10-30Verified
ہر ہفتے تبدیلیاں جاری کرتا ہےhttps://example.com/competitor/changelog2026-10-28Verified
آزاد راؤنڈ اپ میں شاملhttps://example.com/roundup2026-10-27Third-party
خریدار سست آن بورڈنگ کا ذکر کرتے ہیںنیچے نقل شدہ X پوسٹ2026-10-14Signal
انٹرپرائز ان کا سب سے بڑا حصہ ہےڈیٹا دستیاب نہیں—Not verified

قیمتیں

قیمت صفحہ پر درجہ بندی والا اور استعمال پر مبنی پلان ہے۔ یہاں نرخ دہرائے نہیں گئے؛ لائیو صفحہ اور تاریخ دیکھیں: https://example.com/competitor/pricing (2026-10-30)۔

جہاں خریدار اعتراض کرتے ہیں

@example_dev، 2026-10-14: «سیٹ اپ میں ڈیمو کے اشارے سے زیادہ وقت لگا»۔ ایک تاریخ والی پوسٹ؛ یہ شکایت ہے، تعدد کا اندازہ نہیں۔

سفارش

موازنہ صفحہ پر پہلے نتیجے تک وقت کو نمایاں کریں۔ یہ ہمارا اندازہ ہے، حریف کا دعویٰ نہیں۔

ذرائع

  • https://example.com/competitor/home
  • https://example.com/competitor/pricing
  • https://example.com/competitor/changelog

درست کالز

ڈویلپرز کے لیے: وہی ورک فلو کوڈ کے طور پر، چلانے کی ترتیب میں۔

اصل API کالز دکھائیں
  1. ذرائع والی بنیاد سے شروع کریں

    Chat جواب اور استعمال شدہ صفحات واپس کرتا ہے، یہ نقشہ کہ حریف کہاں زیر بحث ہے۔ جواب کو سراغ سمجھیں نہ ذریعہ: لنک رکھیں، وہ تیسرے فریق کی قطاریں دیتے ہیں۔ ہیلپر کلید ایک بار بھیجتا ہے اور 2xx سے باہر خرابی دیتا ہے۔

    competitor.ts
    const BASE = "https://openapi.felo.ai";
    const headers = {
      Authorization: `Bearer ${process.env.FELO_API_KEY}`,
      "Content-Type": "application/json",
    };
    
    async function felo<T>(path: string, body?: unknown): Promise<T> {
      const res = await fetch(`${BASE}${path}`, {
        method: body ? "POST" : "GET",
        headers,
        body: body ? JSON.stringify(body) : undefined,
      });
      if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`);
      return res.json() as Promise<T>;
    }
    
    type ChatData = {
      data: {
        answer: string;
        resources: { link: string; title: string; snippet: string }[];
      };
    };
    
    const competitor = "Example Competitor";
    const segment = "mid-market support teams";
    
    const baseline = await felo<ChatData>("/v2/chat", {
      query: `How does ${competitor} position itself for ${segment}? Include pricing and recent launches.`,
    });
    
    const seedSources = baseline.data.resources.slice(0, 5);

    مثال آؤٹ پٹ

    {
      "answer": "The competitor positions itself as …",
      "sources": [
        { "link": "https://example.com/competitor", "title": "…", "snippet": "…" }
      ]
    }
  2. ان کے کنٹرول والے صفحات ڈاؤن لوڈ کریں

    تیسرے فریق کی کوریج دکھاتی ہے لوگ کیا سوچتے ہیں؛ ان کے صفحات دکھاتے ہیں وہ کیا دعوہ کرتے ہیں۔ ہوم پیج، قیمت اور changelog کو پڑھنے کے موڈ کے ساتھ Markdown میں نکالیں اور ڈاؤن لوڈ تاریخ لکھیں: بغیر تاریخ قیمت صفحہ جال ہے۔

    competitor.ts
    type ExtractData = { data: { content: string } };
    
    const ownedPages = [
      { url: "https://example.com/competitor/home", title: "Homepage" },
      { url: "https://example.com/competitor/pricing", title: "Pricing" },
      { url: "https://example.com/competitor/changelog", title: "Changelog" },
    ];
    
    const fetched = await Promise.all(
      ownedPages.map(async (page) => {
        const res = await felo<ExtractData>("/v2/web/extract", {
          url: page.url,
          output_format: "markdown",
          with_readability: true,
          with_cache: true,
        });
        const checkedAt = new Date().toISOString().slice(0, 10);
        return { ...page, checkedAt, content: res.data.content };
      }),
    );

    مثال آؤٹ پٹ

    {
      "url": "https://example.com/competitor/pricing",
      "checkedAt": "2026-10-30",
      "content": "# Pricing\n\nExtracted page text…"
    }
  3. دیکھیں خریدار X پر کیا کہتے ہیں

    X پر حریف کے بارے میں اعتراضات اور بچنے کے طریقے تلاش کریں۔ ہر پوسٹ کا اکاؤنٹ اور تاریخ رکھیں؛ تاریخ والا حوالہ شکایت ثابت کرتا ہے، اس کی تعدد نہیں۔ تجزیہ اسے اشارہ نشان زد کرتا ہے اور چند پوسٹس کو فیصد نہیں بناتا۔

    competitor.ts
    type XData = {
      data: {
        tweets: {
          content: string;
          author: { username: string };
          created_at: string;
          metrics: { retweet_count: number; favorite_count: number };
        }[];
      };
    };
    
    const since = Math.floor((Date.now() - 90 * 24 * 60 * 60 * 1000) / 1000);
    
    const buyerSignal = await felo<XData>("/v2/x/tweet/search", {
      query: `"${competitor}" (pricing OR onboarding OR migration)`,
      limit: 25,
      since_time: since,
    });
    
    const objections = buyerSignal.data.tweets.slice(0, 5);

    مثال آؤٹ پٹ

    { "data": { "tweets": [
      {
        "content": "setup took longer than the demo suggested",
        "author": { "username": "example_dev" },
        "created_at": "2026-10-14T09:20:00Z",
        "metrics": { "retweet_count": 3, "favorite_count": 24 }
      }
    ] } }
  4. ثبوت جدول کے ساتھ تجزیہ بنائیں

    یہ ادارتی مرحلہ ہے: صفحات اور پوسٹس کو دعووں میں بدلیں اور ہر ایک کو ذریعہ، تاریخ اور حیثیت دیں۔ حیثیت کالم دستاویز کو ایماندار رکھتا ہے: Verified صفحہ جو کہتا ہے، Vendor claim مارکیٹنگ، Third-party بیرونی کوریج، Signal تاریخ والی پوسٹ، Inference آپ کی قرأت اور Not verified ثبوت کے بغیر۔

    competitor.ts
    const today = new Date().toISOString().slice(0, 10);
    
    const row = (claim: string, source: string, date: string, status: string) =>
      `| ${claim} | ${source} | ${date} | ${status} |`;
    
    const teardown = [
      `# Competitor teardown — ${competitor}`,
      `Scope: ${segment}. Checked ${today}.`,
      "",
      "| Claim | Source | Date | Status |",
      "| --- | --- | --- | --- |",
      row("Free tier listed on the pricing page", ownedPages[1].url, fetched[1].checkedAt, "Verified"),
      row("Positions as a platform, not a point tool", ownedPages[0].url, fetched[0].checkedAt, "Vendor claim"),
      row("Discussed in independent coverage", seedSources[0]?.link ?? "Not available", today, "Third-party"),
      row("Buyers report onboarding friction", "X post, quoted below", today, "Signal"),
      row("Most revenue comes from enterprise", "Not available", "—", "Not verified"),
      "",
      "## Recommendation",
      "Lead with time-to-first-result on the comparison page. Inference, not a competitor claim.",
    ].join("\n");
    
    console.log(teardown);

    مثال آؤٹ پٹ

    | Free tier listed on the pricing page | https://example.com/competitor/pricing | 2026-10-30 | Verified |
  5. اگلی اپ ڈیٹ کے لیے LiveDoc میں محفوظ کریں

    فی حریف ایک LiveDoc بنائیں، ڈاؤن لوڈ شدہ صفحات URL وسائل اور تجزیہ دستاویز کے طور پر شامل کریں۔ URL دوبارہ شامل کرنا ڈپلیکیٹ ہٹاتا ہے، اس لیے اگلی سہ ماہی صرف تبدیلیاں ڈاؤن لوڈ ہوتی ہیں اور پچھلا تجزیہ اسی محفوظے میں رہتا ہے۔

    competitor.ts
    type LiveDocData = { data: { short_id: string } };
    
    const teardownDoc = await felo<LiveDocData>("/v2/livedocs", {
      name: `Teardown: ${competitor}`,
      description: `Sources and teardown checked ${today}`,
    });
    
    await felo(`/v2/livedocs/${teardownDoc.data.short_id}/resources/urls`, {
      urls: fetched.map((page) => ({ url: page.url, title: page.title })),
    });
    
    await felo(`/v2/livedocs/${teardownDoc.data.short_id}/resources/doc`, {
      title: `Teardown ${today}`,
      content: teardown,
    });
    
    console.log(teardownDoc.data.short_id); // the next refresh reuses this LiveDoc

    مثال آؤٹ پٹ

    { "short_id": "PvyKouzJirXjFdst4uKRK3" }

کیا شامل ہے

  • Chat API سے ذرائع والی بنیاد اور پیچھے کے صفحات
  • حریف کا ہوم پیج، قیمت اور changelog Markdown میں
  • X سے تاریخ والی خریدار تبصرے، ثبوت نہیں اشارہ کے طور پر
  • تصدیق شدہ حقائق، وینڈر دعوے اور استنباط الگ کرنے والا ثبوت جدول
  • LiveDoc جو ذرائع رکھتا ہے تاکہ صفر سے شروع نہ ہو

کیا نہیں کرتا

  • صرف عوامی ذرائع؛ جیت/ہار انٹرویو، CRM نوٹس یا نجی ڈیش بورڈ نہیں
  • قیمتیں منسلک اور تاریخ والی، بغیر جانچ تاریخ کے جدول میں کبھی جمی نہیں
  • X کوریج نامکمل اور خریداروں کا نمائندہ نمونہ نہیں
  • آپ کی پوزیشننگ منتخب نہیں کرتا؛ سفارشات استنباط کے طور پر نشان زد
  • تجزیہ شائع نہیں کرتا یا battlecard اوزار میں نہیں لکھتا

سوالات

ثبوت کہاں سے؟

Chat API ذرائع والی بنیاد اور استعمال شدہ صفحات واپس کرتا ہے، Web Fetch حریف کے صفحات Markdown بناتا ہے اور X Search تاریخ والی پوسٹس شامل کرتا ہے۔ ہر قطار ذریعہ اور تاریخ رکھتی ہے، استنباط کی اپنی حیثیت ہے۔

کیا کئی حریفوں کو کور کیا جا سکتا ہے؟

ہاں۔ ہر حریف پر وہی پرامپٹ چلائیں اور فی کمپنی ایک LiveDoc رکھیں۔ موازنہ صفحہ صرف «تصدیق شدہ» قطاریں جوڑتا ہے، دو رنز کے ثبوت نہیں ملاتا۔

کیا ان کی قیمتیں نقل کی جا سکتی ہیں؟

ورک فلو قیمت صفحہ جو کہتا ہے اسے لنک اور جانچ تاریخ کے ساتھ درج کرتا ہے۔ نرخ متن میں جماتا نہیں کیونکہ قیمتیں بدلتی ہیں اور پرانا عدد عدد نہ ہونے سے بدتر ہے۔

اور ہمارے جیت/ہار نوٹس؟

یہ صرف عوامی ذرائع پڑھتا ہے۔ اندرونی نوٹس LiveDoc میں الگ دستاویز کے طور پر شامل کریں اور اندرونی نشان زد کریں؛ وہ کبھی گاہک مواد میں نقل نہیں ہوتے۔

کتنے عرصے بعد اپ ڈیٹ؟

ٹرگر پر نہ کیلنڈر پر: قیمت تبدیلی، لانچ یا فروخت چکر کا آغاز۔ اسی LiveDoc میں دوبارہ چلائیں تاکہ پچھلی سہ ماہی نئی کے ساتھ رہے۔

ایک تجزیہ کی لاگت کتنی ہے؟

ہر چیٹ، ایکسٹریکشن اور X تلاش استعمال کے مطابق کریڈٹ لیتی ہے؛ موجودہ نرخ قیمت صفحے پر۔ پرامپٹ خرچ سے پہلے منظوری مانگتا ہے۔

متعلقہ ورک فلو

اسے اپنا بنائیں

وہی ترکیب، آپ کے اصل انداز کے مطابق۔

ٹرگر پر اپ ڈیٹ کریں نہ کیلنڈر پر

جب حریف قیمت بدلے، بڑا لانچ کرے یا فروخت چکر سے پہلے دوبارہ چلائیں۔ ہر تجزیہ اسی LiveDoc میں تاریخ والی دستاویز رکھیں۔

تجزیہ کو battlecard بنائیں

اسی جدول سے فی کردار ایک صفحہ لکھیں — معاشی خریدار، چیمپئن، تکنیکی جائزہ لینے والا — صرف `Verified` قطاریں اور لنک کے ساتھ۔ `Inference` گاہک مواد سے باہر رکھیں۔

دو حریفوں کا موازنہ

ہر حریف کے لیے الگ LiveDoc کے ساتھ ورک فلو چلائیں اور موازنہ صفحہ صرف دونوں رنز کی `Verified` قطاروں سے بنائیں۔ حیثیت کالم کے بغیر دو رنز کبھی نہ ملائیں۔

اس ترکیب کے پیچھے کے ریفرنس صفحات اور اگلے مراحل۔