Sports API

Access sports filtering options including competitions and scopes

Sports API

The Sports API provides filtering options for sports-related prediction markets, including available scopes and competitions for each sport.

Access

const dflow = new DFlowClient();
const sports = dflow.sports;

Methods

getFiltersBySports

Get available sports filters organized by sport.

const { filtersBySports, sportOrdering } = await dflow.sports.getFiltersBySports();
 
// Iterate through sports in order
sportOrdering.forEach(sport => {
  const filters = filtersBySports[sport];
  console.log(`${sport}:`);
  console.log(`  Competitions: ${filters?.competitions?.join(', ')}`);
  console.log(`  Scopes: ${filters?.scopes?.join(', ')}`);
});

Returns: FiltersBySportsResponse

interface FiltersBySportsResponse {
  filtersBySports: Record<string, SportFilters>;
  sportOrdering: string[];
}
 
interface SportFilters {
  competitions?: string[];
  scopes?: string[];
}

Examples

List All Sports and Filters

const { filtersBySports, sportOrdering } = await dflow.sports.getFiltersBySports();
 
console.log('Available sports:\n');
 
sportOrdering.forEach(sport => {
  const filters = filtersBySports[sport];
  console.log(`🏆 ${sport}`);
  if (filters?.competitions?.length) {
    console.log(`   Competitions: ${filters.competitions.join(', ')}`);
  }
  if (filters?.scopes?.length) {
    console.log(`   Scopes: ${filters.scopes.join(', ')}`);
  }
  console.log('');
});

Find Events by Sport

const { filtersBySports, sportOrdering } = await dflow.sports.getFiltersBySports();
 
// Check if NFL exists in any sport's competitions
for (const sport of sportOrdering) {
  const filters = filtersBySports[sport];
  if (filters?.competitions?.some(c => c.toLowerCase().includes('nfl'))) {
    const results = await dflow.search.search({ query: 'NFL' });
    console.log(`Found ${results.events.length} NFL-related events`);
    break;
  }
}

Get Competitions for Each Sport

const { filtersBySports, sportOrdering } = await dflow.sports.getFiltersBySports();
 
for (const sport of sportOrdering) {
  const filters = filtersBySports[sport];
  if (filters?.competitions && filters.competitions.length > 0) {
    console.log(`${sport} competitions:`);
    for (const competition of filters.competitions) {
      console.log(`  - ${competition}`);
    }
  }
}

On this page