---
name: market-index-b762b9ee37d8
description: "Search, discover, and browse indexed markets across all platforms"
emoji: "🔍"
---

# Market Index - Complete API Reference

Search, discover, and browse markets across all prediction market platforms with advanced filtering and categorization.

---

## Chat Commands

### Search

```
/index search "trump"                       # Search all indexed markets
/index search "election" --platform poly    # Search specific platform
/index search "fed rate" --category finance # Filter by category
/index search "crypto" --min-volume 10000   # Min volume filter
/index search "sports" --active-only        # Active markets only
```

### Browse Categories

```
/index categories                           # List all categories
/index category politics                    # Browse politics markets
/index category crypto                      # Browse crypto markets
/index category sports                      # Browse sports markets
/index trending                             # Trending markets
```

### Market Discovery

```
/index new                                  # Newly created markets
/index new --last 24h                       # Last 24 hours
/index hot                                  # High activity markets
/index closing-soon                         # Markets ending soon
```

### Index Management

```
/index update                               # Refresh market index
/index update poly                          # Update specific platform
/index stats                                # Index statistics
/index status                               # Index health status
```

---

## TypeScript API Reference

### Create Market Index

```typescript
import { createMarketIndex } from 'clodds/market-index';

const index = createMarketIndex({
  platforms: ['polymarket', 'kalshi', 'manifold', 'betfair'],

  // Auto-refresh
  autoRefresh: true,
  refreshIntervalMs: 300000,  // 5 minutes

  // Storage
  cachePath: './market-index.db',
});
```

### Search Markets

```typescript
// Full-text search
const results = await index.search('trump election', {
  platforms: ['polymarket', 'kalshi'],
  limit: 20,
  sortBy: 'volume',  // 'volume' | 'relevance' | 'endDate' | 'created'
});

for (const market of results) {
  console.log(`[${market.platform}] ${market.question}`);
  console.log(`  Category: ${market.category}`);
  console.log(`  Volume: $${market.volume.toLocaleString()}`);
  console.log(`  End: ${market.endDate}`);
}

// With filters
const filtered = await index.search('', {
  category: 'politics',
  minVolume: 10000,
  activeOnly: true,
  endsBefore: '2024-12-31',
});
```

### Browse Categories

```typescript
// Get all categories
const categories = await index.getCategories();

for (const cat of categories) {
  console.log(`${cat.name}: ${cat.marketCount} markets`);
}

// Get markets in category
const politics = await index.getMarketsByCategory('politics', {
  limit: 50,
  sortBy: 'volume',
});
```

### Market Discovery

```typescript
// Get new markets
const newMarkets = await index.getNewMarkets({
  since: Date.now() - 24 * 60 * 60 * 1000,  // Last 24h
  limit: 20,
});

// Get trending/hot markets
const trending = await index.getTrendingMarkets({
  period: '24h',
  limit: 10,
});

for (const market of trending) {
  console.log(`${market.question}`);
  console.log(`  Volume 24h: $${market.volume24h.toLocaleString()}`);
  console.log(`  Volume change: ${market.volumeChange > 0 ? '+' : ''}${market.volumeChange}%`);
}

// Markets closing soon
const closingSoon = await index.getClosingSoon({
  within: '48h',
  minVolume: 1000,
});
```

### Index Management

```typescript
// Update index
await index.update();

// Update specific platform
await index.update('polymarket');

// Get index stats
const stats = await index.getStats();

console.log(`Total markets: ${stats.totalMarkets}`);
console.log(`By platform:`);
for (const [platform, count] of Object.entries(stats.byPlatform)) {
  console.log(`  ${platform}: ${count}`);
}
console.log(`By category:`);
for (const [category, count] of Object.entries(stats.byCategory)) {
  console.log(`  ${category}: ${count}`);
}
console.log(`Last updated: ${stats.lastUpdated}`);

// Check status
const status = await index.getStatus();
console.log(`Status: ${status.status}`);
console.log(`Markets indexed: ${status.marketCount}`);
console.log(`Index age: ${status.ageMinutes} minutes`);
```

### Get Single Market

```typescript
// Get market details
const market = await index.getMarket('polymarket', 'market-123');

console.log(`Question: ${market.question}`);
console.log(`Description: ${market.description}`);
console.log(`Category: ${market.category}`);
console.log(`Platform: ${market.platform}`);
console.log(`Volume: $${market.volume.toLocaleString()}`);
console.log(`Liquidity: $${market.liquidity.toLocaleString()}`);
console.log(`Start: ${market.startDate}`);
console.log(`End: ${market.endDate}`);
console.log(`Outcomes: ${market.outcomes.join(', ')}`);
```

---

## Categories

Standard categories across platforms:

| Category | Description |
|----------|-------------|
| **politics** | Elections, policy, government |
| **crypto** | Cryptocurrency prices, events |
| **finance** | Fed rates, stocks, economy |
| **sports** | Games, tournaments, awards |
| **entertainment** | Movies, TV, celebrities |
| **science** | Research, space, climate |
| **technology** | Tech companies, products |
| **world** | International events |
| **other** | Miscellaneous |

---

## Search Syntax

| Syntax | Example | Description |
|--------|---------|-------------|
| Keywords | `trump election` | Match any word |
| Exact phrase | `"federal reserve"` | Match exact phrase |
| Exclude | `election -trump` | Exclude word |
| Platform filter | `platform:poly` | Specific platform |
| Category filter | `category:politics` | Specific category |

---

## Sorting Options

| Option | Description |
|--------|-------------|
| `volume` | Highest volume first |
| `relevance` | Best match first |
| `endDate` | Ending soonest first |
| `created` | Newest first |
| `liquidity` | Highest liquidity first |

---

## Best Practices

1. **Refresh regularly** - Markets change frequently
2. **Use filters** - Narrow down large result sets
3. **Check liquidity** - Not just volume
4. **Monitor new markets** - Opportunities in new listings
5. **Track closing dates** - Don't miss resolution


---
Source attribution: alsk1992
Original project: https://github.com/alsk1992/CloddsBot/blob/c930628c47a4a745f497e29035a3b64622f97cc7/src/skills/bundled/market-index/SKILL.md
License: MIT
License information: https://opensource.org/license/mit
Original upstream instructions; downloaded from Dave AI.

## Upstream license notice

MIT License

Copyright (c) 2026 alsk1992

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



# Dave AI resource metadata

Creator / publisher: alsk1992
Original project: https://github.com/alsk1992/CloddsBot/blob/c930628c47a4a745f497e29035a3b64622f97cc7/src/skills/bundled/market-index/SKILL.md
Attribution basis: Source repository record

Fields of work: Marketing
Roles: Growth Marketer, Marketing Analyst, Product Marketer
Specialties: API
Tools: Clodds
Country applicability: Country not specified
Classification basis: Source catalog labels
Instruction SHA-256: afed241d5e91deb4df78c4c49dfdff83b7332f5e3988ccfd9c9b37ce95e34842
