# Brazil Space Industry Catalog Scraper (AEB) (`jungle_synthesizer/aeb-spaceindustry-brazil-catalog-scraper`) Actor

Scrapes the official Brazilian Space Agency (AEB) supplier catalog at spaceindustry.aeb.gov.br. Returns company profiles including name, location, application fields, contact details, LinkedIn, employee size, and website for all firms in Brazil's national space-industry directory.

- **URL**: https://apify.com/jungle\_synthesizer/aeb-spaceindustry-brazil-catalog-scraper.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

## Brazil Space Industry Catalog Scraper (AEB)

Scrape the official Brazilian Space Agency supplier catalog at [spaceindustry.aeb.gov.br](https://spaceindustry.aeb.gov.br). Returns company profiles for Brazil's national space-industry directory — name, location, application sectors, contact details, LinkedIn, employee size, and website — as structured JSON.

---

### Brazil Space Industry Catalog Scraper Features

- **Full company profiles** — name, description, and capabilities for every firm in the AEB directory.
- **Contact data** — website, email, and phone where the catalog publishes them.
- **Application sectors** — the space-industry fields each company serves (Earth observation, telecommunications, propulsion, and the rest).
- **Firmographics** — employee size band, founding year, and CNPJ tax ID when listed.
- **LinkedIn links** — company page URLs for the entries that have them, which is handy when the catalog contact is sparse.
- **Location data** — city, state UF code, and country for territory mapping.
- **Set-and-forget scope** — set `maxItems` to `0` to pull the entire catalog in one run.

---

### Who Uses Brazil Space Industry Data?

- **B2B sales teams** — build targeted lead lists for the Brazilian aerospace and defense supply chain.
- **Market analysts** — map the LATAM space sector by capability, sector, and company size.
- **Procurement and sourcing** — find qualified Brazilian suppliers by application field before issuing an RFP.
- **Researchers and policy analysts** — study the composition of Brazil's national space-industry base, or at least the dataset that lets you.
- **CRM enrichment** — feed company names, locations, and contacts straight into your pipeline.

---

### How Brazil Space Industry Catalog Scraper Works

1. Set **Max Items** to cap how many companies you want, or `0` for the full catalog.
2. Run the actor. It reaches the government site and reads the catalog for you — no proxy or access setup on your end.
3. The scraper walks the directory listing, then visits each company entry for its full profile.
4. Results stream to your dataset as clean JSON, one row per company.

---

### Input

```json
{
  "maxItems": 10
}
````

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `maxItems` | integer | 10 | Maximum number of company records to scrape. Set to `0` for all. |
| `resumeCursor` | string | — | Cursor from a previous run's Output. Leave empty for a fresh crawl. |

To pull the entire catalog:

```json
{
  "maxItems": 0
}
```

***

### Brazil Space Industry Catalog Scraper Output Fields

```json
{
  "company_name": "Orbital Engenharia Ltda.",
  "cnpj": "12.345.678/0001-90",
  "description": "Design and integration of small-satellite subsystems and ground-station software.",
  "application_fields": ["Observação da Terra", "Telecomunicações"],
  "products_services": ["Satélites de pequeno porte", "Software de estação terrena"],
  "city": "São José dos Campos",
  "state": "SP",
  "country": "BR",
  "website": "https://www.orbitalengenharia.com.br",
  "email": "contato@orbitalengenharia.com.br",
  "phone": "+55 12 3921-0000",
  "certifications": ["ISO 9001", "AS9100"],
  "employee_size_band": "Pequena ou Média",
  "founding_year": 2009,
  "linkedin_url": "https://www.linkedin.com/company/orbital-engenharia",
  "aeb_catalog_url": "https://spaceindustry.aeb.gov.br/pt-br/catalogo/orbital-engenharia",
  "last_updated": "2026-05-14"
}
```

| Field | Type | Description |
|-------|------|-------------|
| `company_name` | string | Company name (razão social / fantasia). |
| `cnpj` | string | Brazilian CNPJ tax ID when published. |
| `description` | string | Company profile and capabilities. |
| `application_fields` | array | Application sectors (e.g. Observação da Terra, Telecomunicações). |
| `products_services` | array | Specific offerings listed by the company. |
| `city` | string | City. |
| `state` | string | State UF code (SP, RJ, MG, ...). |
| `country` | string | Country (always BR). |
| `website` | string | Company website URL. |
| `email` | string | Contact email address. |
| `phone` | string | Contact phone number. |
| `certifications` | array | Certifications held (ISO, AS9100, NBR, etc.). |
| `employee_size_band` | string | Company size band (Microempresa / Pequena ou Média / Grande). |
| `founding_year` | integer | Year the company was founded. |
| `linkedin_url` | string | LinkedIn company page URL. |
| `aeb_catalog_url` | string | Canonical entry URL on spaceindustry.aeb.gov.br. |
| `last_updated` | string | Date the catalog entry was last updated (ISO 8601). |

***

### Resuming a large crawl

Every run emits a `resumeCursor` in its Output. If a large crawl stops before it finishes — because it hit `maxItems`, your spend cap (`maxTotalChargeUsd`), or was aborted — start a new run with **the same input** plus that `resumeCursor` to continue from where it left off. The crawl resumes from the queued work the previous run didn't reach.

- You are **not re-charged** for records the earlier run already delivered.
- Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs. Once the source run is pruned, its `resumeCursor` is no longer valid.
- `resumeCursor` is opaque — supply it unmodified.

***

### FAQ

#### How do I scrape the AEB space industry catalog?

Brazil Space Industry Catalog Scraper reads the AEB supplier directory for you. Set `maxItems` (or `0` for everything) and run — no URLs to assemble, no access setup.

#### Does the AEB scraper need proxies?

Brazil Space Industry Catalog Scraper reaches the government site on its own. You don't configure proxies or manage access — you get the company data.

#### What data can I get from the AEB catalog?

Brazil Space Industry Catalog Scraper returns company name, description, application sectors, products and services, location, website, email, phone, LinkedIn, employee size band, founding year, and CNPJ where the catalog publishes them.

#### How much does Brazil Space Industry Catalog Scraper cost to run?

Brazil Space Industry Catalog Scraper charges $0.10 per run start plus $0.002 per company record. Pulling 500 companies costs about $1.10. You pay for records you receive.

#### Can I scrape the entire catalog at once?

Yes. Set `maxItems` to `0` and the scraper pulls every company in the directory in a single run.

***

### Need More Features?

Need custom fields, extra filters, or a different government registry? [File an issue](https://console.apify.com/actors/issues) or get in touch.

### Why Use Brazil Space Industry Catalog Scraper?

- **Complete directory** — pulls the whole AEB catalog in one run, not a hand-copied subset.
- **Lead-ready output** — returns contacts, LinkedIn, and firmographics as structured JSON, so it drops into a CRM instead of a cleanup queue.
- **Affordable** — $0.002 per company record, and you only pay for what you receive.

# Actor input Schema

## `sp_intended_usage` (type: `string`):

What will this data feed? E.g. lead lists, KYB checks, price tracking.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

We'll personally help with your use case. No spam.

## `resumeCursor` (type: `string`):

Leave empty for a fresh crawl. To CONTINUE a previous run where it stopped — without paying again for records you already received — paste the `resumeCursor` value from that run's Output (the run's OUTPUT key). Resume promptly: the previous run's data expires with your account's retention window (free tier: your ~10 most recent runs).

## `maxItems` (type: `integer`):

Maximum number of company records to scrape. Set to 0 for all.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/aeb-spaceindustry-brazil-catalog-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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/aeb-spaceindustry-brazil-catalog-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 '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "maxItems": 10
}' |
apify call jungle_synthesizer/aeb-spaceindustry-brazil-catalog-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jungle_synthesizer/aeb-spaceindustry-brazil-catalog-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Brazil Space Industry Catalog Scraper (AEB)",
        "description": "Scrapes the official Brazilian Space Agency (AEB) supplier catalog at spaceindustry.aeb.gov.br. Returns company profiles including name, location, application fields, contact details, LinkedIn, employee size, and website for all firms in Brazil's national space-industry directory.",
        "version": "0.1",
        "x-build-id": "TkrJgYGh5HLwxp1HO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~aeb-spaceindustry-brazil-catalog-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-aeb-spaceindustry-brazil-catalog-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/jungle_synthesizer~aeb-spaceindustry-brazil-catalog-scraper/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-aeb-spaceindustry-brazil-catalog-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/jungle_synthesizer~aeb-spaceindustry-brazil-catalog-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-aeb-spaceindustry-brazil-catalog-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "maxItems"
                ],
                "properties": {
                    "sp_intended_usage": {
                        "title": "What is the intended usage of this data?",
                        "minLength": 1,
                        "type": "string",
                        "description": "What will this data feed? E.g. lead lists, KYB checks, price tracking."
                    },
                    "sp_improvement_suggestions": {
                        "title": "How can we improve this crawler for you?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide any feedback or suggestions for improvements."
                    },
                    "sp_contact": {
                        "title": "Contact email (optional)",
                        "minLength": 1,
                        "type": "string",
                        "description": "We'll personally help with your use case. No spam."
                    },
                    "resumeCursor": {
                        "title": "Resume cursor (continue a previous run)",
                        "type": "string",
                        "description": "Leave empty for a fresh crawl. To CONTINUE a previous run where it stopped — without paying again for records you already received — paste the `resumeCursor` value from that run's Output (the run's OUTPUT key). Resume promptly: the previous run's data expires with your account's retention window (free tier: your ~10 most recent runs)."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "type": "integer",
                        "description": "Maximum number of company records to scrape. Set to 0 for all.",
                        "default": 10
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
