
Congress Stock Trades Scraper
scrape.ly/store/querystone/congress-trades-scraperNewsBusiness
3 monthly users

Read RSS, Atom and JSON feeds or discover them from any website. Get clean items with dates, authors, images and podcast files, filter by date and keyword, dedupe, and add full article text as Markdown for RAG. No login needed.
Turn any RSS, Atom or JSON feed, or any website that has one, into clean, structured rows: titles, links, publish dates, authors, summaries, categories, images and podcast files. Filter by date and keyword, remove duplicates across feeds, and optionally pull the full article text as Markdown for RAG pipelines, summaries and AI agents. No login, no API key, priced per feed.
/feed and /rss.xml as a fallback.https://hnrss.org/frontpage or https://www.theverge.com).| Field | What it does |
|---|---|
urls | Feed URLs or website URLs (feeds are discovered on web pages). |
maxItemsPerFeed | Max items per feed (0 = all). Default 20. |
fetchFullArticle | Extract the full article behind each link as Markdown (articleFormat: markdown or text). |
dateFrom, dateTo | 2026-10-01, 2026-10-01T08:00:00Z or relative such as 24 hours, 7 days. |
keywords | Keep items that mention any of these words. |
dedupe | Remove items already returned from another feed in the run (default on). |
discoverFeeds, maxFeedsPerSite | Feed discovery on web pages, and how many feeds per site to read. |
includeContent | Add the feed's own item content as Markdown (default on). |
{
"urls": ["https://feeds.bbci.co.uk/news/rss.xml", "https://www.theverge.com"],
"maxItemsPerFeed": 20,
"dateFrom": "24 hours",
"fetchFullArticle": true
}
| Field | Description |
|---|---|
title, link, guid | Item title, link and feed id |
publishedAt, updatedAt | ISO 8601 UTC dates |
author, summary, categories | Author, plain-text summary (up to 2,000 characters) and tags |
contentMarkdown | The feed's own item content, converted to Markdown |
imageUrl | Item image from media tags, enclosures or the content |
enclosures, enclosureUrl, duration | Podcast or media files and the episode duration |
commentsUrl, position | Comments link and the item's position in the feed |
feedTitle, feedUrl, feedLink, feedType, feedLanguage, feedDescription, feedImage, feedUpdatedAt, feedGenerator | Feed details on every row |
sourceUrl | The URL you entered (a website when the feed was discovered) |
articleMarkdown / articleText, articleTitle, articleUrl, articleWordCount, articleTruncated, articleError | Full article (with fetchFullArticle), or why it could not be extracted |
scrapedAt | When the feed was read |
{
"sourceUrl": "https://feeds.bbci.co.uk/news/rss.xml",
"feedUrl": "https://feeds.bbci.co.uk/news/rss.xml",
"feedTitle": "BBC News",
"feedType": "rss",
"feedLanguage": "en-gb",
"position": 1,
"title": "Bus hits train stopped on French side of Channel Tunnel, with 19 injured",
"link": "https://www.bbc.co.uk/news/articles/c6wyrnmgzn01o?at_medium=RSS&at_campaign=rss",
"guid": "https://www.bbc.co.uk/news/articles/c6wyrnmgzn01o#1",
"publishedAt": "2026-10-15T21:12:14Z",
"summary": "Two people were severely injured and evacuated by helicopter but no one's life appeared to be in danger, officials said.",
"categories": [],
"imageUrl": "https://ichef.bbci.co.uk/ace/standard/240/cpsprodpb/c978/live/dfe9a6d0-c8df-11f1-9a39-31b474234113.png",
"enclosures": [],
"contentMarkdown": null,
"scrapedAt": "2026-10-15T21:54:26Z",
"articleTitle": "Bus hits train stopped on French side of Channel Tunnel, with 19 injured - BBC News",
"articleMarkdown": "# Bus hits train stopped on French side of Channel Tunnel, with 19 injured\n\n- Published\n\n**A bus has hit a stationary freight train near the French entrance to the Channel Tunnel, injuring the driver and 18 passengers, the French authorities say.**\n\nThe bus, which was carrying lorry drivers due to take a shuttle rail service, struck the train...",
"articleWordCount": 215,
"articleError": null
}
Example: reading 100 feeds costs about $0.15 plus usage. Adding full text for 1,000 articles adds $1.00 plus the proxy traffic of downloading the pages.
Is it legal? Feeds are published so that people and apps can read them. Respect each publisher's terms and copyright when you reuse full articles.
Do I need a login, API key or proxy? No. Requests go through datacenter proxies by default; sites that block them are retried through residential proxies (you can turn this off).
Why is a field empty? Feeds differ a lot: many omit authors, images or full content. Empty fields mean the feed did not provide them. articleError explains why an article could not be extracted (for example a paywall or a page that needs JavaScript).
How many items can I get? Everything the feed contains. Most feeds list their latest 10 to 100 items; feeds do not include older history.
Can I use it for monitoring, from an AI agent or via the API? Yes. Schedule it with a relative "Published after" such as 1 hour, call it through the REST API, or connect it to AI agents over MCP. Inputs are simple JSON and every row is flat, with Markdown text.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
urlsarrayRequiredFeed or website URLs
RSS, Atom or JSON Feed URLs, one per line. You can also paste a normal website or blog URL: its feeds are discovered automatically.
maxItemsPerFeedintegerOptionaldefault 20Max items per feed
Return at most this many items from each feed, newest first as the feed lists them. 0 means every item in the feed.
fetchFullArticlebooleanOptionaldefault falseGet full article text
Open each item's link and extract the full article as clean Markdown (menus, ads and footers removed). Ideal for RAG, summaries and LLM pipelines. Priced per article.
Keep only the items you need.
dateFromstringOptionalPublished after
Only items published on or after this date. Use 2026-10-01, 2026-10-01T08:00:00Z or a relative time such as 24 hours or 7 days. Items without a date are skipped when a date filter is set.
dateTostringOptionalPublished before
Only items published on or before this date (same formats).
keywordsarrayOptionalKeywords
Keep only items whose title, summary, content or categories contain at least one of these words (case-insensitive).
dedupebooleanOptionaldefault trueRemove duplicates
Skip items already returned from another feed in this run (same link, ignoring tracking parameters, or same id).
Discovery, content and article settings.
discoverFeedsbooleanOptionaldefault trueDiscover feeds on websites
When a URL is a web page, find the feeds it advertises (and try common paths like /feed and /rss.xml).
maxFeedsPerSiteintegerOptionaldefault 1Max feeds per website
How many discovered feeds to read from each website URL. Comment feeds are tried last.
includeContentbooleanOptionaldefault trueInclude feed content
Add the content the feed itself provides for each item, converted from HTML to Markdown.
articleFormatenumOptionaldefault "markdown"Article format
Format of the full article text.
maxArticleCharsintegerOptionaldefault 50000Max characters per article
Cut each full article after this many characters (0 = no cut).
maxConcurrencyintegerOptionaldefault 10Parallel requests
How many feeds and articles to load at once (at most 3 per website).
residentialFallbackbooleanOptionaldefault trueRetry blocked sites with residential proxies
When a site blocks datacenter proxies (HTTP 401, 403, 429 or 503), retry that request through a residential proxy. Residential traffic is billed at the residential proxy rate.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Feeds and articles are loaded through datacenter proxies by default.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| feedTitle | any | Feed |
| title | any | Title |
| link | any | Link |
| publishedAt | any | Published |
| author | any | Author |
| summary | any | Summary |
| categories | any | Categories |
| imageUrl | any | Image |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Full article extracted | Charged for each item whose full article text was extracted (only with Get full article text on). Articles that fail to load are free. | $0.001 |
| Feed read | Charged once for each feed read, with all its items up to your limit. Feeds with no new items after your filters, invalid URLs and failed feeds are free. | $0.0015 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('querystone/rss-feed-scraper').call({
"urls": [
"https://feeds.bbci.co.uk/news/rss.xml",
"https://hnrss.org/frontpage",
"https://www.theverge.com"
],
"maxItemsPerFeed": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run querystone/rss-feed-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=querystone/rss-feed-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Feed items with the full article text in Markdown.
Discovers feeds from a homepage and reads a podcast feed.
Titles, links and dates without article content.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.