> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shadowfeed.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Feed Discovery

> Discover and filter available data feeds

# Feed Discovery

## List All Feeds

```typescript theme={null}
const feeds = await sf.discover();

feeds.forEach(f => {
  console.log(`${f.id} — ${f.price_display} — ${f.category}`);
});
```

## Filter by Category

```typescript theme={null}
const onchain = await sf.discover({ category: 'on-chain' });
// → smart-money-flows, wallet-profiler, smart-money-holdings, dex-trades, whale-alerts

const analytics = await sf.discover({ category: 'analytics' });
// → defi-scores, token-intel, stablecoin-flows
```

Available categories: `on-chain`, `social`, `analytics`, `derivatives`, `infrastructure`, `discovery`, `governance`, `security`, `development`, `cross-chain`.

## Filter by Price

```typescript theme={null}
// Cheap feeds only (≤ 0.005 STX)
const cheap = await sf.discover({ maxPrice: 0.005 });

// Premium feeds (≥ 0.05 STX)
const premium = await sf.discover({ minPrice: 0.05 });

// Price range
const mid = await sf.discover({ minPrice: 0.005, maxPrice: 0.02 });
```

## Combine Filters

```typescript theme={null}
const cheapOnchain = await sf.discover({
  category: 'on-chain',
  maxPrice: 0.01,
});
```

## Get Single Feed Info

```typescript theme={null}
const info = await sf.getFeed('smart-money-flows');

if (info) {
  console.log(info.id);                // 'smart-money-flows'
  console.log(info.price_stx);         // 0.08
  console.log(info.price_display);     // '0.08 STX'
  console.log(info.category);          // 'on-chain'
  console.log(info.description);       // 'Smart money net flows...'
  console.log(info.update_frequency);  // 'every 5 minutes'
  console.log(info.stats.total_queries);  // 142
}
```

## FeedInfo Type

```typescript theme={null}
interface FeedInfo {
  id: string;
  endpoint: string;
  price_stx: number;
  price_display: string;
  description: string;
  category: FeedCategory;
  update_frequency: string;
  response_format: string;
  stats: {
    total_queries: number;
    avg_response_ms: number;
    uptime_percent: number;
  };
}
```

## Caching

Discovery results are cached in memory. To force a refresh:

```typescript theme={null}
// Uses cache (fast)
const feeds = await sf.discover();

// Force refresh from API
const fresh = await sf.discover(undefined, true);
```
