Skip to main content
Comprehensive guide to all parameters available across Trackyard API endpoints.

Search Filters

Use these filters with POST /search to refine results.

Query Parameters

query
string
required
Natural language description of what you need.Tips:
  • Be specific: “upbeat electronic for tech demo” > “upbeat music”
  • Include context: Mention the scene, platform, or use case
  • Reference styles: “something like Tycho but faster”
limit
number
default:20
Number of results to return.Range: 1-100
offset
number
default:0
Pagination offset for browsing large result sets.

Filter Object

All filters are optional and can be combined.
filters.genres
array
Array of parent genre strings. Tracks must match at least one.
Important: Only parent genres can be used in filters. Sub-genres are returned in the subgenres field of each track but cannot be filtered directly.
Available parent genres:
  • Acoustic
  • Ambient
  • Beats
  • Blues
  • Brass & Marching Band
  • Children’s Music
  • Cinematic
  • Classical
  • Comedy
  • Country
  • Dance
  • Disco
  • Downtempo
  • Easy Listening
  • Electronic
  • Electronica
  • Experimental
  • Fanfares
  • Folk
  • Funk
  • Hip Hop
  • House
  • Jazz
  • Latin
  • Metal
  • Pop
  • Punk
  • R&B
  • Reggae
  • Religious Music
  • Rock
  • Singer-Songwriter
  • Soul
  • Special Occasions
  • World
Example: ["Hip Hop", "Electronic"]Sub-genre taxonomy: Each parent genre contains multiple sub-genres (e.g., Hip Hop includes Boom Bap, Lo-Fi Hip Hop, Trap, etc.). Sub-genres are visible in track metadata but not filterable. For the complete, browsable taxonomy, see app.trackyard.com/browse/genres
filters.moods
array
Array of mood strings. Tracks must match at least one.Available moods:
  • Ambient
  • Angry
  • Calm
  • Chill
  • Cinematic
  • Confident
  • Contemplative
  • Dark
  • Dramatic
  • Dreamy
  • Eccentric
  • Elegant
  • Energetic
  • Epic
  • Euphoric
  • Floating
  • Frantic
  • Fun
  • Glamorous
  • Groovy
  • Happy
  • Heavy
  • Hopeful
  • Hypnotic
  • Inspiring
  • Intimate
  • Laid Back
  • Melancholic
  • Mysterious
  • Nostalgia
  • Nostalgic
  • Peaceful
  • Quirky
  • Romantic
  • Sad
  • Scary
  • Sensual
  • Sentimental
  • Sneaking
  • Suspense
  • Warm
  • Weird
Example: ["Upbeat", "Energetic"]
For the complete, current list of moods, see app.trackyard.com/browse/moods
filters.has_vocals
boolean
Filter by vocal presence.
  • true: Only tracks with vocals
  • false: Instrumental only
  • Omit: No filter (returns both)
filters.min_bpm
number
Minimum tempo in beats per minute.Range: 40-200Reference:
  • 60-90: Slow (ballads, ambient)
  • 90-120: Medium (pop, rock)
  • 120-140: Upbeat (house, dance)
  • 140+: Fast (drum & bass, hardcore)
filters.max_bpm
number
Maximum tempo in beats per minute.Range: 40-200
filters.energy_level
string
Overall energy intensity.Options:
  • "low": Calm, ambient, background music
  • "medium": Moderate energy, conversational
  • "high": Energetic, upbeat, driving
filters.instruments
array
Array of instrument strings. Tracks must include at least one.Common instruments:
  • "Piano", "Guitar", "Drums", "Bass"
  • "Synth", "Strings", "Brass", "Woodwinds"
  • "Vocals", "Percussion", "Organ", "Harp"
Example: ["Piano", "Strings"]

Download Parameters

Use these with POST /download-track to control output.
track_id
string
required
Track ID from search results.
duration_seconds
number
Clip length in seconds. Omit for full track.Range: 10-300 seconds Minimum recommended: 10 secondsWhat happens: Trackyard analyzes the waveform and selects the best-sounding segment automatically.
hit_point_seconds
number
Offset where the musical peak should land. Requires duration_seconds.Range: Must be < duration_seconds Precision: ±1 secondUse case: Sync music’s climax to a specific moment (product reveal, logo drop, title card).Example: For a 30-second clip with the hit at 18 seconds:
{
  "track_id": "trk_abc123",
  "duration_seconds": 30,
  "hit_point_seconds": 18
}

Filter Combination Examples

Social Media Reel (15s, upbeat, no vocals)

{
  "query": "upbeat music for Instagram Reel about travel",
  "filters": {
    "has_vocals": false,
    "min_bpm": 120,
    "energy_level": "high"
  }
}

Podcast Intro (30s, professional, clean)

{
  "query": "professional intro music for business podcast",
  "filters": {
    "moods": ["Corporate", "Modern"],
    "max_bpm": 120,
    "has_vocals": false
  }
}

Product Demo (ambient, minimal, no rush)

{
  "query": "minimal background music for SaaS demo",
  "filters": {
    "genres": ["Electronic", "Ambient"],
    "energy_level": "low",
    "has_vocals": false,
    "max_bpm": 110
  }
}

Cinematic Trailer (epic, orchestral, building)

{
  "query": "epic orchestral music for movie trailer",
  "filters": {
    "genres": ["Orchestral", "Cinematic"],
    "moods": ["Epic", "Powerful"],
    "min_bpm": 100,
    "instruments": ["Strings", "Brass", "Percussion"]
  }
}

Tips for Effective Filtering

Start broad, refine narrow: Let the AI interpret your query first, then add filters if needed
Don’t over-filter: Too many filters can exclude great matches. Start with 2-3 key constraints
Use energy_level for vibe: It’s often more effective than BPM for matching overall feel
Combine moods wisely: Some combinations don’t make sense (“Tense” + “Relaxed” = no results)

Next Steps