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/contactsList contacts with pagination and search
contacts:readPOST/api/v1/contactsImport up to 500 contacts with validation
contacts:writePOST/api/v1/contacts/validateBatch email validation (up to 100)
validatePOST/api/v1/contacts/enrichAI enrichment with 14 data points per contact
enrichGET/api/v1/keysList API keys for your workspace
sessionPOST/api/v1/keysGenerate a new API key
sessionDELETE/api/v1/keysRevoke an API key
sessionFull 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 contactscontacts:write— Import contactsvalidate— Email validationenrich— 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_campaignsList campaigns with optional status filter
tap_get_campaignGet campaign details with contact counts and pitch stats
tap_list_contactsList contacts with filters (status, genre, BBC-only, search)
tap_search_contactsSearch contacts by name, outlet, genre, or BBC station
tap_contact_insightsGet enrichment and relationship detail for a contact
tap_draft_pitchGenerate AI-drafted pitches (subject, body, variants)
tap_log_outcomeLog campaign outcomes (replied, added_to_playlist, coverage, etc.)
tap_get_action_queueGet 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.
| Plan | Enrichments/month | Contacts import | Validation |
|---|---|---|---|
| Free | 10 | 500/request | 100/request |
| Pro | 200 | 500/request | 100/request |
| Agency | 500 | 500/request | 100/request |
Machine-readable resources
Everything an AI agent needs to understand and interact with TAP.