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 खोज उपयोग के अनुसार क्रेडिट लेती है; मौजूदा दरें मूल्य पेज पर। प्रॉम्प्ट खर्च से पहले मंज़ूरी माँगता है।

संबंधित वर्कफ़्लो

शोध

एक सवाल को स्रोतों वाली शोध ब्रीफ़ में बदलें

वेब से पूछें, जवाब के पीछे के पेज Markdown में सहेजें, X पर प्रैक्टिशनर क्या कहते हैं जोड़ें और सबूत उस LiveDoc में रखें जिसे बाद में फिर खोजा जा सके।

वर्कफ़्लो खोलें
शोध

बाज़ार के सवाल को go-to-market ब्रीफ़ में बदलें

बाज़ार से सटीक सवाल पूछें, जवाब के पीछे के श्रेणी और मूल्य पेज पढ़ें, X पर खरीदार समस्या कैसे बताते हैं इकट्ठा करें और स्रोतों वाले दावों तथा खुले सवालों वाली GTM ब्रीफ़ सहेजें।

वर्कफ़्लो खोलें
सामग्री

रोज़ाना AI समाचार सारांश प्रकाशित करें जिसे टीम सचमुच पढ़े

स्रोतों वाला सारांश लें, X पर प्रैक्टिशनर चर्चाएँ जोड़ें, एक वीडियो ट्रांसक्रिप्ट लें, संस्करण Markdown में बनाएँ और LiveDoc में संग्रहित करें।

वर्कफ़्लो खोलें

इसे अपना बनाएँ

वही रेसिपी, आपके असली तरीके के हिसाब से।

ट्रिगर पर अपडेट, कैलेंडर पर नहीं

जब प्रतिस्पर्धी मूल्य बदले, बड़ा लॉन्च करे या बिक्री चक्र से पहले दोबारा चलाएँ। हर विश्लेषण को उसी LiveDoc में तारीख वाला दस्तावेज़ रखें।

विश्लेषण को battlecard बनाएँ

उसी तालिका से प्रति भूमिका एक पेज लिखें — आर्थिक खरीदार, चैंपियन, तकनीकी समीक्षक — केवल `Verified` पंक्तियाँ और लिंक के साथ। `Inference` को ग्राहक सामग्री से बाहर रखें।

दो प्रतिस्पर्धियों की तुलना

प्रति प्रतिस्पर्धी अलग LiveDoc के साथ वर्कफ़्लो चलाएँ और केवल दोनों रन की `Verified` पंक्तियों से तुलना पेज बनाएँ। स्थिति स्तंभ के बिना दो रन कभी न मिलाएँ।

इस रेसिपी के पीछे के संदर्भ पेज और अगले कदम।