# SaaS Citation, Review & Category Gap Analyzer (`shahabuddin38/saas-citation-review-category-gap-analyzer`) Actor

Audit missing SaaS listings, competitor citation gaps, review opportunities, category visibility gaps, profile completeness, and Product Hunt launch readiness across G2, Product Hunt, Capterra, Crunchbase, and Trustpilot.

- **URL**: https://apify.com/shahabuddin38/saas-citation-review-category-gap-analyzer.md
- **Developed by:** [Shahab Uddin](https://apify.com/shahabuddin38) (community)
- **Categories:** Lead generation, Developer tools, SEO tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 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.

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

## SaaS Citation, Review & Category Gap Analyzer

Find where competitors are listed, reviewed, or categorized while your SaaS is missing, then prioritize the highest-impact gaps to close.

Store Title: SaaS Citation, Review & Category Gap Analyzer

Slug: saas-citation-review-category-gap-analyzer

SEO Name: SaaS Citation Gap Analyzer for G2 Product Hunt Capterra

Description: Audit missing SaaS listings, competitor citation gaps, review opportunities, category visibility gaps, and profile completeness across G2, Product Hunt, Capterra, Crunchbase, and Trustpilot.

SaaS Citation, Review & Category Gap Analyzer is a saas citation gap analyzer for founders, marketers, and agencies preparing a software launch or directory visibility push. Use it as a g2 listing checker, product hunt launch audit, capterra listing audit, software directory visibility checker, review gap analyzer, category ranking opportunity finder, and profile completeness audit before investing time in manual submissions.

### What This Actor Does

This Actor turns public listing, review, category, and profile signals into a prioritized SaaS launch readiness report:

- Checks citation coverage across Product Hunt, G2, Capterra, Crunchbase, Trustpilot, and GitHub awesome lists.
- Finds competitor citation gaps where competitors appear to have listings and the target does not.
- Surfaces review opportunities across G2, Capterra, and Trustpilot without fabricating live review counts.
- Checks category visibility across G2, Capterra, and Product Hunt.
- Recommends dynamic categories from `companyDescription`, such as Site Audit Tools, AI SEO Tools, SEO Software, Rank Tracking, and Marketing Analytics.
- Runs a Product Hunt launch audit with readiness scoring, launch assets, topic fit, competitor presence, and launch copy suggestions.
- Scores profile completeness using logo, screenshots, product description, pricing, categories, integrations, reviews, website link, and CTA signals.
- Produces a `launchReadinessScore` and concise `launchReadinessRisks`.
- Writes only capped, high-value opportunity rows to the default dataset while summaries, checklists, recommendations, and internal context are saved to `OUTPUT.json`.

### Use Cases

- SaaS launch readiness audit
- Find missing citations before Product Hunt launch
- Compare competitor review gaps
- Audit profile completeness
- Prioritize citation submissions
- Product Hunt launch readiness checker for SaaS teams

### Pricing

Free:
- 1 domain
- 5 platforms

Pro:
- Review gaps
- Category opportunities
- Competitor gaps

Agency:
- Bulk domains

### Billing Notes

Only high-value opportunity rows are written as billable results.
Summary reports, checklists, recommendations, and internal scoring are delivered via OUTPUT.json and do not generate additional result charges.

### Main Output Rows

Default dataset rows are capped at 20 and contain only these billable result types:

- `citation_opportunity`: Listing status, platform, category, confidence score, action URLs, priority score, and reason.
- `review_gap`: Review signal gaps on G2, Capterra, and Trustpilot, with unresolved values marked honestly.
- `category_opportunity`: Category visibility rows across G2, Capterra, and Product Hunt.
- `profile_completeness`: Profile asset completeness score and missing assets.
- `product_hunt_launch_readiness`: Product Hunt listing status, launch score, missing assets, topics, tagline, and priority score.

`OUTPUT.json` contains non-billable run context such as `discovery_status`, citation/review/category/profile checklists, Product Hunt asset and launch copy rows, dynamic category recommendations, backlink verification context, prospect discovery rows, and `recommendation_summary`.

### Input Example

```json
{
  "targetDomain": "instantseoscan.com",
  "brandName": "Instant SEO Scan",
  "companyDescription": "AI-powered SEO audit software for agencies",
  "competitors": ["semrush.com", "ahrefs.com"],
  "niche": "SEO tools",
  "discoveryMode": "full_free_scan",
  "verifiedBacklinkUrls": [],
  "enableGscImport": true,
  "enableCompetitorProspects": true,
  "enableCitationFinder": true,
  "includeGuestPostFinder": true,
  "enableHistoryTracking": true
}
````

### Dynamic Category Mapping

The `companyDescription` input maps product language to recommended categories:

- `SEO audit` -> Site Audit Tools
- `rank tracking` -> Rank Tracking
- `AI SEO` -> AI SEO Tools
- `analytics` -> Marketing Analytics
- SEO-related descriptions also include SEO Software

Example output:

```json
{
  "type": "dynamic_category_recommendation",
  "recommendedDynamicCategories": [
    "Site Audit Tools",
    "AI SEO Tools",
    "SEO Software"
  ]
}
```

### Product Hunt Launch Readiness Audit

The actor checks whether your SaaS is ready for Product Hunt by reviewing listing status, missing launch assets, topic fit, competitor presence, and launch copy readiness.

Use this product hunt launch audit as a product hunt launch readiness checker, product hunt listing checker, and saas launch readiness audit before launch day. It produces:

- Product Hunt launch readiness score from 0-100
- Required asset checklist for logo, screenshots, video/GIF, tagline, first comment, maker profile, CTA page, social proof, launch announcement, and topic tags
- Product Hunt topic recommendations such as SEO, Marketing, Analytics, Artificial Intelligence, SaaS, Productivity, Sales, No-Code, and Automation
- Competitor Product Hunt signal checks for domains such as `semrush.com` and `ahrefs.com`
- Launch copy suggestions including tagline, short description, first comment, and social post copy

### Recommendation Summary

`OUTPUT.json` keeps the full non-billable report context. To reduce decision noise, `recommendation_summary` surfaces only `topPriorityOpportunities`, capped at the five highest-value opportunities sorted by `priorityScore`.

It also includes:

- `launchReadinessScore`: 0-100 score based on missing listings, review gaps, category opportunities, and profile completeness.
- `launchReadinessRisks`: Plain-English risks such as missing Product Hunt profiles or missing G2 review signals.
- `recommendedDynamicCategories`: Category suggestions based on the company description.
- `productHuntLaunchStrategy`, `productHuntLaunchReadinessScore`, and `productHuntNextActions`: Product Hunt launch readiness guidance.

### Citation Verification

For each supported platform, the Actor:

- Fetches the public search URL.
- Checks the returned HTML for the brand name, compact brand token, and target domain.
- Emits `verificationMethod` as `html_match`, `search_result_match`, or `unresolved`.
- Adds `profileUrl` when a likely profile URL is found.
- Adds `submissionUrl`, `claimUrl`, and `signupUrl` for action.
- Scores `estimatedReferralValue`, `estimatedSeoValue`, and `estimatedTrustValue` from 1 to 10.

Confidence scores follow these bands:

- `unresolved`: 30-50
- `search_result_match`: 60-75
- `html_match`: 85-95

### Review, Category, and Profile Intelligence

Review gap rows compare the target against competitors on G2, Capterra, and Trustpilot. If a target listing is missing, target reviews are set to `0`. If competitor review counts cannot be verified, the review gap is marked `unresolved` rather than invented.

Category opportunity rows evaluate SEO Software, Site Audit Tools, Rank Tracking, Marketing Analytics, SEO Tools, AI SEO Tools, and any mapped dynamic categories.

Profile completeness rows score logo, screenshots, product description, pricing, categories, integrations, reviews, website link, and CTA signals.

### Search Console Import

Use either:

- `searchConsoleCsvText` with `importMode: "paste_csv"`
- `searchConsoleCsvUrl` with `importMode: "csv_url"`

The parser accepts common Google Search Console export columns such as source domain, linking site, source URL, linked page, target URL, and anchor text.

### Link History

When `enableHistoryTracking` is enabled, verified links are stored under:

`LINK_HISTORY_{domain}`

Repeated scans can mark verified links as `new`, `active`, `lost`, or `changed_anchor`.

### README Assets

Recommended thumbnail text:

```text
CITATION GAP
REVIEWS + CATEGORY
```

### What This Actor Is Not

This Actor is not an Ahrefs, Semrush, Moz, or DataForSEO replacement. It does not claim to have a global backlink index and it does not create fake backlink rows.

Prospect rows are labeled as prospects. Only Search Console import rows and verified URL rows are treated as verified backlinks.

The Actor does not fake live review counts. If review counts, ratings, category ranking positions, or profile assets cannot be verified from public HTML, rows are marked as `estimated`, `unresolved`, or `manual_review_needed` with a lower confidence score.

### Output JSON

The Actor saves `OUTPUT.json` with:

- `summary`
- `launchReadinessScore`
- `topPriorityOpportunities`
- `recommendations`
- `checklists`
- `nonBillableData`

# Actor input Schema

## `targetDomain` (type: `string`):

Website domain or URL to verify and build prospects for.

## `brandName` (type: `string`):

Brand name used for citation checks and prospect relevance.

## `companyDescription` (type: `string`):

Short product description used to recommend dynamic SaaS directory categories.

## `enableProductHuntLaunchReadiness` (type: `boolean`):

Run the Product Hunt launch readiness audit, asset checklist, topic mapping, competitor signals, and launch copy suggestions.

## `hasLogo` (type: `boolean`):

Confirm that a launch-ready logo is available.

## `hasScreenshots` (type: `boolean`):

Confirm that 3-5 Product Hunt-ready screenshots are available.

## `hasLaunchVideo` (type: `boolean`):

Confirm that a short product video or GIF is available.

## `hasMakerProfile` (type: `boolean`):

Confirm that the maker profile is ready for Product Hunt launch day.

## `hasSocialProof` (type: `boolean`):

Confirm that testimonials, customer logos, or other launch social proof is available.

## `competitors` (type: `array`):

Competitors used to find citation gaps, review gaps, category visibility gaps, resource pages, tools lists, alternatives pages, and directories.

## `niche` (type: `string`):

Topic used for competitor prospect and guest post discovery.

## `searchConsoleCsvUrl` (type: `string`):

Optional public or signed URL to a Google Search Console links export.

## `searchConsoleCsvText` (type: `string`):

Paste a Google Search Console top linking sites, linked pages, or anchor text CSV export.

## `importMode` (type: `string`):

Choose whether Search Console CSV data is loaded from a URL or pasted directly.

## `verifiedBacklinkUrls` (type: `array`):

Known source pages to fetch and verify for active backlinks, lost links, unlinked mentions, or page down statuses.

## `discoveryMode` (type: `string`):

Select which backlink verification and prospect discovery workflow to run.

## `enableGscImport` (type: `boolean`):

Parse and analyze the provided Google Search Console links export.

## `enableCompetitorProspects` (type: `boolean`):

Find public link opportunities based on the competitor domains.

## `enableCitationFinder` (type: `boolean`):

Search for relevant citation, directory, SaaS listing, review, category, and profile completeness opportunities.

## `includeGuestPostFinder` (type: `boolean`):

Include guest post and write-for-us prospect discovery in the run.

## `enableHistoryTracking` (type: `boolean`):

Store verified link history in KeyValueStore as LINK\_HISTORY\_{domain}.

## `maxBacklinks` (type: `integer`):

Limit the number of backlink URLs and public prospects processed.

## `maxGuestPostProspects` (type: `integer`):

Limit the number of guest post prospects returned.

## `maxSearchPages` (type: `integer`):

Limit how many search result pages are checked per query.

## `country` (type: `string`):

Country used to localize prospect and search query discovery.

## `language` (type: `string`):

Language used for search queries and opportunity discovery.

## `exportFormat` (type: `string`):

Choose how run output should be organized for export.

## Actor input object example

```json
{
  "targetDomain": "instantseoscan.com",
  "brandName": "Instant SEO Scan",
  "companyDescription": "AI-powered SEO audit software for agencies",
  "enableProductHuntLaunchReadiness": true,
  "hasLogo": false,
  "hasScreenshots": false,
  "hasLaunchVideo": false,
  "hasMakerProfile": false,
  "hasSocialProof": false,
  "competitors": [
    "semrush.com",
    "ahrefs.com"
  ],
  "niche": "SEO tools",
  "importMode": "paste_csv",
  "verifiedBacklinkUrls": [],
  "discoveryMode": "full_free_scan",
  "enableGscImport": true,
  "enableCompetitorProspects": true,
  "enableCitationFinder": true,
  "includeGuestPostFinder": true,
  "enableHistoryTracking": true,
  "maxBacklinks": 100,
  "maxGuestPostProspects": 50,
  "maxSearchPages": 2,
  "country": "United States",
  "language": "en",
  "exportFormat": "dataset"
}
```

# 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 = {
    "targetDomain": "instantseoscan.com",
    "brandName": "Instant SEO Scan",
    "companyDescription": "AI-powered SEO audit software for agencies",
    "competitors": [
        "semrush.com",
        "ahrefs.com"
    ],
    "niche": "SEO tools",
    "verifiedBacklinkUrls": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("shahabuddin38/saas-citation-review-category-gap-analyzer").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 = {
    "targetDomain": "instantseoscan.com",
    "brandName": "Instant SEO Scan",
    "companyDescription": "AI-powered SEO audit software for agencies",
    "competitors": [
        "semrush.com",
        "ahrefs.com",
    ],
    "niche": "SEO tools",
    "verifiedBacklinkUrls": [],
}

# Run the Actor and wait for it to finish
run = client.actor("shahabuddin38/saas-citation-review-category-gap-analyzer").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 '{
  "targetDomain": "instantseoscan.com",
  "brandName": "Instant SEO Scan",
  "companyDescription": "AI-powered SEO audit software for agencies",
  "competitors": [
    "semrush.com",
    "ahrefs.com"
  ],
  "niche": "SEO tools",
  "verifiedBacklinkUrls": []
}' |
apify call shahabuddin38/saas-citation-review-category-gap-analyzer --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=shahabuddin38/saas-citation-review-category-gap-analyzer",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SaaS Citation, Review & Category Gap Analyzer",
        "description": "Audit missing SaaS listings, competitor citation gaps, review opportunities, category visibility gaps, profile completeness, and Product Hunt launch readiness across G2, Product Hunt, Capterra, Crunchbase, and Trustpilot.",
        "version": "0.6",
        "x-build-id": "mCxQcPSQgAvistqUW"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/shahabuddin38~saas-citation-review-category-gap-analyzer/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-shahabuddin38-saas-citation-review-category-gap-analyzer",
                "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/shahabuddin38~saas-citation-review-category-gap-analyzer/runs": {
            "post": {
                "operationId": "runs-sync-shahabuddin38-saas-citation-review-category-gap-analyzer",
                "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/shahabuddin38~saas-citation-review-category-gap-analyzer/run-sync": {
            "post": {
                "operationId": "run-sync-shahabuddin38-saas-citation-review-category-gap-analyzer",
                "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": [
                    "targetDomain"
                ],
                "properties": {
                    "targetDomain": {
                        "title": "Target Domain or URL",
                        "type": "string",
                        "description": "Website domain or URL to verify and build prospects for."
                    },
                    "brandName": {
                        "title": "Brand Name",
                        "type": "string",
                        "description": "Brand name used for citation checks and prospect relevance."
                    },
                    "companyDescription": {
                        "title": "Company Description",
                        "type": "string",
                        "description": "Short product description used to recommend dynamic SaaS directory categories."
                    },
                    "enableProductHuntLaunchReadiness": {
                        "title": "Product Hunt Launch Readiness",
                        "type": "boolean",
                        "description": "Run the Product Hunt launch readiness audit, asset checklist, topic mapping, competitor signals, and launch copy suggestions.",
                        "default": true
                    },
                    "hasLogo": {
                        "title": "Logo Ready",
                        "type": "boolean",
                        "description": "Confirm that a launch-ready logo is available.",
                        "default": false
                    },
                    "hasScreenshots": {
                        "title": "Screenshots Ready",
                        "type": "boolean",
                        "description": "Confirm that 3-5 Product Hunt-ready screenshots are available.",
                        "default": false
                    },
                    "hasLaunchVideo": {
                        "title": "Launch Video Ready",
                        "type": "boolean",
                        "description": "Confirm that a short product video or GIF is available.",
                        "default": false
                    },
                    "hasMakerProfile": {
                        "title": "Maker Profile Ready",
                        "type": "boolean",
                        "description": "Confirm that the maker profile is ready for Product Hunt launch day.",
                        "default": false
                    },
                    "hasSocialProof": {
                        "title": "Social Proof Ready",
                        "type": "boolean",
                        "description": "Confirm that testimonials, customer logos, or other launch social proof is available.",
                        "default": false
                    },
                    "competitors": {
                        "title": "Competitor Domains",
                        "type": "array",
                        "description": "Competitors used to find citation gaps, review gaps, category visibility gaps, resource pages, tools lists, alternatives pages, and directories.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "niche": {
                        "title": "Niche",
                        "type": "string",
                        "description": "Topic used for competitor prospect and guest post discovery."
                    },
                    "searchConsoleCsvUrl": {
                        "title": "Search Console CSV URL",
                        "type": "string",
                        "description": "Optional public or signed URL to a Google Search Console links export."
                    },
                    "searchConsoleCsvText": {
                        "title": "Paste Search Console CSV",
                        "type": "string",
                        "description": "Paste a Google Search Console top linking sites, linked pages, or anchor text CSV export."
                    },
                    "importMode": {
                        "title": "Import Mode",
                        "enum": [
                            "csv_url",
                            "paste_csv"
                        ],
                        "type": "string",
                        "description": "Choose whether Search Console CSV data is loaded from a URL or pasted directly.",
                        "default": "paste_csv"
                    },
                    "verifiedBacklinkUrls": {
                        "title": "Known Backlink URLs to Verify",
                        "type": "array",
                        "description": "Known source pages to fetch and verify for active backlinks, lost links, unlinked mentions, or page down statuses.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "discoveryMode": {
                        "title": "Workflow Mode",
                        "enum": [
                            "public",
                            "verify_urls",
                            "guest_posts_only",
                            "full_free_scan"
                        ],
                        "type": "string",
                        "description": "Select which backlink verification and prospect discovery workflow to run.",
                        "default": "full_free_scan"
                    },
                    "enableGscImport": {
                        "title": "Analyze Search Console CSV",
                        "type": "boolean",
                        "description": "Parse and analyze the provided Google Search Console links export.",
                        "default": true
                    },
                    "enableCompetitorProspects": {
                        "title": "Find Competitor Link Prospects",
                        "type": "boolean",
                        "description": "Find public link opportunities based on the competitor domains.",
                        "default": true
                    },
                    "enableCitationFinder": {
                        "title": "Find Citation Opportunities",
                        "type": "boolean",
                        "description": "Search for relevant citation, directory, SaaS listing, review, category, and profile completeness opportunities.",
                        "default": true
                    },
                    "includeGuestPostFinder": {
                        "title": "Find Guest Post Opportunities",
                        "type": "boolean",
                        "description": "Include guest post and write-for-us prospect discovery in the run.",
                        "default": true
                    },
                    "enableHistoryTracking": {
                        "title": "Track Link History",
                        "type": "boolean",
                        "description": "Store verified link history in KeyValueStore as LINK_HISTORY_{domain}.",
                        "default": true
                    },
                    "maxBacklinks": {
                        "title": "Maximum Verified Links / Prospects",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Limit the number of backlink URLs and public prospects processed.",
                        "default": 100
                    },
                    "maxGuestPostProspects": {
                        "title": "Maximum Guest Post Prospects",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Limit the number of guest post prospects returned.",
                        "default": 50
                    },
                    "maxSearchPages": {
                        "title": "Maximum Search Pages",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Limit how many search result pages are checked per query.",
                        "default": 2
                    },
                    "country": {
                        "title": "Target Country",
                        "type": "string",
                        "description": "Country used to localize prospect and search query discovery.",
                        "default": "United States"
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "en",
                            "es",
                            "fr",
                            "de",
                            "it",
                            "pt",
                            "nl",
                            "hi",
                            "ur",
                            "ar"
                        ],
                        "type": "string",
                        "description": "Language used for search queries and opportunity discovery.",
                        "default": "en"
                    },
                    "exportFormat": {
                        "title": "Export Format",
                        "enum": [
                            "dataset",
                            "json",
                            "csv-ready"
                        ],
                        "type": "string",
                        "description": "Choose how run output should be organized for export.",
                        "default": "dataset"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
