# Stack Exchange Intel: Dev Leads, Tags & Question Monitor (`obsidian937/stackexchange-intel`) Actor

Turn Stack Overflow and the Stack Exchange network into structured B2B data. Monitor questions by tag or keyword, build developer lead lists from a technology's top answerers, or size technology adoption by tag. Official public API, no proxy, no auth. Delta mode for recurring monitoring.

- **URL**: https://apify.com/obsidian937/stackexchange-intel.md
- **Developed by:** [Obsidian IT Consulting SRL](https://apify.com/obsidian937) (community)
- **Categories:** Developer tools, Jobs, Lead generation
- **Features:** Limited permissions
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Stack Exchange Intel: Dev Leads, Tags & Question Monitor

Turn Stack Overflow and the wider Stack Exchange network into structured, B2B-ready data. Monitor questions by tag or keyword, build developer lead lists from a technology's proven top answerers, or size technology adoption by tag count. Built on the official public Stack Exchange API: no proxy, no authentication, no login.

### Who uses this

- **Developer-relations and recruiting teams** sourcing proven experts in a specific technology (top answerers of a tag = high-intent technical leads, with public location and website).
- **Support and community teams** watching their product's tag for new questions (an early signal of friction, bugs, and documentation gaps).
- **Developer-tool and SaaS teams** doing competitive intel: who asks about a rival's stack, how active a technology's community is.
- **Market researchers and investors** sizing technology adoption by question volume and growth.

### Modes

#### 1. Monitor questions (tag / keyword)

Search a site for questions matching a tag set (`python;fastapi`), a free-text keyword (`stripe webhook`), or both. Each result carries the title, tags, score, answer count, view count, answered state, creation date, link, and the asker as a compact lead pointer (name, id, reputation, profile). Sort by creation for monitoring, activity, or votes. In delta mode only questions new since the previous run are emitted, so a schedule turns this into a new-question alert feed.

#### 2. Developer leads (experts / top users)

Set a `tag` to list that technology's **top answerers**: proven experts ranked by answer score, then enriched to full profiles with location, website, reputation, and badge counts. These are the highest-intent technical leads, targeted by stack. Leave the tag blank to rank a site's users by reputation or account age instead.

#### 3. Tags (technology market sizing)

Rank a site's tags by popularity (question count, a direct proxy for adoption), recent activity, or name. Optionally filter by a name substring. Use it to size a technology, spot rising ecosystems, or build a tag universe for the other modes.

### Delta / monitor mode

Every mode supports `deltaMode`. State is kept per account between runs and emits only what is new:

- **Questions**: only question ids not seen before.
- **Users**: only user ids not seen before.
- **Tags**: only tag names not seen before.

This makes the actor a recurring monitor rather than a one-shot scrape, the recurring-usage pattern you want behind a schedule and a webhook.

### Example input

```json
{
  "mode": "questions",
  "site": "stackoverflow",
  "tagged": "stripe",
  "questionsSort": "creation",
  "deltaMode": true,
  "maxItems": 50
}
```

```json
{
  "mode": "users",
  "site": "stackoverflow",
  "tag": "swift",
  "period": "all_time",
  "maxItems": 50
}
```

```json
{
  "mode": "tags",
  "site": "stackoverflow",
  "tagsSort": "popular",
  "maxItems": 100
}
```

### Output fields

- **Questions**: `questionId`, `title`, `tags`, `score`, `answerCount`, `viewCount`, `isAnswered`, `creationDate`, `lastActivityDate`, `link`, `ownerName`, `ownerId`, `ownerReputation`, `ownerLink`, `site`.
- **Users**: `userId`, `accountId`, `displayName`, `location`, `websiteUrl`, `reputation`, `goldBadges` / `silverBadges` / `bronzeBadges`, `createdAt`, `lastAccessAt`, `profileUrl`, `site`, plus `answerScore` / `answerPostCount` when sourced from a tag's top answerers.
- **Tags**: `name`, `count`, `hasSynonyms`, `isModeratorOnly`, `isRequired`, `site`, `tagUrl`.

### Part of the B2B data suite

Combine with our other no-proxy intel actors for a full founder / VC / sales / dev dataset:

- **GitHub Intel**: repositories, developer leads, stargazers / contributors.
- **npm Registry Intel**: packages, releases, maintainer leads.
- **PyPI Intel**: Python packages, dependencies, maintainer leads.
- **Hacker News Intel**: Who is Hiring jobs, Show HN launches, keyword monitor.
- **Y Combinator Companies Scraper**: startups by batch and industry.
- **IndieHackers Product Scraper**: products, revenue, founders.
- **SEC EDGAR Intel**: filings, XBRL financials, full-text search.

### Notes

- Data comes from the official public Stack Exchange API (`api.stackexchange.com`). No login is required. An optional free app key (from stackapps.com) lifts the daily request quota from 300 to 10000; it is not authentication and all data stays public.
- Stack Exchange content is licensed CC BY-SA; each row carries the canonical `link` / `profileUrl` for attribution. Use contact and profile data in line with applicable anti-spam and data-protection rules.

# Actor input Schema

## `mode` (type: `string`):

What to extract: rank technology tags (market sizing), build developer lead lists (experts by tag or top users), or monitor questions by tag/keyword.

## `site` (type: `string`):

Stack Exchange site to query, e.g. stackoverflow, serverfault, superuser, dba, security, datascience.

## `tagged` (type: `string`):

Semicolon-separated tags to match, e.g. "python;fastapi". Questions must carry all tags. At least one of Tagged or Keyword is required in questions mode.

## `keyword` (type: `string`):

Free-text query for the question title/body, e.g. "stripe webhook". Combine with Tagged or use alone.

## `questionsSort` (type: `string`):

Order questions by creation date (newest, best for monitoring), recent activity, or votes.

## `fromDate` (type: `string`):

Only questions created on/after this date. ISO (2026-06-01) or unix epoch. Leave blank for no lower bound.

## `tag` (type: `string`):

If set, list the TOP ANSWERERS of this tag (proven experts in a technology = highest-intent dev leads), enriched with location + website. Leave blank to rank site users instead.

## `period` (type: `string`):

Window for the top-answerers ranking when a Tag is set.

## `usersSort` (type: `string`):

When no Tag is set, rank users by reputation or account creation date.

## `inname` (type: `string`):

Substring filter on tag name (tags mode) or user display name (users mode, no tag).

## `tagsSort` (type: `string`):

Rank tags by popularity (question count = adoption), recent activity, or name.

## `apiKey` (type: `string`):

Optional free app key from stackapps.com. NOT authentication: it lifts the daily quota from 300 to 10000 requests. All data stays public. Leave blank to run keyless.

## `deltaMode` (type: `boolean`):

Only emit entries new since the previous run (per-account state): new questions (questions mode), newly appearing users (users mode), or newly surfaced tags (tags mode). Pair with a schedule + webhook for recurring alerts.

## `maxItems` (type: `integer`):

Cap on records to return.

## Actor input object example

```json
{
  "mode": "questions",
  "site": "stackoverflow",
  "tagged": "python",
  "keyword": "",
  "questionsSort": "creation",
  "fromDate": "",
  "tag": "",
  "period": "all_time",
  "usersSort": "reputation",
  "inname": "",
  "tagsSort": "popular",
  "deltaMode": false,
  "maxItems": 50
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "tagged": "python"
};

// Run the Actor and wait for it to finish
const run = await client.actor("obsidian937/stackexchange-intel").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "tagged": "python" }

# Run the Actor and wait for it to finish
run = client.actor("obsidian937/stackexchange-intel").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "tagged": "python"
}' |
apify call obsidian937/stackexchange-intel --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,obsidian937/stackexchange-intel"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/arPyEGlHqHfDLKTi7/builds/aUgPg8k7DhgMFVfxF/openapi.json
