Artlink API and MCP Server

Music marketing knowledge for independent artists, callable by programs and agents. The catalog API needs no key, no signup and no approval — start with the request below.

curl https://artlink.live/api/v1/glossary/pre-save

Endpoints

Base URL https://artlink.live. Everything marked None under Auth is anonymous — no key, no rate-limit negotiation, nothing to sign up for.

EndpointOperation IDAuth
GET /api/v1/glossary

List glossary terms

listGlossaryTermsNone
GET /api/v1/glossary/{slug}

Get one glossary term

getGlossaryTermNone
GET /api/v1/tools

List free tools

listToolsNone
GET /api/v1/tools/{slug}

Get one tool

getToolNone
GET /api/v1/comparisons

List competitor comparisons

listComparisonsNone
GET /api/v1/comparisons/{slug}

Get one competitor comparison

getComparisonNone
GET /api/v1/personas

List audience personas

listPersonasNone
GET /api/v1/personas/{slug}

Get one audience persona

getPersonaNone
GET /api/v1/plans

List subscription plans

listPlansNone
GET /api/v1/subdomain-availability

Check whether a subdomain is available

checkSubdomainAvailabilityNone
GET /api/v1/me/site

Get the site this API key belongs to

getMySitesites:read
GET /api/v1/me/links

List the links published by this API key's site

listMyLinkslinks:read

Errors

Every non-2xx response is JSON in one shape. There are no HTML error pages on this API. code is a stable token to branch on, message is for your logs, and hint says what to change before retrying.

{
  "error": {
    "code": "not_found",
    "message": "No glossary term exists with the slug \"pre-saves\".",
    "hint": "List every valid slug with GET https://artlink.live/api/v1/glossary.",
    "documentation_url": "https://artlink.live/developers"
  }
}

Codes: invalid_request (400), unauthorized (401), forbidden (403), not_found (404), method_not_allowed (405), not_acceptable (406), internal_error (500).

Authentication and scopes

A key is only needed to read your own Artlink site. Create one in Dashboard → Settings → API keys. The key is shown once at creation and stored only as a hash, so it cannot be recovered later — generate a new one if you lose it.

curl https://artlink.live/api/v1/me/site \
  -H "Authorization: Bearer alk_live_your_key_here"

Each key carries only the scopes you select when you create it, so a key can be narrower than you are. Give an agent the least it needs.

sites:read
Read the profile — name, subdomain, custom domain, social links — of the site this key belongs to.
links:read
Read the smart links, releases and embeds published by the site this key belongs to.

The same list is published machine-readably as RFC 9728 protected-resource metadata at /.well-known/oauth-protected-resource.

MCP server

Artlink runs a Model Context Protocol server over Streamable HTTP at https://artlink.live/api/mcp. It is anonymous and read-only — no key, and nothing it can change.

claude mcp add --transport http artlink https://artlink.live/api/mcp

Or, in any client that reads a JSON config:

{
  "mcpServers": {
    "artlink": {
      "type": "http",
      "url": "https://artlink.live/api/mcp"
    }
  }
}

Tools

  • search_glossary Search the music marketing glossary
  • get_glossary_term Get one glossary term in full
  • list_artlink_tools List Artlink's free tools
  • get_artlink_tool Get setup steps for one Artlink tool
  • compare_competitor Compare Artlink with another product
  • get_pricing Get current Artlink pricing
  • check_subdomain_availability Check whether an artlink.live name is free

Resources

  • artlink://llms.txt (text/markdown) Artlink site index for language models
  • artlink://pricing.md (text/markdown) Artlink pricing in Markdown
  • artlink://openapi.json (application/json) Artlink OpenAPI 3.1 description
  • artlink://brand (application/json) Artlink brand and contact facts

Markdown content negotiation

The homepage, /pricing, and every page under /learn, /tools, /vs and /for will serve Markdown instead of HTML when you ask for it. Responses carry Vary: Accept, so a CDN cannot hand you the wrong representation.

curl -H "Accept: text/markdown" https://artlink.live/learn/pre-save

q-values are honoured. An Accept naming only types we cannot produce gets a 406 with the JSON error body above.

Files for agents

  • /llms.txt — what Artlink is, when to use it, when not to, and a linked map of every page.
  • /llms-full.txt — the same index, complete rather than curated.
  • /pricing.md — plans, prices and AI Studio credits as Markdown.
  • /sitemap.xml — every indexable URL.

Something missing?

Tell us what you are building and what you need from the API — get in touch.

We use cookies to improve your experience. Learn more