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

Scrape European company data from North Data: register number and court, LEI, address, status, officers with roles and dates, published financials, history, publications and related companies. Search by name or paste URLs. No login needed.
Turn North Data into clean, structured European company data. Search by company name or paste North Data profile URLs and get one row per company with the register number and court, LEI, address, status, officers with roles and appointment dates, published financials, company history and the latest register publications. No North Data account, no login, and it costs less per company.
| Field | Type | Description |
|---|---|---|
search | array | Company names or keywords. North Data shows up to 45 matches per search to visitors without an account. |
startUrls | array | North Data company profile URLs or search URLs. |
maxItems | integer | Maximum companies to save (default 20, 0 = no limit). |
onlyActive | boolean | Skip terminated companies and companies in liquidation. |
countries | array | Keep only these countries (two-letter codes such as DE, GB, FR). |
includeOfficers | boolean | Officers with role and dates (default on). |
includeFinancials | boolean | Financial time series and funding/IP events (default on). |
includeHistory | boolean | Company history and latest publications (default on). |
maxPublications | integer | Latest publications kept per company (default 20). |
includeRelatedCompanies | boolean | Parent companies, subsidiaries and other linked companies (default off, adds about 5 s per company). |
{
"search": ["Siemens Energy", "bakery Berlin"],
"startUrls": ["https://www.northdata.com/Bayerische Motoren Werke AG, München/HRB 42243"],
"maxItems": 20,
"onlyActive": false,
"includeOfficers": true,
"includeFinancials": true,
"includeHistory": true
}
One row per company. Officers, financials, history and publications are nested lists inside the row.
| Field | Description |
|---|---|
name, alternateNames | Registered name and former or other names |
status | active, liquidation or terminated |
register, registerId, registerAuthority | Full register entry, register number and court or registry |
euid, leiCode, stockSymbols, identifiers | EU unique identifier, LEI, tickers and all register identifiers |
address, formattedAddress, country | Registered address (street, postal code, city, country) |
foundingDate, industry, corporatePurpose | Registration date, industry segment and stated business purpose |
officers | name, givenName, familyName, role, since, until, url |
officerCount, officerRoleCounts | Number of officers, and the count per current role as shown on North Data |
managementChanges | Dated appointments and departures |
financials | metric plus points with year, value, formatted, estimate, consolidated, source |
fundingAndIp | Public funding, EU grants, patents and trademark events |
history | Dated events: registration, renames, address changes, mergers, liquidation |
publications | Latest register publications with date, text, source and link |
relatedCompanies | Optional: name, city, relation, relationType, direction, url |
searchQuery, url, northDataId, scrapedAt | Where the row came from |
Example (shortened; the officer is fictional):
{
"type": "company",
"url": "https://www.northdata.com/Bayerische%20Motoren%20Werke%20AG,%20M%C3%BCnchen/HRB%2042243",
"northDataId": "5069557158641664",
"name": "Bayerische Motoren Werke AG",
"status": "active",
"registerId": "HRB 42243",
"registerAuthority": "District Court of Munich",
"register": "District Court of Munich HRB 42243",
"euid": "DED2601V.HRB42243",
"leiCode": "YEH5ZCD6E441RHVHD759",
"stockSymbols": ["BMW.DE", "BMWYY"],
"country": "DE",
"address": {"street": "Petuelring 130", "postalCode": "80809", "locality": "München", "region": null, "country": "DE"},
"formattedAddress": "Petuelring 130, 80809 München, Germany",
"foundingDate": "1995-12-12",
"industry": "Manufacture of motor vehicles",
"corporatePurpose": "Manufacture and sale of engines and vehicles equipped with them, ...",
"officers": [
{"name": "Muster, Erika", "givenName": "Erika", "familyName": "Muster", "role": "Member of the Executive Board",
"since": "2023-11-02", "until": null, "url": "https://www.northdata.com/..."}
],
"officerCount": 123,
"officerRoleCounts": {"CEO": 1, "Member of the Executive Board": 6, "Authorized signatory (ppa)": 91},
"financials": [
{"metric": "Revenue", "points": [{"year": "2024", "value": 142380000000, "formatted": "€142B", "estimate": false,
"consolidated": false, "source": "Stock exchange listed companies - Financial Data"}]}
],
"history": [{"date": "1995-12-12", "endDate": null, "text": "Registration", "source": "Ut", "sourceUrl": "https://www.handelsregister.de/..."}],
"publications": [{"date": "2026-09-16", "text": "Shareholding: BMW Vermögensverwaltungs GmbH", "source": "Eb", "url": "https://www.northdata.com/?id=6413419764908032"}],
"searchQuery": null,
"scrapedAt": "2026-10-15T08:00:00+00:00"
}
You pay per company saved: $2.40 per 1,000 companies ($0.0024 each). Officers, financials, history and publications are included in that price. Searches that find nothing cost nothing.
Example: 1,000 companies cost $2.40 in company results plus a few cents of platform usage (compute and about 25 KB of residential proxy traffic per company, typically under $0.10 per 1,000 companies).
Is it legal to scrape North Data? The scraper only reads pages that North Data shows publicly to every visitor. Company register data is public record, but officer names are personal data: make sure your use complies with the GDPR and North Data's terms.
Do I need a North Data account or a proxy? No. The scraper only uses what anonymous visitors see. North Data limits how many pages one IP may open, so the scraper rotates residential proxy IPs for you (on by default).
How many companies can I get? North Data shows up to 45 matches per search to visitors without an account. Use several precise searches, or paste company URLs directly, to collect more. There is no limit on URLs.
Why are some fields empty?
North Data does not publish everything for every company. Small private companies often have no financials, and older or foreign entries may lack an address or founding date. Empty fields are null or empty lists.
Which personal data does it collect about officers? Name, role, appointment dates and the link to the person's North Data page. Birth dates and home addresses are never collected.
Can I schedule it or use the API? Yes. Schedule runs in the console or start them through the API and read the dataset in JSON, CSV or Excel.
Migrating from another North Data scraper?
The search, startUrls, maxItems, includeOfficers and includeFinancials inputs and the main output fields keep familiar names, so most integrations work as they are.
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.
searcharrayOptionalSearch
Company names or keywords to search on North Data, one per line. North Data shows up to 45 matches per search to visitors without an account, so use precise names or several keywords for more companies.
startUrlsarrayOptionalNorth Data URLs
North Data company profile URLs (for example https://www.northdata.com/Bayerische Motoren Werke AG, München/HRB 42243) or search URLs (https://www.northdata.com/_search?query=BMW).
maxItemsintegerOptionaldefault 20Maximum companies
Maximum number of companies to save across all searches and URLs. 0 means no limit.
onlyActivebooleanOptionaldefault falseOnly active companies
Skip companies that are terminated or in liquidation.
countriesarrayOptionalCountries
Only keep companies registered in these countries (two-letter codes such as DE, GB, FR, AT). Leave empty for all countries.
includeOfficersbooleanOptionaldefault trueInclude officers
Add the company's officers and representatives (name, role, appointment dates where published, North Data profile link). Birth dates and home addresses are never collected.
includeFinancialsbooleanOptionaldefault trueInclude financials
Add the published financial time series (revenue, earnings, total assets, employees, patents, public funding) and funding/IP events.
includeHistorybooleanOptionaldefault trueInclude history and publications
Add the company's history (registration, name and address changes, mergers, liquidation) and its latest register publications.
maxPublicationsintegerOptionaldefault 20Maximum publications per company
How many of the latest publications to keep per company.
includeRelatedCompaniesbooleanOptionaldefault falseInclude related companies
Add the parent companies, subsidiaries and other related companies from the network graph. North Data builds this graph slowly (about 5 seconds per company), so runs take longer.
maxConcurrencyintegerOptionaldefault 10Parallel requests
How many company pages to load at the same time.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["RESIDENTIA…Proxy configuration
North Data limits how many pages one IP address may open, so the scraper rotates residential IPs. It is cheap here: about 25 KB of traffic per company. Datacenter IPs work too but get rate limited quickly; the scraper then switches to residential.
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 |
|---|---|---|
| name | any | Company |
| status | any | Status |
| register | any | Register |
| leiCode | any | LEI |
| formattedAddress | any | Address |
| country | any | Country |
| foundingDate | any | Founded |
| industry | any | Industry |
| officerCount | any | Officers |
| url | any | North Data URL |
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 |
|---|---|---|
| Company result | Charged once for each company saved to the dataset, including its officers, financials and history. | $0.0024 |
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('cornerledger/northdata-scraper').call({
"search": [
"Siemens Energy",
"bakery Berlin"
],
"startUrls": [
"https://www.northdata.com/Bayerische Motoren Werke AG, München/HRB 42243"
],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"RESIDENTIAL"
]
}
})
// 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 cornerledger/northdata-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=cornerledger/northdata-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.
Company search with officers, financials and register history.
Full company profiles from North Data URLs.
Search URL limited to active German companies.
Company profiles with related companies such as parents and subsidiaries.
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.