Agent-to-Business API

Welcome to the ISRCAnalytics developer documentation. If you are building a custom integration or configuring an AI Agent (like Claude or ChatGPT) to manage your catalogue, you're in the right place.

🤖

AI Agent Note: We natively support standard llms.txt parsing. Point your agent directly to isrcanalytics.com/llms.txt for automatic onboarding.

Authentication

All API endpoints require authentication using a standard Bearer token. You can generate API keys from your catalogue settings. Keep these keys secure; they grant full read access to your catalogue.

Authorization: Bearer isrc_live_...

Rate Limiting

To ensure platform stability, all Agent API requests are rate-limited. If you exceed these limits, you will receive a 429 Too Many Requests response.

  • Standard: 100 requests per minute per IP.
  • Burst: Up to 10 concurrent requests.

Error Handling

ISRCAnalytics uses standard HTTP response codes to indicate the success or failure of an API request. Errors are always returned in JSON format.

CodeDescription
200 / 201Success. The request worked perfectly.
400Bad Request. Often due to missing or malformed parameters.
401 / 403Unauthorized or Forbidden. Invalid API key, or no active subscription.
404Not Found. The requested resource (e.g. unknown ISRC) does not exist.
500Internal Server Error. Something went wrong on our end.

Endpoints

GET

/api/v1/tracks

Lists all tracks in your monitored catalogue with pagination support.

Parameters

  • limit (Number) - Default 50, Max 100
  • offset (Number) - Default 0

Response Schema

{ "data": [ { "id": "uuid", "isrc": "USXXX1234567", "title": "Song Name", "artist": "Artist Name", "release_date": "2024-01-01" } ], "pagination": { "total": 150, "limit": 50, "offset": 0 } }

SDK Examples

// Node.js (axios) const response = await axios.get('https://isrcanalytics.com/api/v1/tracks', { headers: { 'Authorization': 'Bearer YOUR_KEY' }, params: { limit: 50, offset: 0 } });
# Python (requests) import requests res = requests.get('https://isrcanalytics.com/api/v1/tracks', headers={'Authorization': 'Bearer YOUR_KEY'}, params={'limit': 50, 'offset': 0} )
GET

/api/v1/tracks/[isrc]

Fetches deep metadata details about a specific track, including Label and UPC.

Parameters

  • isrc (String) - Required. The ISRC of the track.

Response Schema

{ "track": { "isrc": "USXXX1234567", "title": "Song Name", "artist": "Artist Name", "upc": "123456789012", "label": "My Label", "release_date": "2024-01-01" } }

SDK Examples

// Node.js (axios) const response = await axios.get('https://isrcanalytics.com/api/v1/tracks/USXXX1234567', { headers: { 'Authorization': 'Bearer YOUR_KEY' } });
GET

/api/v1/analytics/spotify/[isrc]

Fetches historical, daily streaming data for a specific track. Essential for generating charts or analyzing performance trends.

Parameters

  • isrc (String) - Required. The ISRC of the track.
  • days (Number) - Default 30, Max 365. Historical lookback period.

Response Schema

{ "isrc": "USXXX1234567", "timeseries": [ { "date": "2024-03-20", "streams": 15420 }, { "date": "2024-03-19", "streams": 14900 } ] }

SDK Examples

// Node.js (fetch) const res = await fetch('https://isrcanalytics.com/api/v1/analytics/spotify/USXXX1234567?days=7', { headers: { 'Authorization': 'Bearer YOUR_KEY' } });
POST

/api/v1/browser-profiles/import

Imports a browser session (cookies) directly into the user's secure automation environment. This allows the A2B platform to leverage those cookies to scrape DSP dashboards requiring authentication.

JSON Body Schema

{ "name": "My Agent Session Name", "cookies": [ { "domain": ".spotify.com", "name": "sp_dc", "value": "...", "path": "/", "secure": true, "httpOnly": true } ] }

Response Schema (201)

{ "success": true, "message": "Browser profile and securely encrypted session cookies successfully imported.", "profile_id": 1234, "name": "My Agent Session Name" }

SDK Examples

// Node.js (axios) const response = await axios.post('https://isrcanalytics.com/api/v1/browser-profiles/import', { name: "My Session", cookies: [{ domain: ".spotify.com", name: "sp_dc", value: "..." }] }, { headers: { 'Authorization': 'Bearer YOUR_KEY' } });
GET

/api/v1/catalogue/overview

Aggregates and returns primary catalogue statistics, handing your AI agents (like OpenClaw) everything they need to summarize your daily performance perfectly.

Parameters

  • date (String, optional) - Format: YYYY-MM-DD. Fetch overview data for a specific historical date. Defaults to the latest available day.

Response Schema

{ "success": true, "data": { "stats": { "total_inner_catalogue_tracks": 42, "has_stream_data": true, "days_tracked": 12 }, "best_tracks": [ { "isrc": "USXXX1234567", "title": "Hit Song", "artist": "Main Artist", "streams": 1500 } ], "best_artists": [ { "artist": "Main Artist", "streams": 4500 } ] } }

SDK Examples

// Node.js (fetch) const res = await fetch('https://isrcanalytics.com/api/v1/catalogue/overview', { headers: { 'Authorization': 'Bearer YOUR_KEY' } });
# Python (requests) import requests res = requests.get('https://isrcanalytics.com/api/v1/catalogue/overview', headers={'Authorization': 'Bearer YOUR_KEY'} )