Enchant.ee
Get started

Building your page

Live data and connected accounts

Most widgets show what you type into them. A few can go and fetch it: your follower count, your newest video, the last six films you logged. This chapter covers every one of them, what each needs from you, and — just as importantly — which ones are not available right now.

What Live data does

There is no Connections page in Enchant.ee. Every connector lives inside the widget that uses it. Open your page in the editor, tap the widget, and the sheet titled Edit Widget opens with that widget's controls in it — the connector is one of them.

Six widgets can go and fetch something for you:

  • Social Link — a real follower or subscriber count, plus your latest post.
  • Stats — up to four big numbers, each one pointed at its own platform.
  • Posts — your blog, pulled in from its RSS feed.
  • Film log — your recent watches from Letterboxd.
  • Bookshelf — a shelf from Goodreads.
  • Music — search a song catalogue, or paste a share link and get a player.

The Embed widget belongs in the same chapter but is not a connector: it fetches nothing and renders the other site's own player or card. It has a section at the end.

Two different kinds of freshness

This distinction decides how you work with each one, so it is worth fixing in your head now.

  • Handles refresh themselves. Once a Social Link or a Stats row has been fetched once, the number is re-read on the server every time somebody loads your public page. You never have to open the editor again.
  • Feeds do not. The Posts, Film log and Bookshelf widgets update only when you press Sync in the editor. Nothing happens on its own.

Note

Every connector in this chapter works on the Novice plan. None of them is behind a paid tier. See Plans and limits for what is.

All seven of those widgets also have a Background color picker, which has nothing to do with connecting anything and is left out of the tables below.

Connecting a social widget to a live number

A Social Link widget normally just shows an icon that links out. For six platforms you can also paste your public handle and have the widget fill itself with your real follower count and your latest post — title, thumbnail, how long ago, and a link straight to it.

You never log in to the platform for this. You type a public handle or profile URL, and that is all.

  1. Open the editor and tap the social widget. The Edit Widget sheet opens.
  2. Under Platform, pick the network.
  3. Find the field labelled Live data and type your handle. The placeholder tells you the shape it wants.
  4. Press Fetch. It reads Fetching… while it works, and Refresh from then on.
  5. On success a toast reads Live data connected with the number it found, for example 12.4K subscribers.
  6. A green dot appears under the field with the words Auto-updates from and the platform's name. That dot is the thing keeping it current.
  7. Change Display style so the number is actually visible — the next section is about why that step matters.

What to type, and what comes back

PlatformType thisWhat it fills
YouTube@channel or channel URLSubscriber count, and your newest upload — title, thumbnail, age, link
GitHubusernameFollower count, and your most recently pushed repository
Blueskyhandle.bsky.socialFollower count, and your newest post — text, image, age, link
Mastodonyou@mastodon.socialFollower count, and your newest post, with the formatting stripped out
Discordinvite link (discord.gg/…)Server member count, the server name, and how many members are online
Telegram@channel (bot must be admin)Channel member count. No latest post.

Twitch and Reddit cannot fetch anything at the moment

Both appear in the Platform list and both offer you a Live data field, but pressing Fetch answers Not available yet"This platform's API key isn't set up on the server." Type those numbers by hand for now.

What Fetch writes into the widget

It only fills fields the platform actually returned, and it is careful not to overwrite you:

  • Link — the profile URL worked out from your handle, but only if you had not typed a real one yourself. A URL you typed is never replaced.
  • Number — the count, shortened (12.3K).
  • Label — only if you left it empty.
  • Post title, Post image and Meta — taken from the latest post.
  • The tap target of the Post display, so it opens that post rather than your profile.

Platforms with no live data

For Website, X / Twitter, LinkedIn, Dribbble, Spotify and Email the Live data field does not appear at all. The panel says why: "Stat/post numbers for this platform are entered manually — this network has no free public API to auto-fetch."

Watch out

The Social tab of the Add a widget dialog only offers ten ready-made tiles, and Twitch, Bluesky, Mastodon, Discord, Reddit and Telegram are not among them. To use one of those, add any social tile — Website will do — and change the Platform dropdown inside the edit sheet.

Telegram needs the bot to be a channel admin

A member count can only be read by an administrator, and a bot cannot add itself. Until you make it an admin of your channel, Fetch fails with whatever Telegram reports — usually a "chat not found" wording — under the heading Couldn't fetch live data. If the platform says nothing useful, the fallback text is channel not found (is the bot an admin?).

Mastodon needs the instance, not just the name

Type you@mastodon.social or the full profile URL. A bare username answers use user@instance format, and your Link field is deliberately left alone rather than guessed at.
  • YouTube channels with a hidden subscriber count fill nothing rather than an invented figure.
  • YouTube's number is rounded by Google to three significant figures. That is the platform's behaviour, not ours.
  • Discord takes an invite code, not a server name. Its "latest" slot shows the server name and an online count, not a message.
  • Results are cached for one hour. Pressing Refresh again inside that hour returns the same numbers — expected, not a failure. Failures are not cached, so a corrected handle retries straight away.

One thing you may notice while adding social widgets: on the Novice plan the editor's Design panel shows a plan-usage meter labelled Links that counts your social widgets out of eight, and at eight it reads Link limit reached — upgrade for unlimited. It is a signpost rather than a gate — nothing refuses a ninth social widget — and connecting live data is free on every plan either way.

SettingWhereTypeValuesDefaultPlan
PlatformEdit Widget → SocialDropdownWebsite · X / Twitter · Instagram · GitHub · LinkedIn · YouTube · TikTok · Dribbble · Spotify · Twitch · Bluesky · Mastodon · Discord · Reddit · Telegram · EmailWebsiteAll
Live dataEdit Widget → Social (connectable platforms)Text + buttonA handle or profile URL. The button reads Fetch, then Refresh, and Fetching… while it worksEmptyAll
disconnectEdit Widget → Social, once connectedLinkStops automatic updates; leaves the fetched values in placeAll
Display styleEdit Widget → Social4 buttonsIcon · Button · Stat · PostIconAll
HandleEdit Widget → Social (Button and Post styles)TextFree text, placeholder @usernameEmptyAll
NumberEdit Widget → Social (Stat style)TextFree text, placeholder 12.4K. Overwritten by FetchEmpty — renders as an em dashAll
LabelEdit Widget → Social (Stat style)TextFree text, placeholder followers. Fetch fills it only if emptyPer platform: subscribers, members, monthly listeners or followersAll
Growth (optional)Edit Widget → Social (Stat style)TextFree text, placeholder +12% this weekEmptyAll
Post imageEdit Widget → Social (Post style)Image pickerAny uploaded or library image. Overwritten by FetchEmptyAll
Post titleEdit Widget → Social (Post style)TextFree text, placeholder New video is up!Falls back to Label, then to Latest postAll
MetaEdit Widget → Social (Post style)TextFree text, placeholder 2 days ago · 4:21EmptyAll
Play badgeEdit Widget → Social (Post style)ToggleOn · OffOn for YouTube and TikTok, off elsewhereAll
Custom icon image (optional)Edit Widget → SocialImage pickerAny image; replaces the platform glyphNoneAll

Choose a display style that shows it

This is the commonest disappointment with the whole feature. Fetch worked, the toast said Live data connected, and the widget on the canvas looks exactly the same as before. Nothing is broken — the default display simply does not show numbers.

The field is Display style, a row of four buttons in the social widget's edit sheet.

ButtonWhat the visitor sees
Icon (the default)The platform icon, with your Label printed under it when the page theme's Icon labels toggle is on, which it is by default. Live data is stored, but none of it is visible.
ButtonIcon, Label and the Handle field. Live data is still not visible.
StatThe big number, its label, and an optional growth chip. This is the one that shows a follower count.
PostThumbnail, Post title and Meta, tapping through to the post itself. This is the one that shows your latest post.

Watch out

If nothing has ever been fetched, the Stat display prints an em dash — never a made-up number. Seeing a dash means the fetch has not happened, not that your count is zero.

Leave Label blank and the widget falls back to a sensible word per platform: subscribers for YouTube and Telegram, members for Discord and Reddit, monthly listeners for Spotify, and followers for everything else.

Disconnecting a handle

Tap the disconnect link next to the green dot. There is no confirmation dialog and no toast — the green line simply goes away.

Watch out

Disconnecting only stops the updates. The last number, post title and thumbnail stay on the widget, frozen at whatever they were. If you want them gone, clear those fields yourself.

TikTok and Instagram

Neither one can fetch anything at the moment

Set Platform to TikTok or Instagram and the Live data panel reads "TikTok account linking isn't enabled on this server yet. Numbers stay manual for now." — the same sentence with "Instagram" for Instagram. There is no button, nothing to press, and no way to link an account from anywhere else in the app. Type those numbers by hand.

These two are built differently from the handle connectors, which is why they are stuck: neither platform publishes a follower count you can read from a public profile, so a handle field would have nothing to read. They would need you to authorise Enchant.ee against your own account instead — and that is not switched on here.

Everything else on a TikTok or Instagram widget works normally: the icon, the link, the Display style row, and the Number and Post title fields you fill in yourself. Only the automatic part is missing.

Live numbers in the Stats widget

The Stats widget shows up to four big numbers. Each row can be pointed at one of the same handle-based platforms, so the number keeps itself up to date instead of going stale the week after you typed it.

  1. Select the Stats widget. Under Stats (up to 4), add your rows — value, label and an optional trend.
  2. A section called Live sources (optional) appears as soon as one row exists.
  3. Each row shows its number, a dropdown, and — once you pick a platform — a handle box and a Fetch button.
  4. The dropdown starts on manual, and a manual row reads typed by hand beside it.
  5. Type the handle and press Fetch. The button shows an ellipsis while it works.
  6. Success reads Stat 1 updated — the row's own number — with the value it found.

Watch out

Only the number comes across here (and the label, if you left it blank). No post, no thumbnail. For a latest post you want a Social Link widget on the Post display instead.

Heads up

The source dropdown lists twitch and reddit alongside the others, but as with the social widget neither can fetch anything right now — Fetch answers Not available yet.

Watch out

The handle box in Stats has no per-platform hint — its placeholder is just handle. Use the shapes from the table earlier in this chapter: @channel for YouTube, you@mastodon.social for Mastodon, an invite link for Discord.
SettingWhereTypeValuesDefaultPlan
Stats (up to 4)Edit Widget → StatsRepeating rowsValue / label / trend, maximum 4 rows3 demo rows: 120+ projects, 8 years, 42k followers +12%All
Live sources (optional) — sourceEdit Widget → StatsDropdown per rowmanual · youtube · github · twitch · bluesky · mastodon · discord · reddit · telegrammanualAll
Live sources (optional) — handleEdit Widget → StatsText + FetchA handle or profile URL. Fetch is disabled while the box is emptyEmptyAll
LayoutEdit Widget → Stats2 buttonsrow · gridrowAll
AlignEdit Widget → Stats2 buttonsleft · centercenterAll
Hero stat (purple accent)Edit Widget → StatsButton rowNone, or a row numberNoneAll
Count up in viewEdit Widget → StatsToggleOn · OffOnAll
Dividers between statsEdit Widget → Stats (row layout only)ToggleOn · OffOnAll

Your blog in the Posts widget

The Posts widget can import your writing from an RSS or Atom feed — the standard list of recent posts that nearly every blogging platform publishes. Substack, Medium, Ghost and WordPress all work.

  1. Select the Posts widget and find Sync from your blog (RSS).
  2. Paste your feed address. The placeholder shows the shape: https://you.substack.com/feed.
  3. Press Sync. It reads Syncing with a turning icon while it works.
  4. Success reads Imported 5 entries with "Entries stay editable — re-sync any time."

Each imported post arrives with its title, its link, the date as Jun 2026, the first category as a tag, and an excerpt cut to 140 characters.

  • Up to five posts come across, which matches the widget's own Posts (up to 5) limit.
  • Pasting your site address usually works too. If the address you gave is not a feed, it tries again with /feed on the end.
  • The address is remembered and pre-filled in the field next time.

Re-syncing replaces the whole list

Everything a sync imports stays hand-editable afterwards — but the next Sync overwrites those rows. Rewrite an excerpt, sync again, and your version is gone.
SettingWhereTypeValuesDefaultPlan
Sync from your blog (RSS)Edit Widget → PostsText + SyncAn RSS or Atom feed address, up to 500 charactersThe address you last syncedAll
Title (optional)Edit Widget → PostsTextFree textLatest writingAll
Posts (up to 5)Edit Widget → PostsRepeating rowsTitle / link / date / tag / excerpt, maximum 5 rows3 demo rowsAll
Feature the first postEdit Widget → PostsToggleOn · OffOnAll
Numbered indexEdit Widget → PostsToggleOn · OffOffAll
Show datesEdit Widget → PostsToggleOn · OffOnAll
Show tagsEdit Widget → PostsToggleOn · OffOnAll
Tag colorEdit Widget → Posts2 buttonsneutral · brandneutralAll

Letterboxd in the Film log widget

The Film log widget imports your recent watches, with your own star ratings, straight from your Letterboxd profile.

  1. Select the Film log widget and find Sync from Letterboxd.
  2. Type your username, @username, or the address of your profile — letterboxd.com/username is enough. The feed address is worked out for you.
  3. Press Sync.
  • Up to six films come across, matching the widget's own limit — the Add film button disappears at six rows.
  • What is imported: title, year, your star rating (0 to 5, in halves), and whether it was a rewatch.
  • What is not: the liked heart, and rewatch counts above one. Imported rewatches arrive as ×1 — bump them with the Rewatch stepper if you want the real number.

Every row stays editable by hand. A film you add yourself starts at rating 3.5, and the rating slider runs 0 to 5 in steps of 0.5.

SettingWhereTypeValuesDefaultPlan
Sync from LetterboxdEdit Widget → Film logText + Syncusername · @username · letterboxd.com/usernameThe address you last syncedAll
Strip labelEdit Widget → Film logTextFree textRecent watchesAll
FilmsEdit Widget → Film logRepeating rowsTitle / year / rating / rewatch / liked, maximum 6 rows3 demo filmsAll
Film ratingEdit Widget → Film logSlider0 to 5, in steps of 0.53.5 on a row you addAll
RewatchEdit Widget → Film logStepper0 to 20, shown as ×N0All
likedEdit Widget → Film logHeart toggleOn · OffOffAll
Star styleEdit Widget → Film log2 buttonsmono · goldmonoAll
SortEdit Widget → Film log2 buttonsManual · By ratingManualAll
Show starsEdit Widget → Film logToggleOn · OffOnAll
Filmstrip railEdit Widget → Film logToggleOn · OffOnAll

Goodreads in the Bookshelf widget

The Bookshelf widget imports a Goodreads shelf — what you are reading, what you have finished, and what is queued up.

  1. Select the Bookshelf widget and find Sync from Goodreads (shelf RSS).
  2. Paste either the shelf's RSS address (goodreads.com/review/list_rss/…) or the ordinary shelf page address (goodreads.com/review/list/<id>?shelf=…), which is converted for you.
  3. Press Sync.
  • Up to six books come across — the Add book button disappears at six rows.
  • Status is worked out from your shelves: currently-reading becomes reading, to-read becomes queued, and anything else becomes finished.
  • Your star rating comes across when it is above zero.
  • Reading progress does not. Set the percentage yourself with the per-book slider.

Watch out

The shelf must be public. A private or login-walled Goodreads shelf fails with no entries found — is that a feed URL? — the same message an address that is not a feed produces.

A book you add by hand starts as queued, which shows neither slider; switch it to reading for the progress slider or finished for the rating one.

SettingWhereTypeValuesDefaultPlan
Sync from Goodreads (shelf RSS)Edit Widget → BookshelfText + SyncA list_rss address or an ordinary shelf page addressThe address you last syncedAll
Shelf labelEdit Widget → BookshelfTextFree textReading nowAll
BooksEdit Widget → BookshelfRepeating rowsTitle / author / status / progress or rating, maximum 6 rows3 demo booksAll
Book statusEdit Widget → Bookshelf3 buttonsreading · finished · queuedqueued on a row you addAll
Book progressEdit Widget → Bookshelf (reading)Slider0 to 100, shown as a percentage0All
Book ratingEdit Widget → Bookshelf (finished)Slider0 to 5, in steps of 0.50All
SortEdit Widget → Bookshelf2 buttonsManual · Reading firstManualAll
Show reading progressEdit Widget → BookshelfToggleOn · OffOnAll
Accent progress bar (purple)Edit Widget → BookshelfToggleOn · OffOnAll
Color spines by statusEdit Widget → BookshelfToggleOn · OffOnAll

The Music widget

The Music widget works two ways, chosen by a pair of buttons at the top of its edit sheet: Search songs and Paste link.

Search songs — a 30-second preview player

  1. Tap Search songs and type into Find a song (30s preview player).
  2. Press Search, or press Enter. The button stays disabled until you have typed at least two characters.
  3. Up to eight results come back, each with artwork, title and artist.
  4. Tap the one you want. A toast reads Track set, followed by the track name and "30s preview plays right on your page."
  5. The chosen track appears in a confirmation row with a green on canvas chip.

The panel is honest about what this is: "Search is free (iTunes catalog) — visitors tap play for a 30-second preview, no login needed." Nobody needs an account of any kind to hear it. Tracks with no preview clip are filtered out of the results entirely.

  1. Tap Paste link and paste a share link into Music link.
  2. A row appears reading Detected: with a chip naming what it recognised — spotify, soundcloud, youtube, apple, or unknown link.
  3. For Spotify, SoundCloud and YouTube a small auto-fill title link appears on the right. Tap it to read the track title from the provider.
  4. Optionally fill Caption / now playing (optional) and pick a Caption position.

The link field accepts Spotify, SoundCloud, YouTube and YouTube Music, and Apple Music. Apple Music has no auto-fill — that link is deliberately hidden for it, because Apple publishes no way to read the title. Type it yourself.

The two modes fight, and the last one you touched wins

Picking a search result switches the widget to the preview player. Typing so much as one character into Music link switches it to the embed — even though the track you picked is still stored. If your preview player vanished, that is why.

Watch out

Which tab opens is worked out from what the widget currently holds, not remembered from last time. A brand-new Music widget opens on Paste link; it only opens on Search songs once a preview track is set.

A link nothing recognises renders a placeholder tile reading Music with the hint "Paste a Spotify, SoundCloud, YouTube or Apple Music link" — a useful sign that you pasted a page address rather than a share link.

SettingWhereTypeValuesDefaultPlan
Search songs / Paste linkEdit Widget → Music2 buttonsSearch songs · Paste linkPaste link on a new widget; Search songs once a preview track is setAll
Find a song (30s preview player)Edit Widget → Music (Search songs)Text + SearchAt least 2 characters, up to 120. Enter also searchesEmptyAll
Music linkEdit Widget → Music (Paste link)TextA Spotify, SoundCloud, YouTube, YouTube Music or Apple Music address, up to 500 charactersEmptyAll
auto-fill titleEdit Widget → Music (Paste link)LinkHidden for Apple Music and for an unrecognised linkAll
Caption / now playing (optional)Edit Widget → MusicTextFree text, placeholder Latest singleEmptyAll
Caption positionEdit Widget → Music3 buttonsnone · top · bottombottom when a caption exists, otherwise noneAll

The Embed widget

The Embed widget — its tile in Add a widget is labelled Embed and described YouTube, Insta, Spotify… — is the catch-all for pulling in content from a site that has no widget of its own. Nothing is fetched by us; it renders the other site's own player or card.

The field is Embed link or HTML code, and it takes either. Paste a link (YouTube, Instagram, Spotify, Vimeo, TikTok, Twitter) or the full embed code — the blockquote or iframe markup you copy from the other platform's own embed option. It works out which of the two you gave it.

A Detected: chip names what it recognised: youtube, vimeo, spotify, instagram, tiktok, twitter or custom. A second chip reads HTML embed when you pasted markup. The box grows from two lines to five as soon as your text contains a tag.

SettingWhereTypeValuesDefaultPlan
Embed link or HTML codeEdit Widget → EmbedText areaA share link, or pasted blockquote / iframe markupEmptyAll
Caption (optional)Edit Widget → EmbedTextFree text, placeholder Shown as a strip below the embedEmptyAll
Show caption below embedEdit Widget → EmbedToggleOn · OffOnAll

How often your public page updates

Once a social widget or a stats row has been fetched once, the numbers are refreshed on the server whenever your public page is served. You do not have to open the editor again, and you do not have to publish again.

Three timings decide how fresh that actually is:

  • Each platform's answer is cached for one hour. Asking twice inside the hour gets the same figure.
  • Your public page is rebuilt at most every 300 seconds — five minutes.
  • Each page render gives the refresh 800 milliseconds to come back. If it is slower, that render uses the values already saved.

Put together: a change on YouTube can take roughly an hour, plus a rebuild cycle, to show up on your page. That is normal.

A visitor never sees a blank or an error

The last values that fetched successfully are always the fallback. If a platform is down or slow, your page quietly renders what it last knew. The only cost is that the number is stale.

Heads up

Feed widgets are not part of this. Posts, Film log and Bookshelf refresh only when you press Sync in the editor. If your blog widget looks months old, that is why.

Three things that look like connectors and are not

Onboarding — Connect your socials

Step three of setup is headed Connect your socials with seventeen boxes to type handles into. Despite the name, nothing is connected: it creates plain social link widgets on your first page. No follower counts, no fetching. A bare handle is turned into that platform's profile address; a full https:// address passes through unchanged.

Watch out

Only nine of the seventeen keep their own icon. Facebook, Threads, WhatsApp, Telegram, Discord, Twitch, Pinterest and Snapchat become website widgets — correct label, correct link, generic globe icon. You can change any of them to the right platform afterwards in the widget's Platform dropdown.

Watch out

Spotify has no way to turn a name into an artist page, so that row links to a Spotify search for whatever you typed.

Settings — Linked accounts

The Linked accounts card in Settings is a private notepad, and its own subtitle says so: "A private scratchpad, saved on this device. To show links on your page, use the social widget." Even the save toast is worded carefully — it names the platform and then says where it went, as in Instagram saved on this device, never "linked".

  • Nothing is sent to the server. It lives in this browser only, so a second device shows an empty list.
  • It never appears on your public page. For that you need a social widget.
  • The address must be a full one. Anything that does not start with http:// or https:// is refused with Paste a full link — it should start with https://.

AI Composer — Use my connected accounts

The Composer's Links card offers a button called Use my connected accounts, which turns each account you have linked into a link row. Account linking is the TikTok and Instagram flow from earlier in this chapter, and it is unavailable, so the button has nothing to import and reports No connected accounts yet — link one in Settings. Add your links with Add a link instead.

Watch out

Ignore where that message sends you. There is no account-linking screen in Settings — the Linked accounts card above is a private notepad, not this. The copy and the app disagree.

The card holds up to 40 links. Each row takes a label of up to 60 characters and an address of up to 500. Once you have 40, the Add a link button hides itself.

Limits worth knowing

LimitValue
Fetching or syncing too fastBriefly refused, then allowed again a moment later
How long a platform's answer is cached1 hour
How long a fetch waits before giving up3.5 seconds for a platform, 4.5 for an address you typed
Blog posts imported5
Films imported6
Books imported6
Song search results8
Stats rows4
Latest-post text kept90 characters, then an ellipsis
Blog excerpt kept140 characters
Handle length200 characters
Song search queryAt least 2 characters, at most 120
A music link or feed address500 characters
Size of a feed we will downloadBounded — an unusually large feed is refused rather than downloaded
Redirects a feed may go throughA small number of hops; a feed that bounces further is refused

When something goes wrong

These are the messages this feature can actually produce, and what each one means.

What you seeWhat it means and what to do
Not available yet — "This platform's API key isn't set up on the server."That platform cannot fetch anything here. Right now this applies to Twitch and Reddit. Type the number by hand.
Couldn't fetch live datachannel not foundThe handle does not resolve. Check the spelling, and try pasting the full profile address instead of the short handle.
Couldn't fetch live datause user@instance formatMastodon only. Add the instance: you@mastodon.social, or paste the full profile address.
Couldn't fetch live data — a "chat not found" wording, or channel not found (is the bot an admin?)Telegram only. The bot has to be an administrator of your channel before it can count members.
Couldn't fetch live dataToo many requestsYou have pressed Fetch or Sync too often in quick succession. Pause for a short while and try again.
Couldn't fetch live dataHTTP 404 or another HTTP numberThe platform answered with an error. Usually a wrong handle; occasionally the platform is having a bad day. Failures are not cached, so retrying costs nothing.
Fetch failedno number returnedStats widget only. The platform answered but had no count to give — a YouTube channel with its subscriber count hidden does this.
Sync failedno entries found — is that a feed URL?The address is not a feed, or the feed is empty or private. Look for the RSS link on your blog; a Goodreads shelf must be public.
Sync failedresponse too large or too many redirectsThe feed is too big to download, or bounces through too many addresses. Try the feed's direct address.
Sync failedURL not allowed or host not foundThe address was refused for safety — it points somewhere private or non-public — or the site does not exist. Check it in a browser first.
No results — "Try the song + artist name."Music search found nothing. Add the artist's name to the song title; it narrows the catalogue a lot.
Search failed with an error underneathThe song search itself did not go through. Try again in a moment.
Couldn't fetch titleno title foundThe music provider did not return a title for that link. Type the caption yourself. Apple Music has no auto-fill at all, so the caption is always manual there.

If a fetch keeps failing on a handle you are sure about, remember that failures are never cached — you can correct the handle and press Fetch again straight away. Successes are cached for an hour, so a number that will not budge is almost always the cache, not a bug.

Still stuck? Email support@enchant.ee.

Something here wrong or missing? Email support@enchant.ee.