# Stack Overflow Questions Tracker (`gochujang/stackoverflow-questions-tracker`) Actor

Track Stack Overflow questions by tag, keyword, or user. Returns question title, score, view count, answer count, accepted answer, tags, author, and creation date. Filter by date range, minimum score, or answered status. No API key required.

- **URL**: https://apify.com/gochujang/stackoverflow-questions-tracker.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Stack Overflow Questions Tracker

**Stack Overflow Questions Tracker** searches Stack Overflow questions by tag, keyword, or both — returning score, view count, answer count, accepted answer status, author reputation, and timestamps for up to 500 questions per run. Free Stack Exchange public API (no auth required, or supply a key for 10,000 req/day). **$0.001/question.**

The Stack Exchange API is reliable and free, but navigating pagination, tag intersection, and date filtering takes hours to implement. This actor handles it in one click.

***

### Why use Stack Overflow Questions Tracker?

1. **Technology adoption research** — Track question volume for a specific technology over time (e.g. `python;pandas` questions per month). Rising question frequency = growing developer adoption, even before Google Trends registers the trend.
2. **Developer content intelligence** — Find the highest-voted unanswered questions in your domain. These are your content marketing targets — write a blog post or documentation page that answers them.
3. **Library comparison** — Compare question volumes for competing libraries (`react;typescript` vs `vue;typescript`) to gauge relative developer mindshare.
4. **Q\&A monitoring for your own tech** — Schedule daily runs on your library's tag to monitor question quality, response rates, and community health over time.
5. **Recruiting signals** — High question volume on niche topics (ZK proofs, Rust async, EVM assembly) reveals where engineering talent concentrations are forming before job market data catches up.

***

### How to use

1. Open the actor on Apify Store and click **Try for free**.
2. Set `tags` (semicolon-separated) and/or `keyword` — at least one is required.
3. Set `minScore` to filter out low-quality questions; `answeredOnly: true` to get only answered ones.
4. Set `fromDate` / `toDate` for time-range filtering.
5. Click **Start**. Returns one dataset record per question, sorted by vote count.

***

### Input

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `tags` | string | — | Semicolon-separated tags, e.g. `python;pandas;dataframe` |
| `keyword` | string | — | Full-text search across titles and bodies |
| `minScore` | integer | `0` | Minimum question score (upvotes minus downvotes) |
| `answeredOnly` | boolean | `false` | Return only questions with at least one answer |
| `maxResults` | integer | `100` | Maximum questions to return (1–500) |
| `fromDate` | string | — | Start date in ISO 8601 format: `2024-01-01` |
| `toDate` | string | — | End date in ISO 8601 format: `2024-12-31` |
| `apiKey` | string | — | Stack Exchange API key for 10,000 req/day (optional) |

At least one of `tags` or `keyword` is required.

***

### Output

```json
{
  "question_id": 11227809,
  "title": "How do I check if a list is empty?",
  "url": "https://stackoverflow.com/questions/11227809/...",
  "score": 3721,
  "view_count": 2854312,
  "answer_count": 29,
  "is_answered": true,
  "has_accepted_answer": true,
  "tags": ["python", "list"],
  "author": "Ray",
  "author_reputation": 12345,
  "creation_date": "2012-06-28T02:13:17+00:00",
  "last_activity_date": "2024-03-15T10:22:00+00:00",
  "fetched_at": "2024-09-01T08:00:00+00:00"
}
```

***

### Cost estimation

**$0.001 per question returned.**

| Results | Cost |
|---------|------|
| 100 questions | $0.10 |
| 500 questions | $0.50 |
| Daily 100-question monitor × 30 days | $3.00/month |

***

### FAQ

**Can I get questions with a specific accepted answer?**
Filter by `answeredOnly: true` and `minScore` to get high-quality resolved questions. The `has_accepted_answer` field in output lets you filter further downstream.

**What's the difference between `tags` and `keyword`?**
`tags` filters by Stack Overflow's structured tag taxonomy (very precise — `python;pandas` finds Python + Pandas questions specifically). `keyword` does full-text search across title and body. Combining both returns tag results merged with keyword results, deduplicated by `question_id`.

**How many requests can I make without an API key?**
300 requests/day per IP. Each page fetches up to 100 questions, so you can retrieve ~30,000 questions/day without a key. For larger volumes, register a free API key at stackapps.com for 10,000 req/day.

**Are deleted or closed questions included?**
No — the Stack Exchange API only returns questions visible to unauthenticated users. Deleted questions and spam-removed content are excluded.

***

### Related actors

- [PyPI Downloads Tracker](https://apify.com/gochujang/pypi-downloads-tracker) — Download stats to correlate with Stack Overflow question volume for the same Python libraries
- [GitHub Repo Stats Tracker](https://apify.com/gochujang/github-repo-stats) — GitHub stars/forks to complement Stack Overflow mindshare data
- [AI Model Tracker](https://apify.com/gochujang/openai-model-tracker) — AI library pricing to pair with developer adoption signals from Stack Overflow

### Feedback

If this actor powers your developer research, a review helps others find it: [Leave a review on Apify Store](https://apify.com/gochujang/stackoverflow-questions-tracker#reviews)

# Actor input Schema

## `tags` (type: `string`):

Semicolon-separated tags (e.g. 'python;pandas;dataframe')

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

Search by keyword in title/body

## `minScore` (type: `integer`):

Filter questions with at least this score

## `answeredOnly` (type: `boolean`):

Only return answered questions

## `maxResults` (type: `integer`):

Maximum number of questions to return (1–500)

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

ISO 8601 date (e.g. 2024-01-01)

## `toDate` (type: `string`):

ISO 8601 date (e.g. 2024-12-31)

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

Stack Exchange API key for higher rate limits (10,000 req/day). Leave blank for anonymous access (300 req/day).

## Actor input object example

```json
{
  "minScore": 0,
  "answeredOnly": false,
  "maxResults": 100
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/stackoverflow-questions-tracker").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("gochujang/stackoverflow-questions-tracker").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 '{}' |
apify call gochujang/stackoverflow-questions-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,gochujang/stackoverflow-questions-tracker"
        }
    }
}
```

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/roruxkwf6OFqaQBj4/builds/yAs9bHmzVqiHUgImA/openapi.json
