---
format: typebulb/v1
name: Spotify Data Parsing
---

**code.tsx**

```tsx
import React from "react";
import { createRoot } from "react-dom/client"

interface SpotifyArtist {
  name: string;
  external_urls: { spotify: string };
}

interface SpotifyImage {
  url: string;
  height: number;
  width: number;
}

interface SpotifyTrack {
  id: string;
  name: string;
  track_number: number;
  duration_ms: number;
  explicit: boolean;
  artists: SpotifyArtist[];
}

interface SpotifyAlbum {
  name: string;
  album_type: string;
  release_date: string;
  total_tracks: number;
  images: SpotifyImage[];
  artists: SpotifyArtist[];
  tracks: {
    items: SpotifyTrack[];
  };
}

function formatDuration(ms: number) {
  const minutes = Math.floor(ms / 60000);
  const seconds = ((ms % 60000) / 1000).toFixed(0);
  return `${minutes}:${Number(seconds) < 10 ? '0' : ''}${seconds}`;
}

function App() {
  const data = React.useMemo(() => {
    try {
      return tb.json<SpotifyAlbum>(0);
    } catch (e) {
      console.error("Failed to parse data", e);
      return null;
    }
  }, []);

  if (!data) {
    return <div className="container">Error loading album data.</div>;
  }

  const mainArtist = data.artists[0];
  const coverArt = data.images[0]?.url;
  const releaseYear = new Date(data.release_date).getFullYear();

  return (
    <div className="container">
      <header className="album-header">
        <img src={coverArt} alt={data.name} className="album-art" />
        <div className="album-info">
          <div className="album-meta" style={{ textTransform: 'uppercase', fontSize: '0.75rem', marginBottom: '0.5rem' }}>
            {data.album_type}
          </div>
          <h1>{data.name}</h1>
          <div className="album-meta">
            <a href={mainArtist.external_urls.spotify} className="artist-link" target="_blank" rel="noreferrer">
              {mainArtist.name}
            </a>
            <span className="meta-separator">{releaseYear}</span>
            <span className="meta-separator">{data.total_tracks} songs</span>
          </div>
        </div>
      </header>

      <div className="tracklist">
        {data.tracks.items.map((track) => (
          <div key={track.id} className="track-item">
            <div className="track-number">{track.track_number}</div>
            <div className="track-main">
              <div className="track-name">
                {track.name}
                {track.explicit && <span className="explicit-badge">E</span>}
              </div>
              <div className="track-artist">
                {track.artists.map(a => a.name).join(", ")}
              </div>
            </div>
            <div className="track-duration">
              {formatDuration(track.duration_ms)}
            </div>
          </div>
        ))}
      </div>
    </div>
  );
}

const container = document.getElementById("root")
const root = createRoot(container!)
root.render(<App />)
```
**styles.css**

```css

:root {
  --bg: #ffffff;
  --text: #121212;
  --text-dim: #535353;
  --accent: #1db954;
  --card-bg: #f8f8f8;
  --border: #e0e0e0;
}

html[data-theme="dark"] {
  --bg: #121212;
  --text: #ffffff;
  --text-dim: #b3b3b3;
  --accent: #1db954;
  --card-bg: #181818;
  --border: #282828;
  color-scheme: dark;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background-color: var(--bg);
  color: var(--text);
  line-height: 1.5;
}

.container {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem;
}

.album-header {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
  align-items: flex-end;
}

.album-art {
  width: 232px;
  height: 232px;
  box-shadow: 0 4px 60px rgba(0,0,0,0.5);
  object-fit: cover;
}

.album-info h1 {
  font-size: 3rem;
  margin: 0 0 0.5rem 0;
  font-weight: 800;
}

.album-meta {
  font-size: 0.9rem;
  font-weight: 600;
}

.artist-link {
  color: var(--text);
  text-decoration: none;
}

.artist-link:hover {
  text-decoration: underline;
}

.meta-separator::before {
  content: " • ";
  color: var(--text-dim);
}

.tracklist {
  border-top: 1px solid var(--border);
  padding-top: 1rem;
}

.track-item {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  padding: 0.75rem 1rem;
  border-radius: 4px;
  align-items: center;
  gap: 1rem;
}

.track-item:hover {
  background-color: var(--card-bg);
}

.track-number {
  color: var(--text-dim);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.track-main {
  display: flex;
  flex-direction: column;
}

.track-name {
  font-weight: 500;
}

.track-artist {
  font-size: 0.8rem;
  color: var(--text-dim);
}

.track-duration {
  color: var(--text-dim);
  font-variant-numeric: tabular-nums;
  font-size: 0.9rem;
}

.explicit-badge {
  background: var(--text-dim);
  color: var(--bg);
  font-size: 0.6rem;
  padding: 1px 4px;
  border-radius: 2px;
  margin-left: 4px;
  text-transform: uppercase;
  vertical-align: middle;
}

@media (max-width: 600px) {
  .album-header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .album-info h1 {
    font-size: 2rem;
  }
}
```
**index.html**

```html
<div id="root"></div>
```
**data.txt**

```txt
{
  "album_type": "album",
  "total_tracks": 18,
  "external_urls": {
    "spotify": "https://open.spotify.com/album/6LZiNXaDvhzvnXUubVOmNU"
  },
  "href": "https://api.spotify.com/v1/albums/6LZiNXaDvhzvnXUubVOmNU?market=US&locale=en-US%2Cen-GB%3Bq%3D0.9%2Cen%3Bq%3D0.8",
  "id": "6LZiNXaDvhzvnXUubVOmNU",
  "images": [
    {
      "url": "https://i.scdn.co/image/ab67616d0000b2739effb26eea559ce6f3fed751",
      "height": 640,
      "width": 640
    },
    {
      "url": "https://i.scdn.co/image/ab67616d00001e029effb26eea559ce6f3fed751",
      "height": 300,
      "width": 300
    },
    {
      "url": "https://i.scdn.co/image/ab67616d000048519effb26eea559ce6f3fed751",
      "height": 64,
      "width": 64
    }
  ],
  "name": "Music Has The Right To Children",
  "release_date": "1998-04-20",
  "release_date_precision": "day",
  "type": "album",
  "uri": "spotify:album:6LZiNXaDvhzvnXUubVOmNU",
  "artists": [
    {
      "external_urls": {
        "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
      },
      "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
      "id": "2VAvhf61GgLYmC6C8anyX1",
      "name": "Boards of Canada",
      "type": "artist",
      "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
    }
  ],
  "tracks": {
    "href": "https://api.spotify.com/v1/albums/6LZiNXaDvhzvnXUubVOmNU/tracks?offset=0&limit=50&market=US&locale=en-US,en-GB;q%3D0.9,en;q%3D0.8",
    "limit": 50,
    "next": null,
    "offset": 0,
    "previous": null,
    "total": 18,
    "items": [
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 75626,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/1XZdwzd8DTDvkjVc0eJ9BI"
        },
        "href": "https://api.spotify.com/v1/tracks/1XZdwzd8DTDvkjVc0eJ9BI",
        "id": "1XZdwzd8DTDvkjVc0eJ9BI",
        "is_playable": true,
        "name": "Wildlife Analysis",
        "preview_url": null,
        "track_number": 1,
        "type": "track",
        "uri": "spotify:track:1XZdwzd8DTDvkjVc0eJ9BI",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 385520,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/7sAzXuEwz0sOhnB57xoccs"
        },
        "href": "https://api.spotify.com/v1/tracks/7sAzXuEwz0sOhnB57xoccs",
        "id": "7sAzXuEwz0sOhnB57xoccs",
        "is_playable": true,
        "name": "An Eagle In Your Mind",
        "preview_url": null,
        "track_number": 2,
        "type": "track",
        "uri": "spotify:track:7sAzXuEwz0sOhnB57xoccs",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 105626,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/0sgzC3F93Dh76Yfj5gNUkT"
        },
        "href": "https://api.spotify.com/v1/tracks/0sgzC3F93Dh76Yfj5gNUkT",
        "id": "0sgzC3F93Dh76Yfj5gNUkT",
        "is_playable": true,
        "name": "The Color Of The Fire",
        "preview_url": null,
        "track_number": 3,
        "type": "track",
        "uri": "spotify:track:0sgzC3F93Dh76Yfj5gNUkT",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 395480,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/7AfbtT8GN1iv3Crb11NaVI"
        },
        "href": "https://api.spotify.com/v1/tracks/7AfbtT8GN1iv3Crb11NaVI",
        "id": "7AfbtT8GN1iv3Crb11NaVI",
        "is_playable": true,
        "name": "Telephasic Workshop",
        "preview_url": null,
        "track_number": 4,
        "type": "track",
        "uri": "spotify:track:7AfbtT8GN1iv3Crb11NaVI",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 110413,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/5sW2mFMpTFNR5pTNfzG0Ox"
        },
        "href": "https://api.spotify.com/v1/tracks/5sW2mFMpTFNR5pTNfzG0Ox",
        "id": "5sW2mFMpTFNR5pTNfzG0Ox",
        "is_playable": true,
        "name": "Triangles & Rhombuses",
        "preview_url": null,
        "track_number": 5,
        "type": "track",
        "uri": "spotify:track:5sW2mFMpTFNR5pTNfzG0Ox",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 348346,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/2A6YNzhnvSgaqkJzDjtVyf"
        },
        "href": "https://api.spotify.com/v1/tracks/2A6YNzhnvSgaqkJzDjtVyf",
        "id": "2A6YNzhnvSgaqkJzDjtVyf",
        "is_playable": true,
        "name": "Sixtyten",
        "preview_url": null,
        "track_number": 6,
        "type": "track",
        "uri": "spotify:track:2A6YNzhnvSgaqkJzDjtVyf",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 307880,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/7F3MjS1b1xHeaeXyBTvCE0"
        },
        "href": "https://api.spotify.com/v1/tracks/7F3MjS1b1xHeaeXyBTvCE0",
        "id": "7F3MjS1b1xHeaeXyBTvCE0",
        "is_playable": true,
        "name": "Turquoise Hexagon Sun",
        "preview_url": null,
        "track_number": 7,
        "type": "track",
        "uri": "spotify:track:7F3MjS1b1xHeaeXyBTvCE0",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 59293,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/3FJ4suZo6FuW0xmARmE0R4"
        },
        "href": "https://api.spotify.com/v1/tracks/3FJ4suZo6FuW0xmARmE0R4",
        "id": "3FJ4suZo6FuW0xmARmE0R4",
        "is_playable": true,
        "name": "Kaini Industries",
        "preview_url": null,
        "track_number": 8,
        "type": "track",
        "uri": "spotify:track:3FJ4suZo6FuW0xmARmE0R4",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 95973,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/7keJ7uDxNNp2RFx91ZgWpc"
        },
        "href": "https://api.spotify.com/v1/tracks/7keJ7uDxNNp2RFx91ZgWpc",
        "id": "7keJ7uDxNNp2RFx91ZgWpc",
        "is_playable": true,
        "name": "Bocuma",
        "preview_url": null,
        "track_number": 9,
        "type": "track",
        "uri": "spotify:track:7keJ7uDxNNp2RFx91ZgWpc",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 149080,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/5Hf2h59YLInKlic7ooWZVd"
        },
        "href": "https://api.spotify.com/v1/tracks/5Hf2h59YLInKlic7ooWZVd",
        "id": "5Hf2h59YLInKlic7ooWZVd",
        "is_playable": true,
        "name": "Roygbiv",
        "preview_url": null,
        "track_number": 10,
        "type": "track",
        "uri": "spotify:track:5Hf2h59YLInKlic7ooWZVd",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 399493,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/4Wc2IIL5jGE1V9NkxS9OL3"
        },
        "href": "https://api.spotify.com/v1/tracks/4Wc2IIL5jGE1V9NkxS9OL3",
        "id": "4Wc2IIL5jGE1V9NkxS9OL3",
        "is_playable": true,
        "name": "Rue The Whirl",
        "preview_url": null,
        "track_number": 11,
        "type": "track",
        "uri": "spotify:track:4Wc2IIL5jGE1V9NkxS9OL3",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 358080,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/08EgS4Nqe1jPkI9tx9Dq3S"
        },
        "href": "https://api.spotify.com/v1/tracks/08EgS4Nqe1jPkI9tx9Dq3S",
        "id": "08EgS4Nqe1jPkI9tx9Dq3S",
        "is_playable": true,
        "name": "Aquarius",
        "preview_url": null,
        "track_number": 12,
        "type": "track",
        "uri": "spotify:track:08EgS4Nqe1jPkI9tx9Dq3S",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 91706,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/5DZ4M3yMat79ok25rZHuA9"
        },
        "href": "https://api.spotify.com/v1/tracks/5DZ4M3yMat79ok25rZHuA9",
        "id": "5DZ4M3yMat79ok25rZHuA9",
        "is_playable": true,
        "name": "Olson",
        "preview_url": null,
        "track_number": 13,
        "type": "track",
        "uri": "spotify:track:5DZ4M3yMat79ok25rZHuA9",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 367720,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/1U9svUekJ1Hp4sLy9HOqj9"
        },
        "href": "https://api.spotify.com/v1/tracks/1U9svUekJ1Hp4sLy9HOqj9",
        "id": "1U9svUekJ1Hp4sLy9HOqj9",
        "is_playable": true,
        "name": "Pete Standing Alone",
        "preview_url": null,
        "track_number": 14,
        "type": "track",
        "uri": "spotify:track:1U9svUekJ1Hp4sLy9HOqj9",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 187320,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/2GFE4jzz9fqolm1J3unXIB"
        },
        "href": "https://api.spotify.com/v1/tracks/2GFE4jzz9fqolm1J3unXIB",
        "id": "2GFE4jzz9fqolm1J3unXIB",
        "is_playable": true,
        "name": "Smokes Quantity",
        "preview_url": null,
        "track_number": 15,
        "type": "track",
        "uri": "spotify:track:2GFE4jzz9fqolm1J3unXIB",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 265026,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/6YKnA7JgJsvnd1gKD3vdED"
        },
        "href": "https://api.spotify.com/v1/tracks/6YKnA7JgJsvnd1gKD3vdED",
        "id": "6YKnA7JgJsvnd1gKD3vdED",
        "is_playable": true,
        "name": "Open The Light",
        "preview_url": null,
        "track_number": 16,
        "type": "track",
        "uri": "spotify:track:6YKnA7JgJsvnd1gKD3vdED",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 85053,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/1zo4sobFM7e95KevSJzXfZ"
        },
        "href": "https://api.spotify.com/v1/tracks/1zo4sobFM7e95KevSJzXfZ",
        "id": "1zo4sobFM7e95KevSJzXfZ",
        "is_playable": true,
        "name": "One Very Important Thought",
        "preview_url": null,
        "track_number": 17,
        "type": "track",
        "uri": "spotify:track:1zo4sobFM7e95KevSJzXfZ",
        "is_local": false
      },
      {
        "artists": [
          {
            "external_urls": {
              "spotify": "https://open.spotify.com/artist/2VAvhf61GgLYmC6C8anyX1"
            },
            "href": "https://api.spotify.com/v1/artists/2VAvhf61GgLYmC6C8anyX1",
            "id": "2VAvhf61GgLYmC6C8anyX1",
            "name": "Boards of Canada",
            "type": "artist",
            "uri": "spotify:artist:2VAvhf61GgLYmC6C8anyX1"
          }
        ],
        "disc_number": 1,
        "duration_ms": 476026,
        "explicit": false,
        "external_urls": {
          "spotify": "https://open.spotify.com/track/55IsBrXUfZUmY7KSm2BjUp"
        },
        "href": "https://api.spotify.com/v1/tracks/55IsBrXUfZUmY7KSm2BjUp",
        "id": "55IsBrXUfZUmY7KSm2BjUp",
        "is_playable": true,
        "name": "Happy Cycling",
        "preview_url": null,
        "track_number": 18,
        "type": "track",
        "uri": "spotify:track:55IsBrXUfZUmY7KSm2BjUp",
        "is_local": false
      }
    ]
  },
  "copyrights": [
    {
      "text": "1998 Warp Records",
      "type": "C"
    },
    {
      "text": "1998 Warp Records",
      "type": "P"
    }
  ],
  "external_ids": {
    "upc": "0801061005535"
  },
  "genres": [],
  "label": "Warp Records",
  "popularity": 59,
  "is_playable": true
}
```
**config.json**

```json
{
  "dependencies": {
    "react": "^19.2.3",
    "react-dom": "^19.2.3"
  },
  "description": "Spotify data parsing example. Typebulb gives the AI assistant a summarized view of the data tab. This ensures the AI sees the *structure* of the data without wasting its context window. AIs are inc..."
}
```