# eInforma Scraper — Spanish Company Register Data (`studio-amba/einforma-scraper`) Actor

Search and extract Spanish company data from eInforma (einforma.com). Look up companies by name and get CIF/VAT ID, legal form, address, founding date, CNAE industry code, business purpose, share capital, and BORME register info. No API key, no login required.

- **URL**: https://apify.com/studio-amba/einforma-scraper.md
- **Developed by:** [Studio Amba](https://apify.com/studio-amba) (community)
- **Categories:** Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 result scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## eInforma Scraper — Spanish Company Register Data

Search and extract Spanish company data from [eInforma](https://www.einforma.com), the largest Spanish
company-information directory built on top of the **BORME** (Boletín Oficial del Registro Mercantil —
the official gazette of the Spanish commercial registers). Look up a company by name or CIF and get the
CIF/VAT number, legal form, registered address, founding date, CNAE industry code, corporate purpose,
share capital, and the linked provincial Registro Mercantil office. No API key, no login, no cookies
required — the actor reads eInforma's public, free company-profile pages.

eInforma is one of the main public windows into Spain's commercial registers. This actor turns a plain
company-name search into a clean, structured list of company profiles you can drop into a CRM, a KYC/
due-diligence workflow, or a sales-prospecting spreadsheet — without clicking through the site by hand.

### How to scrape eInforma data

This actor reads eInforma's own public search page and company profile pages. It returns one structured
record per matching company, with the same information you'd see by clicking through the website
yourself — just structured and bulk-exportable via the Apify API, CSV/Excel/JSON export, or scheduled
runs.

#### Search by company name or CIF

Enter a company name (e.g. `Mercadona`, `Iberdrola`) or a CIF/VAT number (e.g. `A46103834`) in
**Company Name or CIF**. eInforma's search matches on trade name, legal name, and CIF.

#### Filter by province

Set **Province Filter** to restrict results to one Spanish province — either the province name (e.g.
`Madrid`, `Barcelona`, `Valencia`) or eInforma's own 2-digit province code (e.g. `28` for Madrid). Leave
empty to search across all 52 Spanish provinces at once.

#### Result limit

**Max Results** caps how many company profiles the actor fetches and pushes per run (default 50). Note
that eInforma's own search returns a limited set of closest name matches per query — for broader
coverage, run several narrower queries rather than relying on one very generic term.

### What data does eInforma Scraper extract?

| Field | Type | Description |
|-------|------|--------------|
| **companyName** | String | Registered legal company name |
| **cif** | String | CIF / VAT identification number (e.g. `A46103834`) |
| **legalForm** | String | Legal form (e.g. "Sociedad limitada", "Sociedad anónima") |
| **address** | String | Full formatted registered address |
| **street** | String | Street and number |
| **postalCode** | String | Postal code |
| **city** | String | City / municipality |
| **provincia** | String | Province, as shown on eInforma |
| **country** | String | Country (always "España" for this actor) |
| **foundingDate** | String | Company founding/incorporation date (DD/MM/YYYY, as published) |
| **industryOrPurpose** | String | C.N.A.E. activity code + description (Spain's national economic-activity classification) |
| **businessPurpose** | String | Free-text corporate purpose ("Objeto Social") from the company's bylaws |
| **shareCapital** | String | Registered share capital ("Capital Social") |
| **registroMercantil** | String | The provincial Registro Mercantil (companies register office) holding the file, plus its BORME filing count |
| **lastBormeAct** | String | Date and type of the most recent BORME notice on record |
| **url** | String | Link to the company's eInforma profile page |
| **scrapedAt** | String | ISO timestamp of extraction |

Full financial statements (deposited annual accounts / balance sheets), credit-risk scoring reports, and
"informe completo" PDF downloads are behind eInforma's paid reports and are **not** included in this
actor's output — only the free public profile fields above are scraped.

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|--------------|
| **Company Name or CIF** | String | `Mercadona` | Search by company name or CIF/VAT number |
| **Province Filter** | String | — | Province name or 2-digit code to restrict results to |
| **Max Results** | Integer | `50` | Maximum companies to return (1–200) |
| **Proxy Configuration** | Object | Spanish residential proxy | Proxy settings |

### Example output

```json
{
    "companyName": "MERCADONA SA",
    "cif": "A46103834",
    "legalForm": "Sociedad anónima",
    "address": "Calle Alfonso Roig Alfonso, S/n, 46135, Albalat Dels Sorells",
    "street": "Calle Alfonso Roig Alfonso, S/n",
    "postalCode": "46135",
    "city": "Albalat Dels Sorells",
    "provincia": "Valencia/València",
    "country": "España",
    "foundingDate": "18/01/1977",
    "industryOrPurpose": "51410000 - Alimentos, en general",
    "businessPurpose": "La realización de las siguientes actividades tanto en España como en el extranjero: 1. La importación, exportación, fabricación, comercialización, compra y venta de todos los artículos que comprende el ramo de la alimentación y de cualesquiera otros productos destinados al consumo. 2. La apertura y.",
    "shareCapital": "15.921.000 €",
    "registroMercantil": "Registro Mercantil de Valencia/València - 584 actos en BORME publicados",
    "lastBormeAct": "10/07/2026 Nombramientos",
    "url": "https://www.einforma.com/informacion-empresa/mercadona",
    "scrapedAt": "2026-08-01T14:23:39.494Z"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### Common use cases

- Build B2B prospecting lists enriched with CIF, address, legal form, and industry code.
- Verify a supplier's, customer's, or partner's legal identity, registration status, and registered
  province before signing a contract.
- KYC / AML pre-checks — pull CIF, legal form, share capital, and BORME filing history in one pass.
- Feed structured Spanish company data into CRM enrichment or market-research pipelines.
- Monitor recent BORME activity (incorporations, dissolutions, appointments) for a list of target
  companies.

### Cost estimate

Pricing is pay-per-result. Each run makes one lightweight HTML search request plus one HTML profile
request per matched company — no browser rendering is used, so compute cost per run is low. A run
returning 50 companies typically makes 51 total HTTP requests.

### Limitations

- eInforma's own search returns a limited set of closest name matches per query (similar to typing into
  the site's search box by hand) — it is not an exhaustive substring search across its full database.
  For broader coverage, run multiple narrower queries.
- Full financial statements, credit-risk scores, and paid PDF reports are not available through this
  actor — only the free public profile fields are scraped.
- Sole traders (autónomos) and very small/inactive entities sometimes have thinner free profiles (e.g.
  no CNAE or founding date on file); core identity fields (company name, CIF, address) are populated for
  the large majority of results.

### Related scrapers

- **[North Data Scraper](https://apify.com/studio-amba/northdata-scraper)** — European company data (Germany + 15 more countries) from North Data.
- **[Handelsregister Scraper](https://apify.com/studio-amba/handelsregister-scraper)** — German commercial register data.
- **[KVK Scraper](https://apify.com/studio-amba/kvk-scraper)** — Dutch Chamber of Commerce company data.
- **[Infogreffe Scraper](https://apify.com/studio-amba/infogreffe-scraper)** — French company register data (SIREN/SIRET).
- **[Companies House Scraper](https://apify.com/studio-amba/companies-house-scraper)** — UK company register data.

### Data source and legality

This actor reads publicly available company data that eInforma republishes from Spain's official
commercial registers (BORME) and other public sources. It does not access any login-protected or paid
area, and it identifies itself with a standard browser user agent. Use the data in line with eInforma's
terms and applicable data-protection rules (in particular, take care with personal data of natural
persons / autónomos returned in some results).

# Actor input Schema

## `searchQuery` (type: `string`):

Search for a Spanish company by name or CIF/VAT number. Example: 'Mercadona', 'Iberdrola', 'A46103834'.

## `provincia` (type: `string`):

Optional. Restrict results to one Spanish province. Accepts a province name (e.g. 'Madrid', 'Barcelona', 'Valencia') or eInforma's 2-digit province code (e.g. '28' for Madrid). Leave empty to search all provinces.

## `maxResults` (type: `integer`):

Maximum number of companies to return.

## `proxyConfiguration` (type: `object`):

Select proxies to use. A Spanish residential proxy is used by default for geo-consistent results.

## Actor input object example

```json
{
  "searchQuery": "Mercadona",
  "maxResults": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "ES"
  }
}
```

# 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 = {
    "searchQuery": "Mercadona",
    "maxResults": 50,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "ES"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("studio-amba/einforma-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 = {
    "searchQuery": "Mercadona",
    "maxResults": 50,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "ES",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("studio-amba/einforma-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 '{
  "searchQuery": "Mercadona",
  "maxResults": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "ES"
  }
}' |
apify call studio-amba/einforma-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/9KAGYLnutV90dmxXd/builds/h6fhRlIuCKhwFwbBe/openapi.json
