# Defector Articles Scraper | Sports and Culture News (`parseforge/defector-articles-scraper`) Actor

Collect Defector.com articles with headline, author, publication date, full body, tags, and section. Filter by category or recency. Built for media monitoring, sports analytics, content aggregation, and tracking independent journalism on culture and sports.

- **URL**: https://apify.com/parseforge/defector-articles-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** News, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 📰 Defector Media Articles Scraper

> 🚀 **Export Defector Media articles in seconds.** Pull the latest worker-owned sports, culture, and politics journalism with full metadata in one run.

> 🕒 **Last updated:** 2026-05-25 · **📊 9 fields** per record · **Latest 10 to 25 articles** per run · **Worldwide coverage**

Defector Media is the independent, worker-owned sports and culture outlet launched by former Deadspin staff. This actor exports the latest articles published on Defector with title, link, author, categories, publish date, and summary. Data is collected from the public RSS feed in real time.

Every record covers one article with the same shape so the dataset slots into BI tools, content monitoring dashboards, or alert pipelines.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Media monitors, PR analysts | Track Defector coverage of brands, athletes, leagues |
| Journalists, researchers | Compile reading lists, study sports media trends |
| Newsletter editors | Curate weekly roundups of independent sports journalism |
| Sentiment analysts | Feed article text into NLP pipelines |

### 📋 What the Defector Articles Scraper does

- Fetches the live Defector Media RSS feed in real time
- Extracts title, canonical URL, author, categories, publish date, and summary for each article
- Returns clean, structured records ready for CSV, Excel, JSON, or XML export
- Decodes HTML entities and strips inline markup so summaries are clean text
- Limits records to the count you choose with the maxItems input

> 💡 **Why it matters:** Defector publishes long-form sports and politics writing that rarely shows up in mainstream aggregators. This scraper turns the feed into a structured dataset you can index, search, or pipe into automations.

### 🎬 Full Demo

_🚧 Coming soon_

### ⚙️ Input

<table>
<thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead>
<tbody>
<tr><td><code>maxItems</code></td><td>integer</td><td>Free users limited to 10 items. Paid users up to 1,000,000. Defaults to 10.</td></tr>
</tbody>
</table>

```json
{ "maxItems": 5 }
````

```json
{ "maxItems": 25 }
```

> ⚠️ **Good to Know:** Defector's RSS feed exposes the most recent ~25 articles. To track Defector over time, schedule this actor to run on a cron and append to a master dataset.

### 📊 Output

| Field | Type | Description |
|---|---|---|
| 📌 `title` | string | Article headline |
| 🔗 `url` | string | Canonical Defector article URL |
| ✍️ `author` | string | Article author (dc:creator) |
| 🏷️ `categories` | string\[] | Defector tags and topics |
| 🗓️ `publishedAt` | ISO date | Original publish timestamp |
| 📝 `summary` | string | Article description, HTML stripped |
| 📡 `source` | string | Always "Defector Media" |
| 🕒 `scrapedAt` | ISO date | When this record was collected |
| ❌ `error` | string | Null on success |

Sample records (real from a recent run):

```json
{
  "title": "The Crossword, May 25: Astrobiology (Themeless)",
  "url": "https://defector.com/the-crossword-may-25-astrobiology-themeless",
  "author": "Maitreyi Anantharaman",
  "categories": ["Crosswords", "astrobiology (themeless)", "defector crosswords", "will eisenberg"],
  "publishedAt": "2026-05-25T15:02:48.000Z",
  "summary": "It's time to wrap up the month with a challenging themeless...",
  "source": "Defector Media",
  "scrapedAt": "2026-05-25T17:40:22.065Z",
  "error": null
}
```

```json
{
  "title": "It's All About Victor Wembanyama",
  "url": "https://defector.com/its-all-about-victor-wembanyama",
  "author": "Patrick Redford",
  "categories": ["NBA", "victor wembanyama"],
  "publishedAt": "2026-05-25T14:18:39.000Z",
  "source": "Defector Media"
}
```

```json
{
  "title": "The Avalanche's Season Hinges On Cale Makar's Busted Shoulder",
  "url": "https://defector.com/the-avalanches-season-hinges-on-cale-makars-busted-shoulder",
  "author": "Lauren Theisen",
  "categories": ["NHL", "colorado avalanche", "cale makar"],
  "publishedAt": "2026-05-24T17:14:39.000Z",
  "source": "Defector Media"
}
```

### ✨ Why choose this Actor

- ⚡ Live data from the official RSS feed, no caching
- 🧼 Clean text, decoded entities, no inline HTML in summaries
- 🪶 Lightweight: a single fetch, no proxies needed
- 🧪 Stable schema, every field documented
- 🆓 Free tier: 10 articles per run, no signup needed beyond Apify

### 📈 How it compares to alternatives

| Approach | Speed | Setup | Structured | Cost |
|---|---|---|---|---|
| ParseForge Defector Scraper | Fast (~3s) | None | Yes | Pay-per-event |
| Manual copy from defector.com | Slow | None | No | Free |
| RSS reader app | Fast | Account | Partial | Free / paid |
| Custom scraper | Slow | Code | Yes | Dev time |

### 🚀 How to use

1. [Create a free Apify account](https://console.apify.com/sign-up?fpr=vmoqkp) with $5 starter credit
2. Open the actor page on Apify Store
3. Set `maxItems` (defaults to 10)
4. Click "Run"
5. Download the dataset as CSV, Excel, JSON, or XML

### 💼 Business use cases

**Media monitoring** — Track Defector mentions of a brand, athlete, or company. Schedule the actor daily and pipe new rows into Slack.

**Editorial intelligence** — Newsletter editors curate a weekly "best of Defector" with one click instead of manual scanning.

**Sports analytics teams** — Pair article text with game data to study how independent media covers performance and controversy.

**Sentiment research** — Feed Defector summaries into NLP models to gauge worker-owned media tone vs. legacy outlets.

### 🔌 Automating Defector Articles Scraper

Connect to **Make**, **Zapier**, **n8n**, **Airbyte**, **Slack**, **Google Drive**, **GitHub Actions**, or any HTTP-capable platform. Apify's REST API delivers the dataset as JSON, CSV, Excel, or XML directly to your workflow.

### 🌟 Beyond business use cases

**Academic research** — Study independent journalism economics by collecting Defector's output over months and analyzing topic distribution.

**Personal reading lists** — Auto-build a "weekend read" digest of Defector pieces by author or category.

**Non-profit advocacy** — Track coverage of labor issues, worker-owned co-ops, and sports labor disputes.

**Creative experimentation** — Generate art, prompts, or fiction inspired by Defector's headlines and themes.

### 🤖 Ask an AI assistant about this scraper

Paste this README into [ChatGPT](https://chat.openai.com), [Claude](https://claude.ai), [Perplexity](https://www.perplexity.ai), or [Microsoft Copilot](https://copilot.microsoft.com) and ask "How do I use this scraper to build a daily Defector digest?"

### ❓ Frequently Asked Questions

**❓ Is this affiliated with Defector?**
No. ParseForge is an independent tool. We only collect publicly available RSS data.

**❓ How many articles can I get?**
The Defector RSS feed exposes the most recent ~25 articles. Schedule recurring runs for ongoing coverage.

**❓ Can I get the full article body?**
No. The summary field is what the feed publishes. Defector is subscription-supported and full bodies are paywalled.

**❓ How fresh is the data?**
Real-time. Each run hits the live feed.

**❓ Do I need an API key?**
No. The RSS feed is public.

**❓ Can I filter by author or category?**
Not at input level today. Filter the output dataset with your BI tool.

**❓ What proxy is used?**
None needed. The feed is public and unprotected.

**❓ Are summaries clean text?**
Yes. HTML tags are stripped and entities decoded.

**❓ Can I run this on a schedule?**
Yes. Use Apify Schedules to run hourly, daily, or weekly.

**❓ What's the output format?**
CSV, Excel, JSON, or XML, your choice at download time.

### 🔌 Integrate with any app

Make, Zapier, n8n, Airbyte, Slack, Google Sheets, Google Drive, Microsoft Teams, Notion, Airtable, BigQuery, Snowflake, PostgreSQL, MySQL, GitHub Actions, AWS Lambda, plus any REST-capable system.

### 🔗 Recommended Actors

| Actor | What it does |
|---|---|
| [404 Media Articles Scraper](https://apify.com/parseforge/404media-articles-scraper) | Tech investigative journalism from 404 Media |
| [Hacker News Scraper](https://apify.com/parseforge/hacker-news-scraper) | Front page Hacker News stories |
| [Techmeme Scraper](https://apify.com/parseforge/techmeme-scraper) | Tech industry news aggregator |
| [Reddit Scraper](https://apify.com/parseforge/reddit-scraper) | Reddit posts and subreddit feeds |
| [Slashdot Scraper](https://apify.com/parseforge/slashdot-scraper) | Slashdot tech and science stories |

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more news, sports, and culture scrapers.

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** independent tool, not affiliated with Defector Media. Only publicly available RSS data is collected.

# Actor input Schema

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## Actor input object example

```json
{
  "maxItems": 10
}
```

# 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 = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/defector-articles-scraper").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 = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("parseforge/defector-articles-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "maxItems": 10
}' |
apify call parseforge/defector-articles-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/defector-articles-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Defector Articles Scraper | Sports and Culture News",
        "description": "Collect Defector.com articles with headline, author, publication date, full body, tags, and section. Filter by category or recency. Built for media monitoring, sports analytics, content aggregation, and tracking independent journalism on culture and sports.",
        "version": "0.1",
        "x-build-id": "dbBn1os0xoF0oyDmf"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~defector-articles-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-defector-articles-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~defector-articles-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-defector-articles-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~defector-articles-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-defector-articles-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
