Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.patchline.ai/llms.txt

Use this file to discover all available pages before exploring further.

Playlist pitching is half the indie release game. Patchline doesn’t ship a generic “submit to 500 playlists” service — it surfaces the specific playlists with the highest probability of adding your specific track, ranked by sonic fit and curator responsiveness, and gives you full intelligence on each curator before you pitch.   Free and Starter can browse playlists. Pro+ unlocks ranked matching and the playlist inspector.

Two tools, one workflow

ToolQuestion it answers
find_playlists”What playlists should I pitch this track to?”
inspect_playlist”Who runs this playlist? Is the curator active? Did they recently add similar artists? Are they accepting submissions?”
You use them together. find_playlists returns a ranked list; you inspect_playlist on the top 5 to pick the 1–3 worth pitching seriously.

What find_playlists actually does

Patchline ranks Spotify playlists by a composite score:
SignalWeightWhat it measures
Sonic fitHighCosine similarity between your track’s audio features and the playlist’s average features
Genre overlapHighHow many of the playlist’s existing tracks share genre/mood tags with yours
Curator responsivenessHighHow quickly the curator has historically added new releases (the “fresh playlist” signal)
Track turnoverMediumHow often the playlist refreshes — high-turnover = open to new music
Follower countLowA tiebreaker, not a primary signal
Submission statusHard filterIs the curator currently accepting? (We crawl SubmitHub-style signals)
The result is a ranked list of 10–25 playlists with a score (0–100) and a one-line “why this fits” explanation per row.

What inspect_playlist returns

Per playlist:
  • Curator identity — name, handle, contact (DM, email if listed)
  • Followers + monthly listener delta (growing or stagnant)
  • Genre/mood profile — top tags
  • Track count + average track age — freshness signal
  • Recent additions — last 20 tracks added, with dates
  • Submission status — open / closed / unknown
  • Similar artists already in the playlist — overlap with your roster
  • Pitch-history (if you’ve pitched before) — when, what you sent

Where it lives

SurfacePath
Web dashboardSidebar → Playlists → search or sidebar list. Per-track view at /dashboard/playlists/[assetId].
Aria chat”Find playlists for [track]” — returns ranked list inline.
TelegramSame as Aria — paste track link, get top matches.
MCP serverfind_playlists + inspect_playlist tools.

Quick start

1

Pick a track

Open the catalog, pick the track you want to pitch. It needs completed sonic analysis — playlist matching uses the audio features.
2

Ask for matches

Or sidebar → Playlists → click your track → Find matches.
3

Inspect the top candidates

For each of the top 3–5 matches, click into the inspector. Check:
  • Followers trend (is it growing?)
  • Recent adds (did they add a similar artist recently?)
  • Submission status (are they accepting?)
4

Pitch the right ones

Don’t pitch all 25. Pitch the 1–3 where Aria’s score is highest AND the inspector confirms an active, relevant curator. Aria can draft the pitch per playlist.

The tools, in detail

Example response (truncated):
{
  "track": "Sleeper — Mira",
  "matches": [
    {
      "playlist_id": "37i9dQZF1DXa1rZf8gLhyz",
      "name": "Lush Sounds",
      "score": 87,
      "why": "Dreampop-heavy curator, 76 BPM is in median range, recent add of Tessa's 'Long Way' (11 days ago)",
      "followers": 78000,
      "curator": "@lush_sounds_oslo",
      "submission_status": "open"
    },
    {
      "playlist_id": "37i9dQZF1DX2sUQwD7tbmL",
      "name": "Bedroom Vibes",
      "score": 79,
      "why": "Strong genre overlap (4 dreampop tracks this month), high curator responsiveness score",
      "followers": 210000,
      "curator": "@bedroomvibes",
      "submission_status": "open"
    }
    // … 18 more
  ]
}
Example response (truncated):
{
  "playlist_id": "37i9dQZF1DXa1rZf8gLhyz",
  "name": "Lush Sounds",
  "curator": {
    "handle": "@lush_sounds_oslo",
    "real_name": "Anders B.",
    "contact": "lushsounds.curator@gmail.com",
    "active_since": "2019-03",
    "responsiveness_score": 0.78
  },
  "followers": 78000,
  "follower_trend_30d": "+3.2%",
  "track_count": 247,
  "avg_track_age_days": 42,
  "top_genres": ["dreampop", "shoegaze", "indie folk"],
  "recent_additions": [
    { "track": "Long Way", "artist": "Tessa", "added": "2026-05-15" },
    { "track": "Distant", "artist": "Cleo Bell", "added": "2026-05-12" }
    // …
  ],
  "submission_status": "open",
  "your_pitch_history": []
}

Examples

Example 1 — Single-track matching

Aria: Top 3 by composite score:

  1. Hopeful Noise — 14k followers, curator @hopefulnoise (open, 0.81 responsiveness)
     Why: pop-leaning, 118 BPM median, recent add of a sonically-adjacent
     artist (Cleo Bell) 4 days ago.

  2. Future Female Sounds — 190k followers, curator @futurefemale (open, 0.74)
     Why: strong female-vocal weight, your valence (0.62) is in their range.

  3. Bright Drops — 38k followers, curator @bright_drops (open, 0.68)
     Why: high-energy pop focus, three recent adds in your BPM range.

Want me to inspect any of these or draft a pitch?

Example 2 — Roster-level matching

Aria: 5 artists, 10 top picks:

  Mira / "Sleeper":
    • Lush Sounds (87)
    • Bedroom Vibes (79)

  Tessa / "Long Way":
    • Lush Sounds (already added!)
    • Sad Girl Starter Pack (74)

  Cleo Bell / "Distant":
    • Lush Sounds (added 12 days ago)
    • Hopeful Noise (81)

  Run Hot / "Run Hot":
    • Indie Dance Hour (89)
    • 4 AM Club (76)

  Velvet Bird / "Velvet":
    • Velvet Underground Throwback (72)
    • Reverb Forever (68)

Want me to draft pitches for the top 5 across the roster?

Example 3 — Pre-pitch inspection

Aria: Bedroom Vibes — 210k followers, +1.8% in 30 days (growing).
Curator @bedroomvibes, real name not listed, contact via Spotify.
Responsiveness 0.69 — replies to ~40% of pitches. Recent adds: 4
dreampop tracks this month, avg track age 28 days (fresh). Submission
status: open. They've never added you before.

Verdict: solid pitch target. Worth a 60-second personalized message
referencing the dreampop adds.

Want me to draft the pitch?

Pricing

TierFind playlistsInspect playlist
Browse only
Browse only
✅ ranked matching✅ full inspector
✅ + bulk API
Each find_playlists or inspect_playlist call counts against AI credits via the Aria conversation that triggered it. Reading cached inspector results is free.

FAQ

No. Patchline finds the best-fit playlists and drafts the pitch. You send it through Spotify for Artists, SubmitHub, or direct curator outreach (DM, email). Most curators are humans who reply to humans, not bots.
A 0–1 score that estimates how quickly and how often a curator adds pitched tracks. It’s derived from historical signal: time between submission and add, % of new releases added vs ignored, recent activity. Higher = more likely to listen and respond.
A few possible reasons: (1) the playlist’s audio features don’t overlap with your track’s, (2) the curator is inactive (no recent adds), (3) the playlist is small enough that we haven’t indexed it yet. You can manually inspect_playlist with a direct URL.
Spotify only for ranked matching today. Apple Music / Tidal playlist intelligence is on the roadmap — not in v1.
Patchline records the rejection silently. Future find_playlists calls deprioritize curators who’ve rejected you. No penalty box — just don’t waste your future pitches.
Curator-recent-adds are refreshed daily. Submission status is refreshed weekly. If you need fresher data, the inspector has a “refresh now” button (Pro+).