{
  "openapi": "3.0.1",
  "info": {
    "title": "Spotify Track Play Counts | Albums, Playlists & Artist Stats",
    "description": "Paste Spotify track, album, artist or playlist links, or search by keyword, and get each track's total play count with its ISRC, popularity, BPM, key, label, UPC and cover, plus artist rows with monthly listeners, followers, world rank, top cities, biography and social links. No login, no API key.",
    "version": "0.1",
    "x-build-id": "SaEhxAmsMUkieyAZK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/feedminer~spotify-track-playcounts/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-feedminer-spotify-track-playcounts",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/feedminer~spotify-track-playcounts/runs": {
      "post": {
        "operationId": "runs-sync-feedminer-spotify-track-playcounts",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/feedminer~spotify-track-playcounts/run-sync": {
      "post": {
        "operationId": "run-sync-feedminer-spotify-track-playcounts",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "urls": {
            "title": "Spotify links",
            "type": "array",
            "description": "Tracks, albums, artists or playlists, mixed, as copied from the player or the app's share button: open.spotify.com links with or without their intl-xx/ part or ?si= tail, or spotify: URIs. Duplicates fold. A link to nothing yields no row and is counted as not found in the run's closing line; podcasts, episodes and audiobooks are set aside before any read. Leave empty to search only.",
            "items": {
              "type": "string"
            }
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Words to search Spotify for, one per line, as you would type them in its search bar: a genre such as lofi, an artist's name, a mood. Each term delivers rows of the kind chosen below, in Spotify's order, and works alongside the links above. Case does not matter; a term typed twice is searched once. Empty by default: a search is billed per row like any other.",
            "items": {
              "type": "string"
            }
          },
          "searchType": {
            "title": "What a search term finds",
            "enum": [
              "tracks",
              "artists",
              "albums",
              "playlists"
            ],
            "type": "string",
            "description": "The kind of row each search term delivers: tracks with their play counts, artists with their audience and profile, albums with their tracks' plays added up, or playlists with their followers.",
            "default": "tracks"
          },
          "maxResultsPerTerm": {
            "title": "Rows per search term",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "The most rows one search term may deliver. Spotify's search goes no deeper than 1 000 results, and repeats some tracks among them, so a track search can end short of a high cap.",
            "default": 50
          },
          "artistTracks": {
            "title": "Tracks for an artist link",
            "enum": [
              "none",
              "top",
              "discography"
            ],
            "type": "string",
            "description": "What an artist link delivers beside the artist's own row (monthly listeners, followers, world rank, top cities, profile): nothing more, the ten top tracks of the profile, or every track the artist is credited on, across albums, singles and compilations, newest release first. A compilation's tracks by other artists are left out and not charged. Artists found by a search deliver their own row only.",
            "default": "top"
          },
          "maxRowsPerUrl": {
            "title": "Track rows per link",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "The most track rows one album, playlist or artist link may deliver; the artist's own row comes on top. A playlist or a discography longer than this stops here, and the closing line says so: this is what bounds the run's cost. A discography whose releases seldom credit the artist also stops once it has read ten tracks for each row allowed.",
            "default": 1000
          },
          "debugMode": {
            "title": "Debug mode",
            "type": "boolean",
            "description": "Verbose log lines for support. Leave off.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}