# Prophed Common Markets (`prophed/prophed-common-markets`) Actor

Fetch cross-platform prediction-market matches from Prophed Common Markets and output normalized arbitrage, liquidity, spread, and platform-comparison rows.

- **URL**: https://apify.com/prophed/prophed-common-markets.md
- **Developed by:** [Prophed Com](https://apify.com/prophed) (community)
- **Categories:** Business, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 90.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

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

## Prophed Common Markets

Prophed Common Markets exports matched prediction markets across multiple platforms as normalized Apify dataset rows. It is designed for analysts, trading dashboards, market researchers, arbitrage monitoring, and AI agents that need one clean feed instead of separate Polymarket, Kalshi, Manifold, Futuur, PredictIt, Limitless, Opinion, and Predict.fun integrations.

The Actor calls a Prophed Common Markets API endpoint, applies client-side filters, ranks the results, and emits one dataset row per common market. Each row includes the matched question, category, platform count, total volume, total liquidity, best price, average spread, average similarity, top outcome, best platform, source URL, and optional per-platform outcome details.

### Input

- `apiBaseUrl`: Base URL for the Prophed API. The default is the Cloudflare Access protected Prophed export route used by this Actor.
- `apiPath`: API path that returns common markets JSON. The default is `/api/common-markets`.
- `apiKey`: Optional private API key. Use Apify secrets for this value.
- `apiKeyHeaderName`: Header name for the optional API key. The default is `apikey`.
- `cfAccessClientId`: Optional Cloudflare Access service-token client ID. Use an Apify secret.
- `cfAccessClientSecret`: Optional Cloudflare Access service-token client secret. Use an Apify secret.
- `limit`: Number of markets requested from Prophed. The current Prophed endpoint supports up to 500.
- `maxItems`: Maximum dataset rows emitted after filters.
- `minPlatformCount`: Require markets to be matched across at least this many platforms.
- `minTotalVolume`: Require minimum matched market volume.
- `platforms`: Optional list of required platforms. A market is emitted if at least one platform matches.
- `categories`: Optional category allow-list.
- `sortBy`: Sort output by `total_volume`, `platform_count`, `average_spread`, `best_price`, or `average_similarity`.
- `includePlatforms`: Include per-platform market details.
- `includeOutcomes`: Include per-platform outcomes.
- `maxOutcomesPerPlatform`: Cap outcome arrays.
- `includeRawMarket`: Attach the raw source market object for debugging.
- `timeoutSecs`: Prophed API request timeout.
- `failOnSourceError`: Fail the run if Prophed cannot be fetched.

Example input:

```json
{
  "apiBaseUrl": "https://v1.prophed.com",
  "apiPath": "/api/common-markets",
  "limit": 100,
  "maxItems": 100,
  "minPlatformCount": 2,
  "minTotalVolume": 1000,
  "platforms": ["polymarket", "kalshi"],
  "sortBy": "total_volume",
  "includePlatforms": true,
  "includeOutcomes": true
}
````

### Output

Each dataset item represents one cross-platform common market:

```json
{
  "marketId": "common-1",
  "question": "Will BTC be above $100k by year end?",
  "category": "Crypto",
  "platformCount": 3,
  "platformNames": ["polymarket", "kalshi", "manifold"],
  "totalVolume": 100000,
  "totalLiquidity": 25000,
  "bestPrice": 0.64,
  "averageSpread": 0.08,
  "averageSimilarity": 0.91,
  "topOutcomeName": "Yes",
  "bestPlatform": "polymarket",
  "platforms": []
}
```

### Pricing

This Actor is configured for `PAY_PER_EVENT` monetization. It charges per dataset row emitted, so users pay in proportion to the number of common markets they export.

### Notes

The public `prophed.com` website may be protected by Cloudflare browser challenges. For reliable Apify operation, use a bot-friendly internal Prophed API URL or a dedicated export route protected by Cloudflare Access service-token headers and, optionally, an additional API key.

# Actor input Schema

## `apiBaseUrl` (type: `string`):

Base URL for the Prophed API. The default is a Cloudflare Access protected Prophed export route used by this Actor.

## `apiPath` (type: `string`):

Path that returns the common markets JSON array.

## `apiKey` (type: `string`):

Optional private Prophed API key. Store secrets in Apify secret input values.

## `apiKeyHeaderName` (type: `string`):

Header name used for the optional API key.

## `cfAccessClientId` (type: `string`):

Optional Cloudflare Access service-token client ID for a protected Prophed export route. Store this as an Apify secret.

## `cfAccessClientSecret` (type: `string`):

Optional Cloudflare Access service-token client secret for a protected Prophed export route. Store this as an Apify secret.

## `limit` (type: `integer`):

Number of common markets requested from Prophed. The Prophed endpoint currently caps this at 500.

## `maxItems` (type: `integer`):

Hard cap for emitted Apify dataset rows after filtering.

## `minPlatformCount` (type: `integer`):

Only emit common markets that are matched across at least this many platforms.

## `minTotalVolume` (type: `integer`):

Only emit markets with at least this total matched volume.

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

Optional platform filter. If set, each emitted common market must include at least one of these platforms.

## `categories` (type: `array`):

Optional category filter, matched case-insensitively.

## `sortBy` (type: `string`):

Client-side sorting for the emitted rows.

## `includePlatforms` (type: `boolean`):

Include normalized per-platform market details in each dataset row.

## `includeOutcomes` (type: `boolean`):

Include per-platform outcome arrays. Disable for smaller output rows.

## `maxOutcomesPerPlatform` (type: `integer`):

Caps the number of outcomes copied into each platform object.

## `includeRawMarket` (type: `boolean`):

Attach the raw Prophed market object for debugging or archival use.

## `timeoutSecs` (type: `integer`):

Timeout for the Prophed API request.

## `failOnSourceError` (type: `boolean`):

Fail the Actor instead of emitting an error row when the Prophed API cannot be fetched.

## Actor input object example

```json
{
  "apiBaseUrl": "https://v1.prophed.com",
  "apiPath": "/api/common-markets",
  "apiKeyHeaderName": "apikey",
  "limit": 100,
  "maxItems": 100,
  "minPlatformCount": 2,
  "minTotalVolume": 0,
  "platforms": [],
  "categories": [],
  "sortBy": "total_volume",
  "includePlatforms": true,
  "includeOutcomes": true,
  "maxOutcomesPerPlatform": 20,
  "includeRawMarket": false,
  "timeoutSecs": 30,
  "failOnSourceError": true
}
```

# Actor output Schema

## `results` (type: `string`):

No description

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

No description

# 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 = {
    "platforms": [],
    "categories": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("prophed/prophed-common-markets").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 = {
    "platforms": [],
    "categories": [],
}

# Run the Actor and wait for it to finish
run = client.actor("prophed/prophed-common-markets").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 '{
  "platforms": [],
  "categories": []
}' |
apify call prophed/prophed-common-markets --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Prophed Common Markets",
        "description": "Fetch cross-platform prediction-market matches from Prophed Common Markets and output normalized arbitrage, liquidity, spread, and platform-comparison rows.",
        "version": "0.1",
        "x-build-id": "vE9W5GEdjOsxjZ1lv"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/prophed~prophed-common-markets/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-prophed-prophed-common-markets",
                "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/prophed~prophed-common-markets/runs": {
            "post": {
                "operationId": "runs-sync-prophed-prophed-common-markets",
                "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/prophed~prophed-common-markets/run-sync": {
            "post": {
                "operationId": "run-sync-prophed-prophed-common-markets",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "apiBaseUrl": {
                        "title": "API base URL",
                        "type": "string",
                        "description": "Base URL for the Prophed API. The default is a Cloudflare Access protected Prophed export route used by this Actor.",
                        "default": "https://v1.prophed.com"
                    },
                    "apiPath": {
                        "title": "API path",
                        "type": "string",
                        "description": "Path that returns the common markets JSON array.",
                        "default": "/api/common-markets"
                    },
                    "apiKey": {
                        "title": "API key",
                        "type": "string",
                        "description": "Optional private Prophed API key. Store secrets in Apify secret input values."
                    },
                    "apiKeyHeaderName": {
                        "title": "API key header",
                        "type": "string",
                        "description": "Header name used for the optional API key.",
                        "default": "apikey"
                    },
                    "cfAccessClientId": {
                        "title": "Cloudflare Access client ID",
                        "type": "string",
                        "description": "Optional Cloudflare Access service-token client ID for a protected Prophed export route. Store this as an Apify secret."
                    },
                    "cfAccessClientSecret": {
                        "title": "Cloudflare Access client secret",
                        "type": "string",
                        "description": "Optional Cloudflare Access service-token client secret for a protected Prophed export route. Store this as an Apify secret."
                    },
                    "limit": {
                        "title": "Source limit",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Number of common markets requested from Prophed. The Prophed endpoint currently caps this at 500.",
                        "default": 100
                    },
                    "maxItems": {
                        "title": "Max dataset rows",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Hard cap for emitted Apify dataset rows after filtering.",
                        "default": 100
                    },
                    "minPlatformCount": {
                        "title": "Minimum platform count",
                        "minimum": 1,
                        "maximum": 8,
                        "type": "integer",
                        "description": "Only emit common markets that are matched across at least this many platforms.",
                        "default": 2
                    },
                    "minTotalVolume": {
                        "title": "Minimum total volume",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only emit markets with at least this total matched volume.",
                        "default": 0
                    },
                    "platforms": {
                        "title": "Required platforms",
                        "type": "array",
                        "description": "Optional platform filter. If set, each emitted common market must include at least one of these platforms.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "categories": {
                        "title": "Categories",
                        "type": "array",
                        "description": "Optional category filter, matched case-insensitively.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "total_volume",
                            "platform_count",
                            "average_spread",
                            "best_price",
                            "average_similarity"
                        ],
                        "type": "string",
                        "description": "Client-side sorting for the emitted rows.",
                        "default": "total_volume"
                    },
                    "includePlatforms": {
                        "title": "Include platforms",
                        "type": "boolean",
                        "description": "Include normalized per-platform market details in each dataset row.",
                        "default": true
                    },
                    "includeOutcomes": {
                        "title": "Include outcomes",
                        "type": "boolean",
                        "description": "Include per-platform outcome arrays. Disable for smaller output rows.",
                        "default": true
                    },
                    "maxOutcomesPerPlatform": {
                        "title": "Max outcomes per platform",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Caps the number of outcomes copied into each platform object.",
                        "default": 20
                    },
                    "includeRawMarket": {
                        "title": "Include raw market",
                        "type": "boolean",
                        "description": "Attach the raw Prophed market object for debugging or archival use.",
                        "default": false
                    },
                    "timeoutSecs": {
                        "title": "Request timeout seconds",
                        "minimum": 5,
                        "maximum": 120,
                        "type": "integer",
                        "description": "Timeout for the Prophed API request.",
                        "default": 30
                    },
                    "failOnSourceError": {
                        "title": "Fail on source error",
                        "type": "boolean",
                        "description": "Fail the Actor instead of emitting an error row when the Prophed API cannot be fetched.",
                        "default": true
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
