diff --git a/.changeset/every-showers-switch.md b/.changeset/every-showers-switch.md
new file mode 100644
index 00000000..08141c69
--- /dev/null
+++ b/.changeset/every-showers-switch.md
@@ -0,0 +1,7 @@
+---
+'@astro-community/astro-embed-integration': minor
+'@astro-community/astro-embed-spotify': minor
+'astro-embed': minor
+---
+
+Adds Spotify astro-embed component
diff --git a/demo/package.json b/demo/package.json
index 56f7f410..7857e895 100644
--- a/demo/package.json
+++ b/demo/package.json
@@ -14,6 +14,7 @@
"@astro-community/astro-embed-gist": "workspace:*",
"@astro-community/astro-embed-link-preview": "workspace:*",
"@astro-community/astro-embed-mastodon": "workspace:*",
+ "@astro-community/astro-embed-spotify": "workspace:*",
"@astro-community/astro-embed-vimeo": "workspace:*",
"@astro-community/astro-embed-youtube": "workspace:*",
"@astrojs/mdx": "^5.0.4",
diff --git a/demo/src/pages/index.astro b/demo/src/pages/index.astro
index 4535ee34..837e009d 100644
--- a/demo/src/pages/index.astro
+++ b/demo/src/pages/index.astro
@@ -36,6 +36,9 @@ import Base from '../layouts/Base.astro';
<Gist/> component examples
+
+ <Spotify/> component examples
+
Other examples
diff --git a/demo/src/pages/integration.mdx b/demo/src/pages/integration.mdx
index 6ebe4952..2544d024 100644
--- a/demo/src/pages/integration.mdx
+++ b/demo/src/pages/integration.mdx
@@ -29,3 +29,5 @@ https://astro.build/blog/welcome-world/
https://mastodon.social/@sarah11918/112937553683639459
https://gist.github.com/vasfvitor/1f995c47ee82ae652496622db1e678ea
+
+https://open.spotify.com/track/4cOdK2wGLETKBW3PvgPWqT
diff --git a/demo/src/pages/spotify.astro b/demo/src/pages/spotify.astro
new file mode 100644
index 00000000..d4011f5c
--- /dev/null
+++ b/demo/src/pages/spotify.astro
@@ -0,0 +1,93 @@
+---
+import { Spotify as Spot } from '@astro-community/astro-embed-spotify';
+import Base from '../layouts/Base.astro';
+---
+
+
+ Track — bare type/id string
+ <Spotify id="track/4cOdK2wGLETKBW3PvgPWqT" />
+
+
+ Track — full URL
+
+ <Spotify id="https://open.spotify.com/track/4cOdK2wGLETKBW3PvgPWqT"
+ />
+
+
+
+ Album
+
+ <Spotify id="https://open.spotify.com/album/6eUW0wxWtzkFdaEFsTJto6"
+ size="full" />
+
+
+
+ Playlist
+
+ <Spotify id="https://open.spotify.com/playlist/37i9dQZF1DZ06evO05tE88"
+ size="full" theme="#005e3e" />
+
+
+
+ Podcast episode
+
+ <Spotify id="https://open.spotify.com/episode/7makk4oTQel546B0PZlDM5"
+ />
+
+
+
+ Full size player
+
+ <Spotify id="track/4cOdK2wGLETKBW3PvgPWqT" size="full" />
+
+
+
+ Custom colour theme
+
+ <Spotify id="track/4cOdK2wGLETKBW3PvgPWqT" theme="#005977"
+ artist="Rick Astley" />
+
+
+
+ Custom poster image
+
+ <Spotify id="track/4cOdK2wGLETKBW3PvgPWqT"
+ poster="https://picsum.photos/id/158/1280/853" />
+
+
+
+ Custom play label
+
+ <Spotify id="track/4cOdK2wGLETKBW3PvgPWqT" playLabel="Get Rick
+ Rolled!" />
+
+
+
diff --git a/docs/package.json b/docs/package.json
index 167c8bf3..cbea489f 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -16,6 +16,7 @@
"@astro-community/astro-embed-gist": "workspace:*",
"@astro-community/astro-embed-link-preview": "workspace:*",
"@astro-community/astro-embed-mastodon": "workspace:*",
+ "@astro-community/astro-embed-spotify": "workspace:*",
"@astro-community/astro-embed-twitter": "workspace:*",
"@astro-community/astro-embed-vimeo": "workspace:*",
"@astro-community/astro-embed-youtube": "workspace:*",
diff --git a/docs/src/content/docs/components/spotify.mdx b/docs/src/content/docs/components/spotify.mdx
new file mode 100644
index 00000000..5db8ffc9
--- /dev/null
+++ b/docs/src/content/docs/components/spotify.mdx
@@ -0,0 +1,164 @@
+---
+title: Spotify
+description: Learn how to use the Astro Embed Spotify component to embed Spotify content in your website
+---
+
+import { Tabs, TabItem } from '@astrojs/starlight/components';
+import { Spotify } from '@astro-community/astro-embed-spotify';
+
+The `` component generates an embed using a lightweight custom element that will load Spotify's `