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

Search 26M+ French companies from the official Sirene and RNE registers: SIREN, SIRET, VAT number, NAF activity, headcount, revenue, managers, head office and coordinates. Search by name, activity, location, size, labels or manager, or look up SIREN/SIRET lists.
Search 26 million+ French companies from the official Sirene and RNE registers and get clean, flat records: SIREN, SIRET, VAT number, NAF activity with its label, headcount, size category, legal form, revenue and net income, managers, head office address and GPS coordinates. Search by name, activity, location, size, labels or manager, search around a point, or look up lists of SIREN / SIRET / VAT numbers. No login, 1,000 companies in about 15 seconds, $6 per 1,000 companies.
boulangerie, a manager's name or an address), or paste SIREN / SIRET / VAT numbers or company links.| Field | What it does |
|---|---|
searchQueries | Search terms, one per line: company name, activity, person, address. Search links from pappers.fr or annuaire-entreprises.data.gouv.fr work too. |
companyIds | SIREN (9 digits), SIRET (14 digits), French VAT numbers or company page links to look up. |
maxResults | Companies per search (0 = all; searches past 10,000 are split automatically). |
departments, postalCodes, cityCodes, regions | Where the company has an establishment. |
nafCodes, nafSections, employeeRanges, companyCategories, legalForms | Activity, size and legal form. |
status, revenueMin / revenueMax, netIncomeMin / netIncomeMax, labels | Active or ceased, finances, certifications. |
personLastName, personFirstName, personRole, personBornAfter / personBornBefore | Companies run by a person (or local authorities they sit on). |
latitude, longitude, radiusKm | Companies with an establishment within up to 50 km of a point. |
includeEstablishments, checkBodacc, checkVat, sortBySize, countOnly | Matching establishments, BODACC notices, VIES VAT check, largest first, free count. |
{
"searchQueries": ["restaurant"],
"departments": ["69"],
"nafCodes": ["56.10A"],
"employeeRanges": ["11", "12"],
"status": "active",
"maxResults": 200
}
Look up known companies:
{
"companyIds": ["552032534", "55203253400646", "FR32403052111", "https://www.pappers.fr/entreprise/danone-552032534"]
}
One row per company. The main fields:
| Field | Example |
|---|---|
siren, siret_siege, numero_tva_intracommunautaire | 403052111, 40305211102616, FR32403052111 |
nom_complet, nom_raison_sociale, sigle, enseignes | BOULANGERIES PAUL |
etat_administratif, date_creation, date_fermeture, company_age_years | A (active) or C (ceased), 1995-12-07, 30.9 |
activite_principale, activite_principale_label, naf_division_label, naf_section_label | 10.71A, Fabrication industrielle de pain..., Industries alimentaires |
tranche_effectif_salarie, effectif_min, effectif_max, effectif_label, categorie_entreprise | 41, 500, 999, 500 à 999 salariés, ETI |
nature_juridique, nature_juridique_label | 5710, SAS, société par actions simplifiée |
ca_latest, resultat_net_latest, finances_year, finances_history | Latest published revenue and net income (EUR) |
siege_address, siege_code_postal, siege_commune, siege_departement, siege_region_label, siege_latitude, siege_longitude | Head office |
dirigeants | Managers, directors and auditors (people and companies) with role and birth month |
is_rge, is_qualiopi, is_ess, is_bio, is_association, ... | Labels and certifications |
url_pappers, url_annuaire_entreprises, url_google_maps | Links |
| With options | matching_etablissements, matched_establishment (SIRET lookups), bodacc_* and has_procedure_collective, vat_valid |
Example row from a test run (trimmed; manager names replaced with fictional ones):
{
"type": "company",
"siren": "403052111",
"siret_siege": "40305211102616",
"nom_complet": "BOULANGERIES PAUL",
"etat_administratif": "A",
"date_creation": "1995-12-07",
"categorie_entreprise": "ETI",
"tranche_effectif_salarie": "41",
"effectif_min": 500,
"effectif_max": 999,
"effectif_label": "500 à 999 salariés",
"nature_juridique": "5710",
"nature_juridique_label": "SAS, société par actions simplifiée",
"activite_principale": "10.71A",
"activite_principale_label": "Fabrication industrielle de pain et de pâtisserie fraîche",
"naf_division_label": "Industries alimentaires",
"naf_section_label": "Industrie manufacturière",
"nombre_etablissements_ouverts": 125,
"numero_tva_intracommunautaire": "FR32403052111",
"company_age_years": 30.9,
"siege_address": "BATIMENT D.E 344 AVENUE DE LA MARNE 59700 MARCQ-EN-BARŒUL",
"siege_code_postal": "59700",
"siege_commune": "MARCQ-EN-BARŒUL",
"siege_departement": "59",
"siege_region_label": "Hauts-de-France",
"siege_latitude": 50.678029398,
"siege_longitude": 3.1169136021,
"ca_latest": 73611839,
"resultat_net_latest": -2197350,
"finances_year": 2024,
"dirigeants": [
{"type": "personne_physique", "nom": "MARTIN", "prenoms": "CLAIRE", "annee_naissance": "1971", "date_naissance": "1971-04", "qualite": "Président de SAS"},
{"type": "personne_morale", "siren": "775726417", "denomination": "KPMG SA", "qualite": "Commissaire aux comptes titulaire"}
],
"url_pappers": "https://www.pappers.fr/entreprise/403052111",
"url_annuaire_entreprises": "https://annuaire-entreprises.data.gouv.fr/entreprise/403052111",
"search_input": "boulangerie",
"scraped_at": "2026-10-21T10:09:56Z"
}
The dataset has four table views: Companies, Finances and legal form, Managers (one row per manager) and Location.
Where does the data come from? Is it legal? From the French government's open company directory (Annuaire des Entreprises), which publishes the INSEE Sirene register and the INPI national company register (RNE) as open data. It is the same public data that Pappers and similar sites show. Personal data of managers is public by law in France, but your use of it must still follow the GDPR.
Do I need a login, an API key or a proxy? No. The Scrapely datacenter proxy is preselected; each run spreads its requests over several proxy sessions to stay within the source's rate limit.
How many companies can I get? As many as match. The official search returns at most 10,000 companies per query, so bigger searches are split automatically by département, then sector, then headcount. If a slice is still above 10,000 (for example all sole traders in Paris), the run tells you which search to narrow.
Why are some fields empty?
Revenue and net income exist only for companies that published their accounts. Headcount is missing for companies INSEE has no figure for (NN = no employees). Managers are missing for companies that are not in the national company register, such as most associations.
Can I check VAT numbers and insolvency notices?
Yes. Check VAT number (VIES) asks the EU VIES service whether each number is valid. VIES is slow (several seconds per number) and sometimes busy, so a busy answer leaves vat_valid empty with a reason. Legal notices (BODACC) adds the number of BODACC notices, the latest one and whether the company has had a collective proceeding (insolvency).
Can I schedule it or use it from my code?
Yes. Schedule runs in the console, or start them through the API and read the dataset as JSON, CSV or Excel. If you used another Pappers / Sirene actor before, its snake_case input names (query, sirens, departement, activite_principale, lat, lon, est_rge, ...) are accepted too.
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.
searchQueriesarrayOptionalSearch terms
One search per line: a company name, brand, activity ("boulangerie", "plombier"), a manager's name or an address. SIREN, SIRET or VAT numbers and pappers.fr / annuaire-entreprises.data.gouv.fr links also work here. Combine with the filters below, or leave empty and use filters only.
companyIdsarrayOptionalSIREN, SIRET, VAT numbers or company links
Look up specific companies: SIREN (9 digits), SIRET (14 digits, returns the company and that establishment), French VAT number (FR + 11 characters) or a company page link from pappers.fr, annuaire-entreprises.data.gouv.fr or societe.com. One per line.
maxResultsintegerOptionaldefault 20Maximum companies per search
Stop each search after this many companies. 0 = all matches. Past 10,000 matches the search is split automatically by département and activity. Lookups by number always return every company you list.
Narrow the search. Location filters match any establishment of the company, not only its head office.
departmentsarrayOptionalDépartements
Companies with an establishment in these départements, e.g. 75, 69, 13, 2A, 974.
postalCodesarrayOptionalPostal codes
Companies with an establishment in these postal codes, e.g. 75009, 69002.
cityCodesarrayOptionalINSEE city codes
Companies with an establishment in these cities, by INSEE code (not the postal code), e.g. 75056 Paris, 69123 Lyon, 13055 Marseille.
regionsarrayOptionalRegions
Companies with an establishment in these regions.
nafCodesarrayOptionalActivity codes (NAF / APE)
Main activity codes, e.g. 62.01Z (software), 56.10A (restaurants), 10.71C (bakeries). 6201Z works too.
nafSectionsarrayOptionalActivity sectors (NAF sections)
Broad sectors of the main activity.
employeeRangesarrayOptionalEmployees
Headcount brackets as published by INSEE.
companyCategoriesarrayOptionalCompany size category
INSEE category: SME, mid-cap or large enterprise.
legalFormsarrayOptionalLegal forms (INSEE codes)
4-digit legal-form codes, e.g. 5710 (SAS), 5499 (SARL), 5720 (SASU), 5599 (SA), 1000 (sole trader), 9220 (association).
statusenumOptionaldefault "active"Status
Active companies, ceased companies, or both.
revenueMinintegerOptionalMinimum revenue (EUR)
Only companies that published accounts with at least this turnover.
revenueMaxintegerOptionalMaximum revenue (EUR)
Only companies that published accounts with at most this turnover.
netIncomeMinintegerOptionalMinimum net income (EUR)
Lowest net result in the latest published accounts (can be negative).
netIncomeMaxintegerOptionalMaximum net income (EUR)
Highest net result in the latest published accounts.
labelsarrayOptionalLabels and certifications
Only companies that have all the selected labels.
Find the companies a person runs (from the national company register) or the local authorities they sit on.
personLastNamestringOptionalLast name
Last name of a manager, director or elected official, e.g. DUPONT.
personFirstNamestringOptionalFirst name
First name(s) of the person.
personRoleenumOptionalRole
Company managers (dirigeants) or elected officials (élus). Leave empty for both.
personBornAfterstringOptionalBorn on or after
Birth month or date, e.g. 1970-01. The register only keeps month and year.
personBornBeforestringOptionalBorn on or before
Birth month or date, e.g. 1985-12.
Companies with an establishment within a radius of a point. Works with the activity filters; status, size, employees, legal form and labels are checked on each result.
latitudenumberOptionalLatitude
Latitude of the centre, e.g. 48.8566 for Paris.
longitudenumberOptionalLongitude
Longitude of the centre, e.g. 2.3522 for Paris.
radiusKmnumberOptionalRadius (km)
Up to 50 km. Default 5 km.
includeEstablishmentsbooleanOptionaldefault falseMatching establishments
Add the company's establishments that matched the search (address, SIRET, activity, coordinates), e.g. its shops in the département you filtered on.
maxEstablishmentsPerCompanyintegerOptionaldefault 10Establishments per company
How many matching establishments to add per company (1 to 100). The official search API returns at most 100 per company.
checkBodaccbooleanOptionaldefault falseLegal notices (BODACC)
Add the number of BODACC legal notices, the latest one, and whether the company has been in insolvency proceedings (procédure collective). About half a second extra per 25 companies.
checkVatbooleanOptionaldefault falseCheck VAT number (VIES)
Check each VAT number against the EU VIES service and add vat_valid and the registered name. VIES is slow (several seconds per number) and sometimes busy; unchecked numbers are marked.
sortBySizebooleanOptionaldefault falseLargest companies first
Sort results by number of establishments instead of relevance.
countOnlybooleanOptionaldefault falseCount only (free preview)
Return how many companies each search matches and the estimated cost, without saving or charging any company.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies are enough. Each run spreads requests over several exits to stay within the search's rate limit.
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 |
|---|---|---|
| siren | any | SIREN |
| nom_complet | any | Name |
| numero_tva_intracommunautaire | any | VAT number |
| activite_principale | any | NAF |
| activite_principale_label | any | Activity |
| effectif_label | any | Employees |
| categorie_entreprise | any | Category |
| date_creation | any | Created |
| etat_administratif | any | Status |
| siege_address | any | Head office |
| siege_code_postal | any | Postal code |
| siege_commune | any | City |
| ca_latest | any | Revenue (EUR) |
| url_annuaire_entreprises | any | Company page |
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 | One French company saved to the dataset: identity, activity, size, finances, managers and head office. Count-only previews are free. | $0.006 |
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/pappers-scraper').call({
"searchQueries": [
"boulangerie"
],
"maxResults": 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 cornerledger/pappers-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/pappers-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.
Restaurants (NAF 56.10A) with an establishment in the Rhône and 10 to 49 employees, with managers, revenue and head office.
Full records for Danone (SIREN and one SIRET), Boulangeries Paul (VAT number) and LVMH (pappers.fr link).
Software publishers and developers (NAF 62.01Z) in Gironde with 10 to 99 employees.
Companies in accommodation and food service (NAF section I) with an establishment within 3 km of Lyon's city centre.
Construction companies (NAF section F) with the RGE eco-renovation label and an establishment in Ille-et-Vilaine.
Bakery companies with sites in Paris, the matching shops (address, SIRET, coordinates) and their BODACC legal-notice history.
How many restaurants (NAF 56.10A) have an establishment in Bouches-du-Rhône, and what saving them all would cost. Nothing is charged.
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.