# FirmenABC.at Scraper (`solidcode/firmenabc-at-scraper`) Actor

\[💰 $1.80 / 1K] Extract Austrian company profiles from FirmenABC.at — name, address, phone, email, website, industry, GPS, and logo, plus official Firmenbuchnummer, UID-Nummer, founding year, employees, and management on detailed rows. Search by what + where or paste FirmenABC.at URLs.

- **URL**: https://apify.com/solidcode/firmenabc-at-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.80 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

## FirmenABC.at Scraper

Pull Austrian company profiles from FirmenABC.at at scale — full structured addresses, phone, fax, email, website, industry, GPS coordinates, and the official register identity that other directory scrapers leave behind: the Firmenbuchnummer, the UID-Nummer (VAT ID), the founding year, the employee band, and the named management (Geschäftsführer). Built for B2B sales teams, market researchers, recruiters, and KYC/compliance analysts who need verified Austrian company records — complete with the official register numbers — without copying them out of FirmenABC one profile at a time.

### Why This Scraper?

- **Official Firmenbuchnummer on every detail-enriched company** — the Austrian commercial-register number that turns a directory listing into a verifiable legal entity, captured straight from the company profile. Most FirmenABC scrapers omit it entirely.
- **UID-Nummer (Austrian VAT ID) for tax and KYC checks** — the ATU VAT identifier surfaced alongside the register number, ready for VIES validation and supplier onboarding.
- **Named management with roles** — each Geschäftsführer / vertretungsbefugte Person returned as a `{name, role}` pair (e.g. "GESCHÄFTSFÜHRER/IN (handelsrechtlich)"), so you know who actually signs for the company.
- **Structured 6-part address plus GPS** — street, postal code, city, district (Bezirk), state (Bundesland), and country split into separate fields, with latitude and longitude when published — no flat address string to re-parse.
- **All 9 Austrian Bundesländer in one search** — Wien, Niederösterreich, Oberösterreich, Steiermark, Tirol, Salzburg, Kärnten, Vorarlberg, and Burgenland; leave the location empty to sweep the whole country at once.
- **Founding year and employee band** — Gründungsjahr and the size band for company-age and headcount segmentation, drawn from the official profile.
- **What-plus-where search or direct URLs** — query by keyword, industry (Branche), or company name paired with a region, or paste FirmenABC.at result, category, and company-profile URLs to scrape exactly what you already found.
- **Two speed/cost modes in one toggle** — full detail enrichment for register identity, contacts, and management, or a fast listing-only harvest of company name, phone, address, and FirmenABC profile URL when you just need a wide net.

### Use Cases

**Lead Generation**
- Build targeted B2B prospect lists by industry and Bundesland
- Capture direct phone, email, and website contacts for outreach
- Pull named decision-makers (Geschäftsführer) for account-based selling
- Segment leads by company age and employee band

**Market Research**
- Map the competitive landscape for any Branche across Austria
- Size a regional market by counting active companies per Bundesland
- Track industry density city-by-city using district and postal-code data
- Benchmark founding-year cohorts to spot emerging vs. established players

**KYC & Compliance**
- Verify counterparties against the official Firmenbuchnummer
- Collect UID-Nummer VAT IDs for supplier and vendor onboarding
- Cross-check registered management names during due diligence
- Enrich AML and sanctions-screening records with structured company identity

**Recruitment & Sales Intelligence**
- Identify employers by industry and headcount band for talent sourcing
- Reach hiring decision-makers through captured management contacts
- Map target employers geographically for territory planning
- Feed a CRM with clean, structured Austrian company records

**Data Enrichment & Integration**
- Append register numbers and VAT IDs to an existing Austrian company database
- Geocode company records with ready-to-use GPS coordinates
- Standardize messy address fields into a six-part structured schema
- Power dashboards and comparison tools with fresh directory data

### Getting Started

#### Search by Keyword and Region

The simplest way to start — one search term and an Austrian region:

```json
{
    "searchQueries": ["Rechtsanwalt"],
    "location": "Wien"
}
````

#### Fast Listing-Only Harvest

Turn off detail enrichment for a quick, low-cost sweep of company names, phones, and profile URLs:

```json
{
    "searchQueries": ["Restaurant"],
    "location": "Steiermark",
    "includeDetails": false,
    "maxResults": 500
}
```

#### Full Detail Run with Mixed Sources

Combine a keyword search with pasted FirmenABC.at URLs and pull every register field:

```json
{
    "searchQueries": ["Bauunternehmen", "Software"],
    "location": "Oberösterreich",
    "searchUrls": [
        "https://www.firmenabc.at/suche/ergebnisse?...",
        "https://www.firmenabc.at/example-gmbh_aB1cD"
    ],
    "includeDetails": true,
    "maxResults": 2000
}
```

### Input Reference

#### Search

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchQueries` | array of strings | `["Rechtsanwalt"]` | What to find on FirmenABC.at — a keyword, an industry (Branche), or a company name (e.g. "Software", "Restaurant", "Bauunternehmen"). One row per search term. Leave empty if you are only using direct URLs. |
| `location` | string | `"Wien"` | Where in Austria to search. Works best with a region name: Wien, Niederösterreich, Oberösterreich, Steiermark, Tirol, Salzburg, Kärnten, Vorarlberg, or Burgenland. Leave empty to search all of Austria. |
| `searchUrls` | array of strings | `[]` | Paste FirmenABC.at URLs directly: search / category result pages, or individual company-profile pages. Any filters baked into the URL are honored as-is. Scraped in addition to the search above. |

#### Output Detail & Limits

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeDetails` | boolean | `true` | Visit each company's profile page to enrich the row with the official Firmenbuchnummer, UID-Nummer, founding year, employee band, management, email, website, and the full structured address. Turn off for faster, cheaper runs that return only listing data (name, phone, address, industry). |
| `maxResults` | integer | `100` | Hard cap on total company rows across all searches and URLs. Set to 0 for no cap (an internal upper limit of 50,000 rows per run still applies). The run stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots. |

### Output

Each company is returned as a single flat record. Detail-enriched runs populate the register, contact, and management fields below; listing-only runs (`includeDetails: false`) return the company name, FirmenABC.at profile URL, and capture timestamp.

```json
{
    "name": "Example Bau GmbH",
    "legalForm": "GmbH",
    "categories": ["Bauunternehmen", "Hochbau"],
    "description": "Planung und Ausführung von Hoch- und Tiefbauprojekten.",
    "phone": "+43 1 1234567",
    "fax": "+43 1 1234568",
    "email": "office@example-bau.at",
    "website": "https://www.example-bau.at",
    "street": "Beispielstraße 12",
    "postalCode": "1010",
    "city": "Wien",
    "district": "Innere Stadt",
    "state": "Wien",
    "country": "AT",
    "latitude": 48.2082,
    "longitude": 16.3738,
    "companyRegisterId": "FN 123456 a",
    "vatId": "ATU12345678",
    "foundingYear": "1998",
    "employeeCount": "10-49",
    "management": [
        { "name": "Maria Beispiel", "role": "GESCHÄFTSFÜHRER/IN (handelsrechtlich)" }
    ],
    "openingHours": [
        { "dayOfWeek": "Monday", "opens": "08:00", "closes": "17:00" },
        { "dayOfWeek": "Tuesday", "opens": "08:00", "closes": "17:00" }
    ],
    "logoUrl": "https://www.firmenabc.at/logos/example-bau.png",
    "url": "https://www.firmenabc.at/example-bau-gmbh_aB1cD",
    "scrapedAt": "2026-06-17T10:30:00.000Z"
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Company name (Firmenname). |
| `legalForm` | string | Legal form derived from the name (GmbH, KG, e.U., AG, …) when present. |
| `categories` | array of strings | Industry categories (Branche) — a small bounded list. |
| `description` | string | Business purpose / activity description (Tätigkeitsbeschreibung). |
| `logoUrl` | string | Company logo image URL. |
| `url` | string | FirmenABC.at profile URL. |
| `scrapedAt` | string | ISO timestamp of capture. |

#### Contact

| Field | Type | Description |
|-------|------|-------------|
| `phone` | string | Primary phone number. |
| `fax` | string | Fax number, when present. |
| `email` | string | Email address (detail-enriched rows). |
| `website` | string | Company website URL (detail-enriched rows). |

#### Address & Location

| Field | Type | Description |
|-------|------|-------------|
| `street` | string | Street and house number. |
| `postalCode` | string | Postal code (PLZ). |
| `city` | string | City / locality (Ort). |
| `district` | string | District (Bezirk), when present. |
| `state` | string | State / region (Bundesland). |
| `country` | string | Country code (e.g. "AT"). |
| `latitude` | number | GPS latitude, when published. |
| `longitude` | number | GPS longitude, when published. |

#### Register Data & Management

| Field | Type | Description |
|-------|------|-------------|
| `companyRegisterId` | string | Firmenbuchnummer — the official Austrian commercial-register number (detail-enriched rows). |
| `vatId` | string | UID-Nummer — Austrian VAT ID (detail-enriched rows). |
| `foundingYear` | string | Founding year (Gründungsjahr), when present. |
| `employeeCount` | string | Employee band (e.g. "10-49"), when present. |
| `management` | array of objects | Geschäftsführer / vertretungsbefugte Personen, each as `{ name, role }` — a small bounded list. |
| `openingHours` | array of objects | Opening-hours entries, when present — each as `{ dayOfWeek, opens, closes }` (an optional `description` is included for special cases). |

### Tips for Best Results

- **Leave `location` empty to sweep all of Austria**, then filter by the `state` (Bundesland) field downstream — this captures every region in one run instead of nine separate searches.
- **Turn off `includeDetails` for a fast, cheap name-and-URL harvest** when you only need to know which companies exist; re-run with details on for just the URLs you want to enrich.
- **Use a Bundesland name rather than a city** in `location` — region-level terms (Wien, Steiermark, Tirol) match far more reliably than narrow city names.
- **Register fields are populated for incorporated companies** (GmbH, AG, KG). Sole practitioners and freelancers often have no Firmenbuchnummer or management list — that is expected, not an error.
- **Split very large jobs across multiple search terms or regions** rather than one enormous run — several focused queries paginate more cleanly than a single nationwide sweep.
- **Paste FirmenABC.at URLs to target an exact result set** — any filters baked into the URL are honored, so you can refine on the site and let the actor collect the page.
- **Combine keyword and company-name searches** in one `searchQueries` list to cover both a whole industry and specific named targets in a single run.

### Pricing

**From $1.80 per 1,000 results** — undercutting comparable Austrian directory extractors while returning the official register identity they leave out. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows the total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.22 | $0.20 | $0.19 | $0.18 |
| 1,000 | $2.15 | $2.00 | $1.90 | $1.80 |
| 10,000 | $21.50 | $20.00 | $19.00 | $18.00 |
| 100,000 | $215.00 | $200.00 | $190.00 | $180.00 |

A "result" is one company record. **No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.** Apify platform fees are additional.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor collects publicly available business information from FirmenABC.at. Use it responsibly and in compliance with FirmenABC.at's terms of service and all applicable laws, including the GDPR and Austrian data-protection regulations. Personal data such as management names must be processed only on a valid legal basis and for legitimate business purposes. You are responsible for how you use and store the data you collect.

# Actor input Schema

## `searchQueries` (type: `array`):

What to find on FirmenABC.at — a keyword, an industry (Branche), or a company name (e.g. 'Rechtsanwalt', 'Software', 'Restaurant', 'Bauunternehmen'). One row per search term. Leave empty if you're only using direct URLs below.

## `location` (type: `string`):

Where in Austria to search. Works best with a state / region name: 'Wien', 'Niederösterreich', 'Oberösterreich', 'Steiermark', 'Tirol', 'Salzburg', 'Kärnten', 'Vorarlberg', or 'Burgenland'. Leave empty to search all of Austria.

## `searchUrls` (type: `array`):

Paste FirmenABC.at URLs directly: search / category result pages, or individual company-profile pages. Any filters baked into the URL are honored as-is. When provided, these are scraped in addition to the search above.

## `includeDetails` (type: `boolean`):

Visit each company's profile page to enrich the row with the official Firmenbuchnummer (Austrian company register number), UID-Nummer (VAT ID), founding year, employee band, management (Geschäftsführer), email, website, and the full structured address. Turn off for faster, cheaper runs that return only the listing data (name, phone, address, industry). Slower when on (one extra request per company).

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

Hard cap on total company rows across all searches and URLs. Default 100 — increase for bigger runs, or set to 0 for no cap (an internal upper limit of 50,000 rows per run still applies to prevent runaway pagination). The actor stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots. To gather very large datasets, split a request across multiple search queries or locations.

## Actor input object example

```json
{
  "searchQueries": [
    "Rechtsanwalt"
  ],
  "location": "Wien",
  "searchUrls": [],
  "includeDetails": true,
  "maxResults": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

Quick view of extracted companies with key contact and identity fields.

## `companies` (type: `string`):

Full payload per company including register number, VAT ID, founding year, employee band, management, structured address, GPS, opening hours, and logo.

# 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 = {
    "searchQueries": [
        "Rechtsanwalt"
    ],
    "location": "Wien",
    "searchUrls": [],
    "includeDetails": true,
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/firmenabc-at-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 = {
    "searchQueries": ["Rechtsanwalt"],
    "location": "Wien",
    "searchUrls": [],
    "includeDetails": True,
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/firmenabc-at-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 '{
  "searchQueries": [
    "Rechtsanwalt"
  ],
  "location": "Wien",
  "searchUrls": [],
  "includeDetails": true,
  "maxResults": 100
}' |
apify call solidcode/firmenabc-at-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "FirmenABC.at Scraper",
        "description": "[💰 $1.80 / 1K] Extract Austrian company profiles from FirmenABC.at — name, address, phone, email, website, industry, GPS, and logo, plus official Firmenbuchnummer, UID-Nummer, founding year, employees, and management on detailed rows. Search by what + where or paste FirmenABC.at URLs.",
        "version": "1.0",
        "x-build-id": "qnO6Aci83sIBPs8a4"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~firmenabc-at-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-firmenabc-at-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/solidcode~firmenabc-at-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-firmenabc-at-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/solidcode~firmenabc-at-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-firmenabc-at-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",
                "properties": {
                    "searchQueries": {
                        "title": "Search Queries",
                        "type": "array",
                        "description": "What to find on FirmenABC.at — a keyword, an industry (Branche), or a company name (e.g. 'Rechtsanwalt', 'Software', 'Restaurant', 'Bauunternehmen'). One row per search term. Leave empty if you're only using direct URLs below.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Where in Austria to search. Works best with a state / region name: 'Wien', 'Niederösterreich', 'Oberösterreich', 'Steiermark', 'Tirol', 'Salzburg', 'Kärnten', 'Vorarlberg', or 'Burgenland'. Leave empty to search all of Austria."
                    },
                    "searchUrls": {
                        "title": "FirmenABC.at URLs",
                        "type": "array",
                        "description": "Paste FirmenABC.at URLs directly: search / category result pages, or individual company-profile pages. Any filters baked into the URL are honored as-is. When provided, these are scraped in addition to the search above.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeDetails": {
                        "title": "Include Detail-Page Data",
                        "type": "boolean",
                        "description": "Visit each company's profile page to enrich the row with the official Firmenbuchnummer (Austrian company register number), UID-Nummer (VAT ID), founding year, employee band, management (Geschäftsführer), email, website, and the full structured address. Turn off for faster, cheaper runs that return only the listing data (name, phone, address, industry). Slower when on (one extra request per company).",
                        "default": true
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Hard cap on total company rows across all searches and URLs. Default 100 — increase for bigger runs, or set to 0 for no cap (an internal upper limit of 50,000 rows per run still applies to prevent runaway pagination). The actor stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots. To gather very large datasets, split a request across multiple search queries or locations.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
