# Steam Store Page Auditor (`keiwy/steam-store-page-auditor`) Actor

Paste a Steam store URL and get an automated 12-point wishlist-conversion audit for indie developers: score/100, top fixes, ready-to-paste short descriptions and hooks, tag suggestions, and 5 top-reviewed comparable games. Works on Coming Soon pages. Public Steam data only - no Steam login.

- **URL**: https://apify.com/keiwy/steam-store-page-auditor.md
- **Developed by:** [KEith wy](https://apify.com/keiwy) (community)
- **Categories:** AI, SEO tools, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$990.00 / 1,000 page auditeds

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Steam Store Page Auditor

Paste one or more Steam store page links and get an automated 12-point conversion audit for each page. Every audit comes with prioritized fixes and ready-to-paste rewrites.

Built for indie developers, publishers and marketers preparing a "Coming Soon" page, a demo, Next Fest or a launch.

### What you get per page

- **Score /100 + grade (A–F)** across 12 weighted checks
- **Top 3 issues** to fix first, each with a concrete fix
- **Findings + fixes for all 12 checks**
  1. Capsule art tells the genre at a glance (AI vision)
  2. Capsule title is readable at small size (AI vision)
  3. Short description opens with a hook
  4. Short description is specific and the right length
  5. Trailer present and leads with gameplay
  6. Enough screenshots, gameplay first (AI vision on the first screenshots)
  7. About section is skimmable (hook up top, headers, GIFs)
  8. Features sell player experience, not just mechanics
  9. Tags are complete and specific (broad tags pushed down)
  10. Social proof (reviews, quotes, awards)
  11. Clear next step (release window, demo, wishlist ask)
  12. Reach (languages, platforms, controller)
- **3 ready-to-paste short descriptions** (180–280 characters), **3 hook lines**, and **outcome-first rewrites** of your feature bullets
- **Missing-tag suggestions**
- **5 comparable games**: the most-reviewed games that share your top specific tags, with their short description, tags, review count and media counts
- **`reportMarkdown`**: the whole report as Markdown, ready to paste into a doc or Discord

Works for released and "Coming Soon" pages. Uses only public Steam store data. No Steam login or API key needed.

### Input

| Field | Type | Description |
|---|---|---|
| `pages` | array of strings (required) | Steam store URLs (`https://store.steampowered.com/app/<appid>/...`) or numeric appids. Max 50 per run. |
| `includeComparables` | boolean (default `true`) | Add the 5 most-reviewed games sharing your top specific tags. |

```json
{
  "pages": ["https://store.steampowered.com/app/1145360/Hades/", "413150"],
  "includeComparables": true
}
```

### Output

One dataset item per page. The **Overview** view shows game, score, grade, summary, top issues and store link. Full fields:

| Field | Description |
|---|---|
| `appid`, `name`, `storeUrl` | The audited page |
| `totalScore`, `grade` | 0–100 score and A–F grade |
| `summary` | The biggest conversion problem and the first thing to change |
| `topIssues` | Titles of the 3 highest-impact issues |
| `checks[]` | `id`, `title`, `score` (0–10), `status` (good/warn/bad), `finding`, `fix` |
| `shortDescriptionRewrites[]`, `hooks[]`, `featureBulletRewrites[]` | Ready-to-paste copy (`featureBulletRewrites` items have `before` / `after`) |
| `suggestedTags[]` | Real Steam tags worth adding |
| `comparables[]`, `comparablesBasis` | Comparable games and the tags used to find them |
| `aiUsed`, `analyzedAt`, `reportMarkdown` | Whether the AI pass ran, timestamp, full Markdown report |
| `error` | Only present if a page could not be audited (not charged) |

#### Sample output (Hades, shortened)

```json
{
  "appid": 1145360,
  "name": "Hades",
  "storeUrl": "https://store.steampowered.com/app/1145360/",
  "totalScore": 81,
  "grade": "B",
  "summary": "While the page leverages strong studio pedigree and striking isometric art, relying on previous game names in the short description misses an opportunity to sell the reactive narrative loop. Expanding the short description to emphasize that every death advances story and character relationships will better capture players outside Supergiant's existing fanbase.",
  "topIssues": [
    "Short description opens with a hook",
    "Short description is specific (genre + twist), right length",
    "About section is skimmable (hook up top, headers, GIFs)"
  ],
  "checks": [
    {
      "id": "capsule_genre",
      "title": "Capsule art tells the genre at a glance",
      "score": 8,
      "status": "good",
      "finding": "The capsule clearly communicates an action-oriented Greek mythology fantasy through Zagreus holding a glowing sword and wearing a laurel wreath, though the specific isometric rogue-like structure must be inferred from the weapon and action pose rather than explicitly seen.",
      "fix": "No structural change required, but a subtle visual framing showing an isometric dungeon environment behind Zagreus would clarify the exact perspective immediately."
    },
    "… 11 more"
  ],
  "shortDescriptionRewrites": [
    "Battle out of hell as the immortal Prince of the Underworld. Wield mythic weapons and combine dozens of Olympian Boons to forge thousands of unique builds in this fast-paced rogue-like dungeon crawler.",
    "…"
  ],
  "hooks": [
    "Defy the god of the dead and hack your way out of the Underworld.",
    "…"
  ],
  "featureBulletRewrites": [
    {
      "before": "The Olympians have your back! Meet Zeus, Athena, Poseidon, and many more, and choose from their dozens of powerful Boons that enhance your abilities. There are thousands of viable character builds to discover as you go.",
      "after": "Combine dozens of Olympian Boons to discover thousands of lethal, synergistic character builds every run."
    }
  ],
  "suggestedTags": [
    "Controller",
    "Fast-Paced",
    "Dark Fantasy",
    "Replay Value",
    "Character Customization"
  ],
  "comparables": [
    {
      "appid": 250900,
      "name": "The Binding of Isaac: Rebirth",
      "reviews": 463306,
      "positivePct": 97,
      "shortDescription": "The Binding of Isaac: Rebirth is a randomly generated action RPG shooter with heavy Rogue-like elements. Following Isaac on his journey players will find bizarre treasures that change Isaac’s form giving him super human abilities and enabling him to fight off droves of mysterious creatures, discover secrets and fight his way to safety.",
      "tags": [
        "Action Roguelike",
        "Roguelike",
        "Indie",
        "Replay Value",
        "Difficult",
        "Pixel Graphics",
        "Dungeon Crawler",
        "Great Soundtrack"
      ],
      "sharedTags": [
        "Action Roguelike",
        "Roguelike",
        "Indie",
        "Replay Value",
        "Difficult",
        "Dungeon Crawler",
        "Great Soundtrack",
        "Singleplayer"
      ],
      "screenshots": 12,
      "hasTrailer": true,
      "url": "https://store.steampowered.com/app/250900/"
    },
    "… 4 more"
  ],
  "comparablesBasis": [
    "Action Roguelike",
    "Roguelite"
  ],
  "aiUsed": true,
  "analyzedAt": "2026-10-17T06:25:54.020Z",
  "reportMarkdown": "# Hades: Steam page audit … (full report as Markdown)"
}
```

### Pricing

Pay per event: **$0.99 per page successfully audited** (`page-audit`). Pages that fail (wrong appid, region-locked or hidden) are not charged. You can cap spending with the run's maximum charge setting.

### Notes

- Fully automated software: rule-based checks plus an AI model (Google Gemini) for the visual and language checks. No person reviews your page.
- Typical run time is 15–60 seconds per page.
- Reports are suggestions; no specific wishlist or sales result is promised.
- Not affiliated with Valve Corporation. Steam is a trademark of Valve Corporation.

# Actor input Schema

## `pages` (type: `array`):

Steam store URLs (https://store.steampowered.com/app/<appid>/...) or numeric appids. Coming Soon pages work too. Max 50 per run.

## `includeComparables` (type: `boolean`):

Find the most-reviewed games sharing your top specific tags and include their short description, tags and media counts.

## Actor input object example

```json
{
  "pages": [
    "https://store.steampowered.com/app/4609150/"
  ],
  "includeComparables": true
}
```

# Actor output Schema

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

Score, grade, summary and top issues per page.

## `reports` (type: `string`):

All 12 checks, rewrites, tag suggestions, comparables and Markdown report per page.

# 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 = {
    "pages": [
        "https://store.steampowered.com/app/4609150/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("keiwy/steam-store-page-auditor").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 = { "pages": ["https://store.steampowered.com/app/4609150/"] }

# Run the Actor and wait for it to finish
run = client.actor("keiwy/steam-store-page-auditor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "pages": [
    "https://store.steampowered.com/app/4609150/"
  ]
}' |
apify call keiwy/steam-store-page-auditor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,keiwy/steam-store-page-auditor"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/8jnCUguhGvDMEXhcd/builds/R50OfvDoMPfxsSObl/openapi.json
