Skip to main content

Developers

Build on TAP

TAP is the first music PR tool with a public API and MCP server. No other music PR platform offers programmatic access. Build integrations, connect AI agents, and integrate with your existing tools.

REST API v1

Manage contacts, run AI enrichment, and validate emails programmatically.

Quick start

curl -s https://totalaudiopromo.com/api/v1/contacts \
  -H "Authorization: Bearer tap_ak_your_key_here" \
  | jq '.data.contacts[:3]'

Endpoints

GET
/api/v1/contacts

List contacts with pagination and search

contacts:read
POST
/api/v1/contacts

Import up to 500 contacts with validation

contacts:write
POST
/api/v1/contacts/validate

Batch email validation (up to 100)

validate
POST
/api/v1/contacts/enrich

AI enrichment with 14 data points per contact

enrich
GET
/api/v1/keys

List API keys for your workspace

session
POST
/api/v1/keys

Generate a new API key

session
DELETE
/api/v1/keys

Revoke an API key

session

Full specification: OpenAPI 3.1 spec

Authentication

API keys are scoped to your workspace. Create them in Settings > API Keys or via the API.

Key format

tap_ak_{32 hex characters}

Keys are SHA-256 hashed before storage. The raw key is shown once at creation.

Available scopes

  • contacts:read — List and search contacts
  • contacts:write — Import contacts
  • validate — Email validation
  • enrich — AI enrichment
  • * — All scopes

MCP Server

Connect TAP to AI agents via the Model Context Protocol. 14 tools and 3 resources for full campaign management.

Claude Code configuration

// .claude/settings.json
{
  "mcpServers": {
    "tap": {
      "command": "npx",
      "args": ["tsx", "packages/tap-mcp/src/index.ts"],
      "env": {
        "TAP_SUPABASE_URL": "your-supabase-url",
        "TAP_SUPABASE_KEY": "your-service-role-key"
      }
    }
  }
}
tap_list_campaigns

List campaigns with optional status filter

tap_get_campaign

Get campaign details with contact counts and pitch stats

tap_list_contacts

List contacts with filters (status, genre, BBC-only, search)

tap_search_contacts

Search contacts by name, outlet, genre, or BBC station

tap_contact_insights

Get enrichment and relationship detail for a contact

tap_draft_pitch

Generate AI-drafted pitches (subject, body, variants)

tap_log_outcome

Log campaign outcomes (replied, added_to_playlist, coverage, etc.)

tap_get_action_queue

Get today's prioritised action queue

Plus 3 browsable resources: tap://campaigns, tap://contacts, tap://artists

Rate limits

Enrichment credits reset monthly. Other endpoints have no hard rate limit during early access.

PlanEnrichments/monthContacts importValidation
Free10500/request100/request
Pro200500/request100/request
Agency500500/request100/request

Ready to build?

Sign up free, generate an API key, and start integrating in minutes.

Start free