# AlternativeTo Data Scraper (`devcake/alternativeto-data-scraper`) Actor

Extract software alternatives with license/platform filters. Get GitHub metrics, ratings, comments, features & app store links from AlternativeTo.net.

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

## Pricing

Pay per event

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

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.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

## AlternativeTo.net Scraper - Competitor Intelligence & Software Alternatives API

> **The most reliable AlternativeTo scraper for competitor intelligence and market research** | Extract software alternatives, product data, ratings, and GitHub metrics in structured JSON. Filter by license, platform, and more. The ultimate competitive analysis tool for lead generation, market intelligence, and software comparison.



### 🚀 Why Use This AlternativeTo Scraper?

Extract comprehensive **software alternatives data** and **competitor intelligence** from AlternativeTo.net automatically. This **market research scraper** is perfect for **competitive analysis**, **lead generation**, **product discovery**, and building **market intelligence platforms**.

**Key Benefits:**
- ✅ **Pay-Per-Event Pricing** - Only pay for the **product alternatives data** you scrape
- ✅ **Advanced Filtering** - Filter by **license type** (free, open source, commercial) and **platform** (Windows, Linux, Mac, Android, iPhone)
- ✅ **Complete Data Extraction** - Basic info + detailed **software comparison data** with 30+ fields
- ✅ **GitHub Metrics** - Stars, forks, issues for every **developer tool** alternative
- ✅ **Company Intelligence** - Developer info, origin country, **app store links**
- ✅ **Structured JSON Output** - Clean data ready for your **SaaS alternatives finder**
- ✅ **Platform Powered** - Schedule runs, **API access**, proxy rotation via Apify



### 📊 What You Get From This Market Intelligence Tool

Every **software alternative** includes rich metadata for your **market research**:

#### 📦 Basic Data (Always Included)
- 📝**Product Info**: Name, slug, URL, description, icon
- 📈**Popularity Metrics**: Likes count, alternatives count, user ratings
- 🏷️**Classification**: License type (Free, Open Source, Freemium), platforms, categories
- 📊**Quick Stats**: Reviews count, comments count
- 💬**User Comments**: User opinions and feedback from the list page

#### 🔍 Detailed Data (Optional) - Full Competitive Analysis
- 🏢**Company Intel**: Developer name, origin country, official website, social links
- ⭐**GitHub Stats**: Stars, forks, open issues - perfect for **startup investment research**
- 📱**App Distribution**: **App store links** for iOS, Android, and desktop downloads
- 💻**Technical Details**: Programming languages, supported UI languages
- 💬**Engagement Metrics**: Reviews, comments, news articles counts
- ✨**Feature List**: Complete list of software features and tags



### 🎯 Advanced Filtering - License & Platform Filters

**Filter alternatives by license type and target platforms** for precise market research:

#### License Filter Options
- **`free`** - Free software including freemium and free-to-use tools
- **`opensource`** - Open source software (OSS) with GPL, MIT, Apache licenses
- **`commercial`** - Commercial/paid proprietary software
- **`empty`** (default) - No license filter, show all alternatives

#### Platform Filter Options
- **`windows`** - Windows desktop software
- **`linux`** - Linux desktop software
- **`mac`** - macOS desktop software
- **`android`** - Android mobile apps
- **`iphone`** - iOS iPhone apps

**Filter up to 3 platforms simultaneously** for cross-platform market research.

#### Filter Examples

**Find open source alternatives for Windows + Linux:**
```json
{
  "url": "https://alternativeto.net/software/sublime-text/",
  "license": "opensource",
  "platforms": ["windows", "linux"],
  "maxPages": 2
}
````

**Find commercial alternatives for Mac only:**

```json
{
  "url": "https://alternativeto.net/software/photoshop/",
  "license": "commercial",
  "platforms": ["mac"],
  "maxPages": 1
}
```

**Find free mobile app alternatives for Android:**

```json
{
  "url": "https://alternativeto.net/software/spotify/",
  "license": "free",
  "platforms": ["android"],
  "maxPages": 2
}
```

### 💡 Example Output - Real Data From This AlternativeTo Scraper

#### Basic Output with Filters (Quick Mode - `includeDetails: false`)

Fast extraction with essential **software comparison data** and applied filters:

```json
{
  "source": {
    "software": "sublime-text",
    "alternatives_found": 65,
    "alternatives_scraped": 2,
    "description": "Sophisticated text editor for code...",
    "update_date": "Jan 24, 2026"
  },
  "items": [
    {
      "slug": "vim",
      "name": "Vim",
      "url": "https://alternativeto.net/software/vim/about/",
      "icon": "https://d4.alternativeto.net/aUO0xqi0DUHHawJEQmvvdd20EglSeYZtbymM1IkTghs/rs:fit:140:140:0/g:ce:0:0/exar:1/YWJzOi8vZGlzdC9pY29ucy92aW1fOTYyNTMucG5n.png",
      "description": "Vim (\"Vi IMproved\") is an advanced text editor...",
      "likes": 1345,
      "alternatives_count": 215,
      "license": "Free, Open Source(GPL-2.0)",
      "platforms": ["Mac", "Windows", "Linux", "BSD"],
      "categories": ["Code Editor", "Text Editor"],
      "origin": "Netherlands",
      "comments": [
        { "text": "Much more options than any other editor." },
        { "text": "terminal-based, open-source, very fast." }
      ]
    },
    {
      "slug": "vscodium",
      "name": "VSCodium",
      "url": "https://alternativeto.net/software/vscodium/about/",
      "icon": "https://d4.alternativeto.net/Xh2B0Zco5paopS6xEQzGCQcLakmDQ-SN8VfmheoACjo/rs:fit:140:140:0/g:ce:0:0/exar:1/YWJzOi8vZGlzdC9pY29ucy92c2NvZGl1bV8yNDIzMzguc3Zn.svg",
      "description": "FLOSS release binaries of Microsoft's VS Code...",
      "likes": 403,
      "license": "Free, Open Source(MIT)",
      "platforms": ["Mac", "Windows", "Linux"],
      "categories": ["Code Editor", "IDE"],
      "comments": [
        { "text": "VS Code, but truly open source." }
      ]
    }
  ]
}
```

#### Detailed Output with Filters (Full Mode - `includeDetails: true`)

Complete **competitor intelligence** with 30+ fields per alternative, filtered results:

```json
{
  "source": {
    "software": "sublime-text",
    "alternatives_found": 193,
    "alternatives_scraped": 1,
    "description": "Sophisticated text editor for code with sleek interface...",
    "update_date": "Jan 24, 2026"
  },
  "software_details": [
    {
      "identifier": {
        "name": "Visual Studio Code",
        "slug": "visual-studio-code",
        "url": "https://alternativeto.net/software/visual-studio-code/about/",
        "icon": "https://d4.alternativeto.net/WWGJRWCLXAaenAVy-zGNLzdJGAxNMFo8zkxptjKgbH0/rs:fit:140:140:0/g:ce:0:0/exar:1/YWJzOi8vZGlzdC9pY29ucy92aXN1YWwtc3R1ZGlvLWNvZGVfMjQ0NTgwLnN2Zw.svg",
        "description": "Free and extensible code editor with built-in Git support...",
        "license": "Free, Proprietary(MIT)"
      },
      "engagement": {
        "reviews_count": 80,
        "comments_count": 74,
        "news_articles_count": 39,
        "alternatives_count": 204,
        "likes": 1377,
        "rating": 4.2
      },
      "comments": [
        { "text": "Faster then atom. Fresher then notepad++. Freer then sublime text." },
        { "text": "It's one of the finest software out there, a necessity for every developer." },
        { "text": "Its great, but as its not really opensource and has trackers i prefer VScodium." }
      ],
      "platforms_categories": {
        "platforms": ["Mac", "Windows", "Linux  64-bit only", "Snapcraft"],
        "categories": ["Development", "Office & Productivity", "Code Editor", "IDE", "OS & Utilities"],
        "features": ["Customizable", "Support for Themes", "Extensible by Plugins/Extensions", "Autocompletion", "Built-in terminal emulation", "Syntax Highlighting", "Code Completion", "Multiple languages", "GitHub Integration", "Git Support", "Supports Python", "Dark Mode", "Multiple Cursors", "Auto Update", "Graphical User Interface", "Support for MarkDown", "WYSIWYG HTML Editor", "Plug-ins", "Support for Javascript", "Support for Node.js", "Theme Customization", "PHP IDE", "Minimap", "Remote Debugging", "Git integration", "C# Scripting", "Works Offline", "Ad-free", "Live Preview", "WYSIWYG Support", "No registration required", "Code Formatting", "C support", "Ruby support", "Lint support", "Code navigation", "Embedded debugger", "Specific for 64-Bit", "Support for 64 bit", "Custom Plugins", "GitHub Copilot Integration", "Electron based", "Run Android Apps on Desktop", "Mercurial support", "Objective-c"],
        "tags": ["Bugs", "CSS / Stylesheets", "ASP.NET", "Node.js", "Javascript"]
      },
      "developer_info": {
        "developer": "Microsoft",
        "origin": "United States",
        "official_website": "https://code.visualstudio.com",
        "written_in": ["TypeScript"],
        "supported_languages": ["English"]
      },
      "links": {
        "app_store_links": [
          "https://apps.microsoft.com/detail/xp9khm4bk9fz7q",
          "https://snapcraft.io/code"
        ],
        "social_links": {
          "facebook": "https://www.facebook.com/Microsoft",
          "twitter": "https://x.com/code"
        }
      },
      "github": {
        "stars": 167636,
        "forks": 30663,
        "issues": 9178
      }
    }
  ]
}
```

**Data Fields Include**: Product descriptions, ratings, pricing, platforms, tags, features, official websites, **app store links**, developer info, licensing, supported languages, **GitHub metrics** (stars, forks, issues), engagement counts, and user comments.

### 🎯 Use Cases - How to Use This Competitive Analysis Tool

- **Competitive Intelligence** - Track **software alternatives**, ratings, and features for any product
- **Market Research** - Map complete **software market** landscapes by license type and platform
- **Open Source Discovery** - Find **open source alternatives** to commercial tools
- **Mobile App Research** - Discover **Android alternatives** and **iPhone alternatives** for any app
- **Lead Generation** - Find potential customers actively searching for **product alternatives**
- **Product Discovery** - Research categories and emerging **developer tools**
- **Sales Intelligence** - Extract pricing strategies and **market positioning** data
- **Investment Research** - Analyze **GitHub stars**, engagement, and market traction for startups
- **Content Creation** - Generate "Top 10 Software Alternatives" articles with accurate data

### ⚙️ How to Use This Software Alternatives API

#### Option 1: Quick Start - Fast Market Research

Get essential **software comparison data** fast - perfect for testing and quick scans.

```json
{
  "url": "https://alternativeto.net/software/notion/"
}
```

**Gets you**: Name, description, likes, license, platforms, categories

#### Option 2: Filtered Intelligence - Targeted Competitor Analysis

Get **filtered alternatives** by license type and platform for precise **market segmentation**.

```json
{
  "url": "https://alternativeto.net/software/slack/",
  "license": "opensource",
  "platforms": ["windows", "linux"],
  "includeDetails": true,
  "maxPages": 2
}
```

**Gets you**: Open source alternatives for Windows/Linux with full **competitive analysis** data

#### Option 3: Full Intelligence - Complete Competitor Data

Get comprehensive **competitor intelligence** with 30+ data fields per alternative.

```json
{
  "url": "https://alternativeto.net/software/zoom/",
  "license": "free",
  "includeDetails": true,
  "maxPages": 2
}
```

**Gets you**: Everything in basic mode PLUS developer info, **GitHub stats**, **app store links**, programming languages, feature lists, and engagement metrics.

#### Option 4: Complete Market Map - Full Software Market Research

Scrape ALL **software alternatives** across all pages for comprehensive **market intelligence**.

```json
{
  "url": "https://alternativeto.net/software/salesforce/",
  "license": "commercial",
  "platforms": ["windows"],
  "includeDetails": true,
  "maxPages": 5
}
```

### 📋 Input Parameters

| Parameter | Required | Default | Description |
|-----------|----------|---------|-------------|
| `url` | ✅ Yes | - | Full AlternativeTo.net URL (e.g., "https://alternativeto.net/software/sublime-text/") |
| `includeDetails` | ❌ No | false | Enable detailed extraction for **competitive analysis** (30+ fields) |
| `license` | ❌ No | "" | **Filter by license**: `""` (all), `"free"`, `"opensource"`, `"commercial"` |
| `platforms` | ❌ No | \[] | **Filter by platforms** (max 3): `["windows"]`, `["linux"]`, `["mac"]`, `["android"]`, `["iphone"]` |
| `maxPages` | ❌ No | 1 | Maximum list pages to scrape (1-5, ~12 items per page). Paid users can use up to 5 pages. |
| `proxyConfiguration` | ❌ No | `{useApifyProxy: true}` | Apify proxy configuration with dropdown menu for selection |

#### Minimal Configuration - Test Your AlternativeTo Scraper

```json
{
  "url": "https://alternativeto.net/software/sublime-text/"
}
```

#### Open Source Research - Find OSS Alternatives

```json
{
  "url": "https://alternativeto.net/software/visual-studio-code/",
  "license": "opensource",
  "platforms": ["windows", "linux", "mac"],
  "maxPages": 3
}
```

#### Mobile App Intelligence - Android Alternatives

```json
{
  "url": "https://alternativeto.net/software/spotify/",
  "license": "free",
  "platforms": ["android"],
  "includeDetails": true,
  "maxPages": 2
}
```

### 📤 Output Structure - Software Comparison Data

#### Basic Fields (Always Included) - List Mode Output

- **Identifier**: `name`, `slug`, `url`, `icon` (image URL)
- **Overview**: `description`, `likes`, `alternatives_count`
- **Classification**: `license` (Free, Open Source, Commercial), `platforms[]`, `categories[]`
- **Metadata**: `origin` (country code)
- **User Comments**: `comments[]` - Array of user opinions with `text` field

#### Detailed Fields (When `includeDetails: true`) - Full Competitor Intelligence

The detailed mode outputs data in grouped sections for better organization:

**`identifier`** - Product identification

- `name`, `slug`, `url`, `icon`, `description`, `license`

**`engagement`** - User activity metrics

- `likes`, `rating` (0-10 scale), `reviews_count`, `comments_count`, `news_articles_count`, `alternatives_count`

**`comments[]`** - User opinions and feedback (same as basic mode, from list page)

- Array of user comments with `text` field

**`platforms_categories`** - Classification data

- `platforms[]` - All supported platforms
- `categories[]` - Software categories
- `features[]` - Complete list of features (40+ items)
- `tags[]` - User-assigned tags

**`developer_info`** - Company/developer data

- `developer` - Name/company
- `origin` - Country of origin
- `official_website` - Website URL
- `written_in[]` - Programming languages used
- `supported_languages[]` - UI language support

**`links`** - External links

- `app_store_links[]` - Download/store URLs (Microsoft Store, Snapcraft, Flathub, GitHub, etc.)
- `social_links{}` - Social media URLs by platform (Facebook, Twitter/X, LinkedIn, etc.)

**`github`** - Repository statistics

- `stars` - GitHub stars count
- `forks` - GitHub forks count
- `issues` - Open GitHub issues

### 💰 Pricing - Cost-Effective Market Intelligence Platform

**Pay-Per-Event (PPE) pricing** - you only pay for what you use:

1. **Actor Start** - Charged once per run
2. **Per Alternative** - Charged for each **software alternative** extracted
3. **Detail Pages** - Additional charge only when using `includeDetails: true`
4. **Filters Reduce Costs** - Filtered results = fewer items = lower cost

💡 **Pro Tip**: Use **license filters** and **platform filters** to get targeted results and reduce costs. Start with `includeDetails: false` and `maxPages: 1` to test your **market research scraper**, then scale up as needed.

### 🌟 Why Choose This Software Alternatives API?

**Complete Data Extraction:**

- ✅ 30+ **software comparison data** fields per alternative
- ✅ **License filtering** - Free, open source, commercial
- ✅ **Platform filtering** - Windows, Linux, Mac, Android, iPhone
- ✅ **GitHub stars scraper** - Stars, forks, issues for every alternative
- ✅ Programming languages extracted for **developer tools**
- ✅ Company origin and **app store links**

**Powered by Apify Platform:**

- ✅ **Schedule runs** - Set up daily/weekly **competitor monitoring**
- ✅ **API access** - Integrate **software alternatives data** into your applications
- ✅ **Proxy rotation** - Built-in residential proxies for reliable **market research**
- ✅ **Monitoring** - Track runs, costs, and performance
- ✅ **Integrations** - Connect to Zapier, Make, Slack, and more

**Developer Friendly:**

- ✅ Use on Apify platform or run locally as Python library
- ✅ Clean, validated JSON output for your **SaaS alternatives finder**
- ✅ Three output formats: Grouped, Flat, Summary

### 📈 Sample Workflows - Market Research Scraper in Action

#### Open Source Alternative Finder

```json
{
  "url": "https://alternativeto.net/software/photoshop/",
  "license": "opensource",
  "platforms": ["windows", "linux"],
  "includeDetails": true,
  "maxPages": 2
}
```

#### Mobile App Competitor Analysis

```json
{
  "url": "https://alternativeto.net/software/instagram/",
  "license": "free",
  "platforms": ["android", "iphone"],
  "maxPages": 2
}
```

#### SaaS Market Research

```json
{
  "url": "https://alternativeto.net/software/salesforce/",
  "license": "commercial",
  "platforms": ["windows"],
  "includeDetails": true,
  "maxPages": 5
}
```

# Actor input Schema

## `url` (type: `string`):

Full AlternativeTo.net URL (e.g., 'https://alternativeto.net/software/sublime-text/')

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

Scrape detailed information for each alternative (rating, developer, GitHub stats, features). Takes longer but provides complete data.

## `license` (type: `string`):

Filter alternatives by license type. Leave empty to include all licenses.

## `platforms` (type: `array`):

Filter alternatives by platform. Select up to 3 platforms or type custom values. Leave empty to include all platforms.

## `maxPages` (type: `integer`):

Maximum number of list pages to scrape (default: 1, max: 5). Each page has ~12 items. Paid users can use up to 5 pages.

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

Proxy configuration (Residential proxies pre-configured for best results)

## Actor input object example

```json
{
  "url": "https://alternativeto.net/software/sublime-text/",
  "includeDetails": false,
  "license": "",
  "maxPages": 1,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `alternatives` (type: `string`):

List of scraped software alternatives with basic info (13 fields) from list pages. Charged at list-only pricing ($0.04 per item).

## `detailedAlternatives` (type: `string`):

Complete software alternatives with full details (30+ fields) including GitHub metrics, ratings, features, app store links. Charged at detailed pricing ($0.15 per item). Available only when includeDetails=true.

## `summary` (type: `string`):

Summary of scraping results stored in key-value store

# 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 = {
    "url": "https://alternativeto.net/software/sublime-text/",
    "includeDetails": false,
    "license": "",
    "maxPages": 1,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("devcake/alternativeto-data-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 = {
    "url": "https://alternativeto.net/software/sublime-text/",
    "includeDetails": False,
    "license": "",
    "maxPages": 1,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("devcake/alternativeto-data-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 '{
  "url": "https://alternativeto.net/software/sublime-text/",
  "includeDetails": false,
  "license": "",
  "maxPages": 1,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call devcake/alternativeto-data-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "AlternativeTo Data Scraper",
        "description": "Extract software alternatives with license/platform filters. Get GitHub metrics, ratings, comments, features & app store links from AlternativeTo.net.",
        "version": "1.1",
        "x-build-id": "Tc2osqBVFfaGLCKSd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/devcake~alternativeto-data-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-devcake-alternativeto-data-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/devcake~alternativeto-data-scraper/runs": {
            "post": {
                "operationId": "runs-sync-devcake-alternativeto-data-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/devcake~alternativeto-data-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-devcake-alternativeto-data-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "url"
                ],
                "properties": {
                    "url": {
                        "title": "Software URL",
                        "pattern": "^https://alternativeto\\.net/software/",
                        "type": "string",
                        "description": "Full AlternativeTo.net URL (e.g., 'https://alternativeto.net/software/sublime-text/')"
                    },
                    "includeDetails": {
                        "title": "Include Details",
                        "type": "boolean",
                        "description": "Scrape detailed information for each alternative (rating, developer, GitHub stats, features). Takes longer but provides complete data.",
                        "default": false
                    },
                    "license": {
                        "title": "License Filter",
                        "enum": [
                            "",
                            "free",
                            "opensource",
                            "commercial"
                        ],
                        "type": "string",
                        "description": "Filter alternatives by license type. Leave empty to include all licenses.",
                        "default": ""
                    },
                    "platforms": {
                        "title": "Platform Filters",
                        "minItems": 0,
                        "maxItems": 3,
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Filter alternatives by platform. Select up to 3 platforms or type custom values. Leave empty to include all platforms.",
                        "items": {
                            "type": "string",
                            "enumSuggestedValues": [
                                "windows",
                                "linux",
                                "mac",
                                "android",
                                "iphone",
                                "online",
                                "chrome-os",
                                "bsd",
                                "haiku",
                                "amigaos"
                            ],
                            "enumTitles": [
                                "Windows",
                                "Linux",
                                "Mac",
                                "Android",
                                "iPhone",
                                "Online",
                                "Chrome OS",
                                "BSD",
                                "Haiku",
                                "AmigaOS"
                            ]
                        }
                    },
                    "maxPages": {
                        "title": "Max List Pages to Scrape",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Maximum number of list pages to scrape (default: 1, max: 5). Each page has ~12 items. Paid users can use up to 5 pages.",
                        "default": 1
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy configuration (Residential proxies pre-configured for best results)",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
