ParseForge Scrapers

Semafor Articles Scraper

parseforge/semafor-articles-scraper

News & mediaSEO toolsOther

Scrapes Semafor articles by section or keyword search. Returns each article as a flat row with headline, URL, and full text.

Run this scraper See the API call
Total users
2
Monthly active
0
Total runs
147
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Semafor Articles Scraper

Scrape Semafor articles by section or keyword, up to a million per run. Each article comes with its headline, URL, and full text, ready for CSV, JSON, Excel, or XML export. No API key or login required.

Semafor's news site has no public API, and manual collection is slow. This Actor reads the public article feeds directly, filtered by section or keyword, and returns each match in one fixed schema. It is built for analysts, researchers, and newsrooms that need Semafor content in bulk.

Who uses it What they scrape Semafor for
Media analysts Track which topics Semafor covers most and how its coverage shifts over time.
Market researchers Monitor Semafor's business and technology reporting for signals relevant to a sector.
News aggregators Pull Semafor articles into a feed or database for republication or indexing.
Academic researchers Build a corpus of Semafor articles for content or discourse analysis.

What it does

This Actor collects Semafor articles by section or keyword search, and returns each one as a flat row with headline, URL, and full text.

  • ๐Ÿ“ฐ Section filter: choose Africa, Business, Flagship, Net Zero, Principals, Technology, Media, or Plus.
  • ๐Ÿ” Keyword search: enter a term to return only articles that match it.
  • ๐Ÿ“ฆ Bulk collection: set a maximum up to 1,000,000 articles per run.
  • ๐Ÿ“„ Structured output: each article is returned as a flat row with headline, URL, and full text.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Semafor data

๐Ÿ“ˆ Track coverage trends.

A media analyst runs the Actor weekly on the Technology section to see which companies and topics Semafor is writing about most.

๐Ÿ”Ž Monitor a keyword.

A market researcher sets a keyword like 'semiconductors' and collects every matching Semafor article to feed a competitive intelligence dashboard.

๐Ÿ—ž๏ธ Build a news archive.

A news aggregator runs the Actor daily across all sections and stores the results in a database for search and republication.

๐ŸŽ“ Create a research corpus.

An academic researcher collects all articles from the Africa section over a year to analyze framing and sourcing patterns.

Why choose this scraper

What you get
No API key Works without registration or authentication.
Full text Get the complete article body, not headlines.
Flexible input Filter by section, keyword, or combine both.
Scalable Collect up to a million articles in a single run.

How it compares

No other Store actor targets Semafor the same way, so the honest comparison is with the alternatives teams actually weigh.

Semafor Articles Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When Semafor changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor from a section, a keyword query, or both, and set a maximum number of articles per run. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10
}

A larger pull:

{
 "maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Semafor Articles Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Semafor through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/semafor-articles-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Make sure your keyword is spelled correctly and is not too narrow. Also check that the selected section contains articles matching your query. Try running with '(all)' sections to see if any articles are returned.

Why is the run slow?

Collecting a very large number of articles takes time. Reduce the maximum articles or narrow your filters to speed up the run.

Why are some articles missing?

The Actor only returns articles currently available on the public site. If an article was removed or is behind a paywall, it may not be included.

Can I get more fields than headline, URL, and full text?

The Actor returns all fields available from the site's article listing. If you need additional data, check the dataset output to see what is included.

FAQ

Question Answer
Does this Actor require a Semafor API key? No. It reads the public article feeds directly, so no registration or authentication is needed.
What data does each article include? Each row includes the headline, URL, and full text of the article, along with any other fields returned by the site.
Can I filter by both section and keyword? Yes. You can set a section, a keyword query, or both. The Actor applies both filters when collecting articles.
How many articles can I collect in one run? You can set the maximum up to 1,000,000 articles per run. The default is 10.
What sections are available? Africa, Business, Flagship, Net Zero, Principals, Technology, Media, and Plus. You can also choose '(all)' to scrape every section.
What output formats are supported? You can export the results as CSV, JSON, Excel, or XML from the Apify platform.
Is the full article text included? Yes, the Actor returns the complete body text of each article, not a summary.
Can I schedule this Actor to run automatically? Yes, you can set up a schedule in Apify to run it daily, weekly, or at any interval you need.
Does this Actor handle pagination? Yes, it automatically follows pagination to collect articles up to your specified maximum.
What if I get no results? Check your section and keyword filters. If you use a keyword, try a broader term or remove the section filter.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Semafor, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer How many articles to collect per run. 10
query string Keyword search not set
section string (9 options) Section not set

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~semafor-articles-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Semafor Articles Scraper on Apify All scrapers