# B2B Growth Signal Finder (`coregent/b2b-growth-signal-finder`) Actor

Enrich company domains with public hiring, website, and growth signals - careers pages, open-role counts, demo/pricing/contact CTAs, expansion indicators, and a transparent 0-100 growth score. No login or cookies.

- **URL**: https://apify.com/coregent/b2b-growth-signal-finder.md
- **Developed by:** [Delowar Munna](https://apify.com/coregent) (community)
- **Categories:** Lead generation, Jobs, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.40 / 1,000 growth-signal-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

## B2B Growth Signal Finder

![B2B Growth Signal Finder](https://raw.githubusercontent.com/coregentdevspace/b2b-growth-signal-finder-assets/main/thumbnail-b2b-growth-signal-finder.png)

Enrich a list of **company domains or website URLs** with public **hiring**, **website**, and **growth** signals — careers pages, open-role counts, demo/pricing/contact CTAs, partner/case-study/location pages, and expansion keywords — then score each company with a transparent, non-AI **0–100 growth signal score**. Built for **B2B sales teams, lead-gen agencies, recruiters, and market researchers** who want to prioritise outreach by visible buying-intent and growth.

**No login, no cookies, no sessions.** The actor fetches each company's public homepage and a few shallow-discovered key pages over HTTP. You pay one flat event per unique company row that passes your filters.

### ✨ Why this scraper

- **Company-level, signal-first** — one flat row per company, focused on actionable growth indicators, not raw contact scraping.
- **Two input modes** — paste full company URLs or bare domains; both are normalized to a root domain.
- **27 flat fields** — identity, hiring signals, website/buying-intent signals, and a transparent score. No nested objects; drops straight into Sheets/Excel/CRMs.
- **Transparent rule-based score** — every point is explained by reason tags (no AI, no black box).
- **Cheap & compliant** — public pages only, no login-only platforms, no expensive enrichment APIs, no email/contact scraping.
- **Pay-Per-Event** — one flat `growth-signal-result` event per saved unique company. Duplicates, filtered, and failed rows are never charged.

---

### 🚀 Quick start — sample inputs

#### Example 1 — company URLs with filters

```json
{
    "companyUrls": [
        "https://www.atlassian.com",
        "https://www.figma.com",
        "https://www.cloudflare.com",
        "https://stripe.com"
    ],
    "maxResults": 100,
    "scanMode": "homepage_plus_key_pages",
    "maxPagesPerCompany": 5,
    "includeHiringSignals": true,
    "minOpenJobs": 0,
    "minGrowthSignalScore": 30,
    "deduplicate": true,
    "proxyConfiguration": { "useApifyProxy": true }
}
````

#### Example 2 — bare domains, homepage-only, tag filter

```json
{
    "domains": ["stripe.com", "notion.so", "figma.com"],
    "scanMode": "homepage_only",
    "includeHiringSignals": true,
    "requiredSignalTags": ["active_hiring", "demo_cta_found"],
    "proxyConfiguration": { "useApifyProxy": true }
}
```

***

### 🧾 Input fields

| Field                  | Type    | Default                     | Purpose                                                |
| ---------------------- | ------- | --------------------------- | ------------------------------------------------------ |
| `companyUrls`          | array   | `[]`                        | Direct company website URLs to enrich                  |
| `domains`              | array   | `[]`                        | Domain-only inputs (converted to `https://<domain>`)   |
| `maxResults`           | integer | `100`                       | Max saved company rows (1–5000)                        |
| `scanMode`             | string  | `homepage_plus_key_pages`   | `homepage_only` or `homepage_plus_key_pages`           |
| `maxPagesPerCompany`   | integer | `5`                         | Page guardrail (1–10; forced to 1 for `homepage_only`) |
| `includeHiringSignals` | boolean | `true`                      | Detect + scan a public careers/jobs page               |
| `minOpenJobs`          | integer | `0`                         | Keep companies with at least N visible open jobs       |
| `minGrowthSignalScore` | integer | `0`                         | Keep companies scoring at least this (0–100)           |
| `requiredSignalTags`   | array   | `[]`                        | Keep a company only if it has ≥1 of these reason tags  |
| `deduplicate`          | boolean | `true`                      | Remove duplicate companies by root domain              |
| `proxyConfiguration`   | object  | `{ "useApifyProxy": true }` | Datacenter, no-proxy, or custom proxy URLs             |

> At least one of `companyUrls` or `domains` is required. No field accepts login credentials, cookies, session tokens, or account API keys.

***

### 📤 Output — one flat row per company

Results are returned as a flat **Growth signals** table — one row per company:

![Growth signals output table](https://raw.githubusercontent.com/coregentdevspace/b2b-growth-signal-finder-assets/main/b2b-growth-signal-finder-output-growth-signals-table-view.png)

#### Sample record — strong signal (visible open-role count)

```json
{
    "input_value": "https://www.figma.com",
    "normalized_domain": "figma.com",
    "company_url": "https://www.figma.com/",
    "company_name": "Figma",
    "homepage_status": 200,
    "scan_status": "success",
    "pages_scanned": 5,
    "careers_page_url": "https://www.figma.com/careers/",
    "jobs_page_found": true,
    "open_jobs_count": 167,
    "job_departments_text": "Engineering|Product|Design|Sales|Marketing|Finance|Operations|People",
    "job_locations_text": "Remote",
    "remote_hiring_detected": true,
    "hiring_keywords_found": "careers|open positions|job openings|remote",
    "pricing_page_found": true,
    "demo_or_sales_cta_found": true,
    "contact_page_found": true,
    "partners_page_found": true,
    "case_studies_found": true,
    "locations_page_found": false,
    "growth_terms_found": "growth|launch|expanding|growing|scaling",
    "growth_signal_score": 90,
    "growth_signal_label": "very_high",
    "growth_reason_tags": "careers_page_found|active_hiring|large_hiring_volume|remote_hiring|pricing_page_found|demo_cta_found|case_studies_found|partner_page_found|growth_terms_found|contact_page_found",
    "source_pages": "https://www.figma.com/|https://www.figma.com/ai/|https://www.figma.com/careers/|https://www.figma.com/customers/|https://www.figma.com/blog/",
    "error_message": null,
    "scraped_at": "2026-06-09T06:42:16.802Z"
}
```

#### Sample record — careers page found, job count not in static HTML

When a careers page renders its roles only through heavy JavaScript, `jobs_page_found` stays `true` but `open_jobs_count` is `null` (V1 extracts visible HTML only — it does not run a browser):

```json
{
    "input_value": "https://www.cloudflare.com",
    "normalized_domain": "cloudflare.com",
    "company_url": "https://www.cloudflare.com/",
    "company_name": "Cloudflare",
    "homepage_status": 200,
    "scan_status": "success",
    "pages_scanned": 5,
    "careers_page_url": "https://www.cloudflare.com/careers/",
    "jobs_page_found": true,
    "open_jobs_count": null,
    "job_departments_text": "Engineering|Product|Design|Sales|Data|Security|It",
    "job_locations_text": "Remote|Hybrid",
    "remote_hiring_detected": true,
    "hiring_keywords_found": "careers|remote|open roles|open positions|we're hiring",
    "pricing_page_found": true,
    "demo_or_sales_cta_found": true,
    "contact_page_found": true,
    "partners_page_found": true,
    "case_studies_found": true,
    "locations_page_found": false,
    "growth_terms_found": "launch|launching|expanding|growing|we're hiring|growth",
    "growth_signal_score": 68,
    "growth_signal_label": "high",
    "growth_reason_tags": "careers_page_found|remote_hiring|multi_location_hiring|pricing_page_found|demo_cta_found|case_studies_found|partner_page_found|growth_terms_found|contact_page_found",
    "source_pages": "https://www.cloudflare.com/|https://www.cloudflare.com/products/|https://www.cloudflare.com/careers/|https://www.cloudflare.com/about/|https://www.cloudflare.com/case-studies/",
    "error_message": null,
    "scraped_at": "2026-06-09T06:42:16.802Z"
}
```

**Field groups**

- **Identity / status:** `input_value`, `normalized_domain`, `company_url`, `company_name`, `homepage_status`, `scan_status` (`success`/`partial`/`failed`/`filtered`), `pages_scanned`
- **Hiring signals:** `careers_page_url`, `jobs_page_found`, `open_jobs_count`, `job_departments_text`, `job_locations_text`, `remote_hiring_detected`, `hiring_keywords_found`
- **Website / buying-intent signals:** `pricing_page_found`, `demo_or_sales_cta_found`, `contact_page_found`, `partners_page_found`, `case_studies_found`, `locations_page_found`, `growth_terms_found`
- **Scoring:** `growth_signal_score` (0–100), `growth_signal_label` (`low`/`medium`/`high`/`very_high`), `growth_reason_tags`
- **Provenance:** `source_pages`, `error_message`, `scraped_at`

Booleans default to `false`, unknown counts to `null`, text fields to `null`.

***

### 📊 Growth signal score (transparent, no AI)

The 0–100 score is a simple weighted sum, capped at 100:

| Signal                                            | Points                |
| ------------------------------------------------- | --------------------- |
| Careers/jobs page found                           | +15                   |
| Open jobs: 1–4 / 5–19 / 20–49 / 50+               | +10 / +18 / +25 / +30 |
| Remote/hybrid hiring detected                     | +8                    |
| Multiple job locations                            | +8                    |
| Demo / contact-sales CTA                          | +8                    |
| Growth terms (expanding, hiring, launch, growth…) | +8                    |
| Pricing page found                                | +6                    |
| Case studies / customers page                     | +6                    |
| Locations/offices page                            | +6                    |
| Partners page found                               | +5                    |
| Contact page found                                | +4                    |

**Labels:** `0–24` → `low`, `25–49` → `medium`, `50–74` → `high`, `75–100` → `very_high`.

Every contribution is recorded in `growth_reason_tags` (e.g. `careers_page_found`, `active_hiring`, `large_hiring_volume`, `remote_hiring`, `multi_location_hiring`, `demo_cta_found`, `pricing_page_found`, `case_studies_found`, `partner_page_found`, `location_expansion_signal`, `growth_terms_found`, `contact_page_found`).

***

### 💸 Pricing — Pay Per Event

One flat **`growth-signal-result`** event is charged per **valid unique company row** successfully pushed to the dataset. Failed inputs, duplicates, and filtered-out rows are **never** charged. The per-event price is set on the Apify Console. The actor also honours the per-run spending limit you set on Apify — it stops collecting once the limit is reached.

#### 🚦 Proxy policy

Use **Apify Datacenter** proxy or **no proxy** for normal runs — both work reliably for public company-website crawling at this actor's conservative concurrency.

**Apify Residential proxy is not supported.** The actor will fail at startup if `apifyProxyGroups` includes `RESIDENTIAL`. Reason: in pay-per-event actors, residential bandwidth (~$/GB) is billed to the developer, not the run user, so a single bandwidth-heavy run could exceed the per-result event revenue.

If you genuinely need residential routing, supply your own residential provider via the proxy editor's **Custom proxy URLs** field — that traffic goes through your provider, not Apify, and is unaffected:

```
http://user:pass@proxy.iproyal.com:12321
http://user:pass@proxy.brightdata.com:22225
http://user:pass@proxy.oxylabs.io:7777
```

***

### ⚙️ How it works

1. **Normalize** every input URL/domain to a root domain and a candidate HTTPS homepage, deduplicating by domain.
2. **Fetch the homepage** (HTTP-first, no browser). On HTTPS failure the HTTP variant is tried once.
3. **Discover & classify** internal links (careers, about, contact, pricing, solutions, customers, locations, partners) and, in `homepage_plus_key_pages` mode, fetch up to `maxPagesPerCompany - 1` high-value pages.
4. **Extract signals** — company name, careers/jobs presence + visible open-role count, CTA/page indicators, and growth keywords.
5. **Score, filter, dedupe**, then push valid unique rows and charge per row.

A `RUN_SUMMARY` object (inputs, saved, duplicates, filtered, charged events, blocked requests, pages scanned, runtime) is stored in the default key-value store.

***

### 🚫 Not in V1

Deep crawling, full job-description extraction, contact/email/person enrichment, AI scoring/summarization, LinkedIn or any login-only platform, paid data vendors, historical cross-run tracking.

# Actor input Schema

## `companyUrls` (type: `array`):

Direct company website URLs to enrich, for example "https://www.atlassian.com". Provide at least one of Company URLs or Domains.

## `domains` (type: `array`):

Domain-only company inputs, for example "stripe.com". Each domain is converted to https://<domain> and tested.

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

Maximum number of saved unique company rows across the whole run. Range 1-5000.

## `scanMode` (type: `string`):

How many pages to visit per company. "Homepage only" visits the root page; "Homepage + key pages" also visits selected discovered pages (careers, about, contact, pricing, solutions, customers, locations, partners).

## `maxPagesPerCompany` (type: `integer`):

Runtime guardrail for shallow discovery. Range 1-10. Forced to 1 when scan mode is "Homepage only".

## `includeHiringSignals` (type: `boolean`):

Detect and scan a public careers/jobs page to extract visible open-role count, departments, locations, and remote-hiring signals.

## `minOpenJobs` (type: `integer`):

Keep only companies with at least this many visible open jobs. 0 keeps companies even when no job count is visible. Range 0-10000.

## `minGrowthSignalScore` (type: `integer`):

Keep only companies whose transparent 0-100 growth signal score is at least this value.

## `requiredSignalTags` (type: `array`):

Keep a company only if its growth reason tags include at least one of these. Known tags: careers\_page\_found, active\_hiring, large\_hiring\_volume, remote\_hiring, multi\_location\_hiring, demo\_cta\_found, pricing\_page\_found, case\_studies\_found, partner\_page\_found, location\_expansion\_signal, growth\_terms\_found, contact\_page\_found. Unknown tags are ignored.

## `deduplicate` (type: `boolean`):

Remove duplicate companies by normalized root domain so you are not charged for the same company twice.

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

Apify Proxy configuration. Defaults to Apify Proxy enabled. Apify Residential is NOT supported and will fail the run at startup; if you need residential routing, supply your own provider via Custom proxy URLs (proxyUrls).

## Actor input object example

```json
{
  "companyUrls": [
    "https://www.atlassian.com",
    "https://www.canva.com"
  ],
  "domains": [],
  "maxResults": 100,
  "scanMode": "homepage_plus_key_pages",
  "maxPagesPerCompany": 5,
  "includeHiringSignals": true,
  "minOpenJobs": 0,
  "minGrowthSignalScore": 0,
  "requiredSignalTags": [],
  "deduplicate": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

Flat company-level table of every row pushed to the dataset: identity/status, public hiring signals, website/buying-intent signals, and the transparent 0-100 growth signal score with reason tags.

# 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 = {
    "companyUrls": [
        "https://www.atlassian.com",
        "https://www.canva.com"
    ],
    "domains": [],
    "requiredSignalTags": [],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("coregent/b2b-growth-signal-finder").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 = {
    "companyUrls": [
        "https://www.atlassian.com",
        "https://www.canva.com",
    ],
    "domains": [],
    "requiredSignalTags": [],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("coregent/b2b-growth-signal-finder").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 '{
  "companyUrls": [
    "https://www.atlassian.com",
    "https://www.canva.com"
  ],
  "domains": [],
  "requiredSignalTags": [],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call coregent/b2b-growth-signal-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=coregent/b2b-growth-signal-finder",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "B2B Growth Signal Finder",
        "description": "Enrich company domains with public hiring, website, and growth signals - careers pages, open-role counts, demo/pricing/contact CTAs, expansion indicators, and a transparent 0-100 growth score. No login or cookies.",
        "version": "1.0",
        "x-build-id": "4ejmk7KZLj4ak0qLt"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/coregent~b2b-growth-signal-finder/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-coregent-b2b-growth-signal-finder",
                "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/coregent~b2b-growth-signal-finder/runs": {
            "post": {
                "operationId": "runs-sync-coregent-b2b-growth-signal-finder",
                "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/coregent~b2b-growth-signal-finder/run-sync": {
            "post": {
                "operationId": "run-sync-coregent-b2b-growth-signal-finder",
                "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": {
                    "companyUrls": {
                        "title": "Company URLs",
                        "type": "array",
                        "description": "Direct company website URLs to enrich, for example \"https://www.atlassian.com\". Provide at least one of Company URLs or Domains.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "domains": {
                        "title": "Domains",
                        "type": "array",
                        "description": "Domain-only company inputs, for example \"stripe.com\". Each domain is converted to https://<domain> and tested.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of saved unique company rows across the whole run. Range 1-5000.",
                        "default": 100
                    },
                    "scanMode": {
                        "title": "Scan mode",
                        "enum": [
                            "homepage_only",
                            "homepage_plus_key_pages"
                        ],
                        "type": "string",
                        "description": "How many pages to visit per company. \"Homepage only\" visits the root page; \"Homepage + key pages\" also visits selected discovered pages (careers, about, contact, pricing, solutions, customers, locations, partners).",
                        "default": "homepage_plus_key_pages"
                    },
                    "maxPagesPerCompany": {
                        "title": "Max pages per company",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Runtime guardrail for shallow discovery. Range 1-10. Forced to 1 when scan mode is \"Homepage only\".",
                        "default": 5
                    },
                    "includeHiringSignals": {
                        "title": "Include hiring signals",
                        "type": "boolean",
                        "description": "Detect and scan a public careers/jobs page to extract visible open-role count, departments, locations, and remote-hiring signals.",
                        "default": true
                    },
                    "minOpenJobs": {
                        "title": "Minimum open jobs",
                        "minimum": 0,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Keep only companies with at least this many visible open jobs. 0 keeps companies even when no job count is visible. Range 0-10000.",
                        "default": 0
                    },
                    "minGrowthSignalScore": {
                        "title": "Minimum growth signal score",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Keep only companies whose transparent 0-100 growth signal score is at least this value.",
                        "default": 0
                    },
                    "requiredSignalTags": {
                        "title": "Required signal tags",
                        "type": "array",
                        "description": "Keep a company only if its growth reason tags include at least one of these. Known tags: careers_page_found, active_hiring, large_hiring_volume, remote_hiring, multi_location_hiring, demo_cta_found, pricing_page_found, case_studies_found, partner_page_found, location_expansion_signal, growth_terms_found, contact_page_found. Unknown tags are ignored.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "deduplicate": {
                        "title": "Deduplicate companies",
                        "type": "boolean",
                        "description": "Remove duplicate companies by normalized root domain so you are not charged for the same company twice.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy configuration. Defaults to Apify Proxy enabled. Apify Residential is NOT supported and will fail the run at startup; if you need residential routing, supply your own provider via Custom proxy URLs (proxyUrls).",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
