Signalfinder Pro avatar

Signalfinder Pro

Pricing

from $10.00 / 1,000 qualified lead signals

Go to Apify Store
Signalfinder Pro

Signalfinder Pro

Find high-intent B2B leads from public sources (Hacker News, GitHub, Stack Exchange, Reddit, RSS). Classifies buying intent, scores leads 0–100, and optionally generates outreach. No paid APIs required.

Pricing

from $10.00 / 1,000 qualified lead signals

Rating

0.0

(0)

Developer

Vamsi Krishna

Vamsi Krishna

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

B2B Lead Intent Scanner — Buying Signals from Hacker News, Reddit, GitHub & Stack Exchange

Scan Hacker News, Reddit, GitHub, and Stack Exchange for B2B buying signals using free public APIs.

Overview

This Actor scans public web and social sources for buying-intent signals—recommendation requests, competitor complaints, tool-replacement discussions, and workflow pain points. It classifies intent, scores each lead (0–100), deduplicates results, and optionally generates suggested outreach messages. No paid APIs or API keys are required.

Schemas

Machine-readable definitions (used by Apify Console and AI tools):

  • Input: .actor/input_schema.json
  • Output locations: .actor/output_schema.json
  • Lead fields: .actor/dataset_schema.json

Sources

The display title highlights Hacker News, Reddit, GitHub, and Stack Exchange as the core platforms. RSS feeds and generic forums are optional extensions for custom monitoring.

SourceAPIAuth
Hacker NewsAlgolia Search APINo
GitHubREST Search APINo (optional githubToken for higher rate limits)
Stack ExchangePublic APINo
RedditPublic JSON/RSSNo (graceful failure if blocked)
RSS FeedsUser-provided URLsNo
Generic ForumsCrawlee crawlerNo

Input

Required

  • keywords — Product categories, problems, or solution keywords (e.g. ["crm", "sales automation"])
  • sources — One or more of: hacker_news, github, stack_exchange, reddit, rss, generic_forum

Optional

  • competitorNames — Tools to monitor for dissatisfaction (e.g. ["Apollo", "HubSpot"])
  • painPointPhrases — Custom pain phrases (e.g. ["too expensive", "bad data quality"])
  • targetIndustries — For scoring (e.g. ["SaaS", "B2B"])
  • targetJobTitles — For decision-maker scoring (e.g. ["founder", "head of sales"])
  • maxResults — Maximum qualified leads (default: 100)
  • maxPostsPerSource — Max posts per source (default: 50)
  • minConfidenceScore — Minimum score 0–100 (default: 65)
  • includeSuggestedOutreach — Generate outreach messages (default: true)
  • includeCompanyEnrichment — Lightweight company enrichment (default: false)
  • rssFeedUrls — Public RSS feed URLs (required when rss is in sources)
  • genericForumUrls — Public forum URLs (required when generic_forum is in sources)
  • githubToken — Optional GitHub token for higher rate limits
  • webhookUrl — Optional webhook for lead export (first 10 leads per run)
  • startDate / endDate — ISO date filters
  • enableGlobalDeduplication — Track seen post URLs across runs (default: true)
  • deduplicationScope — Optional override for the dedup store scope (default: hash of keywords + sources)
  • deduplicationRetentionDays — Days to retain seen URLs before pruning (default: 90)
  • resetGlobalDedupStore — One-time wipe of the scoped dedup store at run start (default: false)

Field definitions: .actor/input_schema.json

Global deduplication

Scheduled monitoring (e.g. daily HN scans) uses a named Apify KeyValueStore to remember post_url values from previous runs. On each run:

  1. In-run dedup removes duplicates within the current fetch batch.
  2. Global dedup filters out URLs already seen in prior runs for the same config scope.
  3. New URLs from the run are persisted back to the store.

The store scope is derived from your keywords and sources (sorted and hashed), so different monitoring configs do not cross-filter. Override with deduplicationScope if you want a shared store across configs.

Seen URLs older than deduplicationRetentionDays (default 90) are pruned automatically. Set resetGlobalDedupStore: true once to clear a stale store.

Run summary metrics (usage_metrics in the OUTPUT report) include globally_skipped_items, deduplication_scope, and deduplication_store_size.

Example input

Works without API keys — uses Hacker News only:

{
"keywords": ["software", "looking for tool"],
"sources": ["hacker_news"],
"maxResults": 10,
"maxPostsPerSource": 20,
"minConfidenceScore": 40,
"includeSuggestedOutreach": true,
"includeCompanyEnrichment": false
}

Output

Dataset (leads) — one item per qualified lead. See .actor/dataset_schema.json for full field definitions.

Key-value store (summary) — run summary at key OUTPUT with totals, top intent categories, top keywords, highest-scoring leads, and usage_metrics.

intent_category values: active_buying_intent, competitor_dissatisfaction, tool_replacement_intent, pain_problem_expression, recommendation_request, budget_pricing_complaint, integration_workflow_issue, hiring_growth_trigger, research_awareness_only, not_relevant

Example lead:

{
"lead_id": "lead_hacker_news_ouc37q",
"source_platform": "hacker_news",
"post_url": "https://news.ycombinator.com/item?id=42119042",
"intent_category": "active_buying_intent",
"intent_confidence_score": 45,
"matched_keywords": ["software"],
"matched_trigger_phrases": ["looking for"],
"reason_for_score": "Score: 45/100. Factors: moderate intent signals, high engagement signals."
}

Run locally

npm install
npm run build
npm test
npm run run:local # or: apify run

Results are written to storage/datasets/default/ (leads) and storage/key_value_stores/default/OUTPUT.json (summary).

Deploy

apify login
apify push

Then configure input and run from the Apify Console.

Store SEO (Apify Console)

After apify push, set these in Publication → Display information (not stored in git):

FieldSuggested value
SEO name (~45 chars)B2B Lead Intent Scanner — Buying Signals
SEO description (~150 chars)Find B2B buying signals on Hacker News, Reddit, GitHub & Stack Exchange. Intent classification, lead scoring, dedupe. No LinkedIn or paid APIs.

Use the full Store description for warm visitors (intent categories, scoring, webhook, example input above). Suggested categories: Lead generation, B2B, sales intelligence, intent data.