BTD

API Documentation

v1

The Before The Data API gives you programmatic access to our artist scouting intelligence, including real-time metrics, spike detection, and signing alerts.

Authentication

All requests require an API key passed as a Bearer token in the Authorization header.

curl -H "Authorization: Bearer btd_your_key_here" \
  https://beforethedata.com/api/v1/artists

API keys are issued on request. Contact chad@beforethedata.com for access.

Base URL

https://beforethedata.com/api/v1

Endpoints

Artists

GET /api/v1/artists
Returns all scouting artists with metrics, songs, and scouting reports.
ParameterTypeDescription
idstringReturn a single artist by Firebase document ID
newintegerOnly artists added in the last N days (e.g. new=7)
tierstringFilter by tier: watch, on-the-rise, breaking, established
signedbooleanFilter by signed status: true or false
fieldsstringSet to basic for minimal response (no songs or scouting report)
limitintegerMax results to return (default 100, max 200)

Example: get artists added in the last 14 days

curl -H "Authorization: Bearer btd_your_key" \
  "https://beforethedata.com/api/v1/artists?new=14"

Example response:

{
  "success": true,
  "count": 3,
  "data": [
    {
      "id": "abc123",
      "name": "Artist Name",
      "photo": "https://...",
      "date_added": "2026-04-01",
      "signed_status": "unsigned",
      "tier": "on-the-rise",
      "links": {
        "spotify": "https://open.spotify.com/artist/...",
        "tiktok": "https://www.tiktok.com/@...",
        "instagram": "https://www.instagram.com/..."
      },
      "metrics": {
        "spotify_streams": 150000,
        "monthly_listeners": 45000,
        "tiktok_followers": 28000,
        "instagram_followers": 12000,
        "social_score": 72
      },
      "songs": [
        {
          "id": "am_123456",
          "name": "Song Title",
          "streams": 95000,
          "ugc_tiktok": 42,
          "ugc_instagram": 15,
          "artwork": "https://..."
        }
      ],
      "scouting_report": "Full analysis text...",
      "total_songs": 4
    }
  ],
  "_meta": {
    "api_version": "v1",
    "authenticated_as": "Partner Name",
    "timestamp": "2026-04-11T12:00:00.000Z"
  }
}

Spikes

GET /api/v1/spikes
Returns artists with significant growth spikes in streams or followers.
ParameterTypeDescription
daysintegerLook-back period in days (default 3, max 30)

Example:

curl -H "Authorization: Bearer btd_your_key" \
  "https://beforethedata.com/api/v1/spikes?days=7"

Example response:

{
  "success": true,
  "count": 2,
  "period_days": 7,
  "data": [
    {
      "artist_name": "Stan Coe",
      "metric": "tiktok_followers",
      "previous": 12100,
      "current": 23900,
      "delta": 11800,
      "percent_change": 97.5,
      "period_days": 7,
      "tiktok": "https://www.tiktok.com/@stanncoe"
    }
  ]
}
Spike thresholds: Spotify streams >20% growth or >10K absolute increase. TikTok followers >15% growth or >5K absolute increase.

Signings

GET /api/v1/signings
Returns artists with signing indicators: status changes or major label p-lines detected on songs.

No parameters. Returns all artists flagged as signed or with major label copyright detected.

Example:

curl -H "Authorization: Bearer btd_your_key" \
  "https://beforethedata.com/api/v1/signings"

Example response:

{
  "success": true,
  "count": 1,
  "data": [
    {
      "artist_name": "Artist Name",
      "signed_status": "signed",
      "label_songs": [
        {
          "song_name": "Track Title",
          "pline": "2026 Atlantic Records",
          "label_detected": "atlantic"
        }
      ],
      "total_label_songs": 1
    }
  ],
  "_meta": {
    "labels_tracked": ["sony", "universal", "warner", "..."]
  }
}

Rate Limits

API requests are limited to 100 requests per hour per key. If you exceed this limit, you will receive a 429 Too Many Requests response. Contact us if you need higher limits.

Errors

All errors return a JSON object with an error field and a human-readable message.

{
  "error": "unauthorized",
  "message": "Invalid or missing API key."
}
StatusErrorDescription
401unauthorizedMissing or invalid API key
404not_foundArtist ID does not exist
405method_not_allowedOnly GET requests are supported
429rate_limitedToo many requests
500server_errorInternal error

Support

For API access, questions, or partnership inquiries: chad@beforethedata.com