{
  "openapi": "3.0.1",
  "info": {
    "title": "Spotify Tracks Scraper - Unlock Advanced Filtering",
    "description": "Extract 100+ data points per track with 50+ advanced filters. Features: 🎼 Audio analysis (danceability, energy, tempo) 🤖 AI recommendations 🔍 Multi-field search 🌍API fallback system 📊 Complete metadata & artist insights. Perfect for playlists, research & data analysis.🔍Spotify Tracks Scraper ✨",
    "version": "1.0",
    "x-build-id": "jBiyAGJaxKeyDupZb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapearchitect~spotify-track-scraper-with-advanced-filtering/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapearchitect-spotify-track-scraper-with-advanced-filtering",
        "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/scrapearchitect~spotify-track-scraper-with-advanced-filtering/runs": {
      "post": {
        "operationId": "runs-sync-scrapearchitect-spotify-track-scraper-with-advanced-filtering",
        "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/scrapearchitect~spotify-track-scraper-with-advanced-filtering/run-sync": {
      "post": {
        "operationId": "run-sync-scrapearchitect-spotify-track-scraper-with-advanced-filtering",
        "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",
        "required": [
          "searchMode"
        ],
        "properties": {
          "searchMode": {
            "title": "🔍 Search Mode",
            "enum": [
              "keyword",
              "urls",
              "both"
            ],
            "type": "string",
            "description": "Search by keywords, URLs, or both",
            "default": "both"
          },
          "keywords": {
            "title": "🔑 Search Keywords",
            "type": "array",
            "description": "Enter keywords to search (genre, artist name, track name, etc.)",
            "items": {
              "type": "string"
            }
          },
          "urls": {
            "title": "🌐 Spotify URLs",
            "type": "array",
            "description": "Provide direct Spotify URLs (albums, tracks, artists, or playlists depending on operation mode)",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxResults": {
            "title": "🎯 Max Results per Keyword",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of items to return per keyword search (no limit)",
            "default": 10
          },
          "fetchDetails": {
            "title": "🔍 Fetch Full Details",
            "type": "boolean",
            "description": "When enabled, fetches comprehensive track details (play count, audio features, artist overview with top tracks) via additional API calls per result. Enables advanced filtering and sorting. Takes significantly longer for large result sets. When disabled (default), returns search-only data for maximum speed.",
            "default": false
          },
          "searchFields": {
            "title": "🔍 Advanced Search Fields (Tracks Mode)",
            "uniqueItems": true,
            "type": "array",
            "description": "Select WHERE to search your keywords: 'track'=song names, 'artist'=artist names, 'album'=album names, 'year'=by year, 'genre'=by genre, 'tag:new'=new releases (last 2 weeks), 'tag:hipster'=less known tracks.",
            "items": {
              "type": "string",
              "enum": [
                "track",
                "artist",
                "album",
                "year",
                "genre",
                "tag:new",
                "tag:hipster"
              ]
            }
          },
          "minDuration": {
            "title": "⏱️ Min Duration (Tracks Filter)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum track duration in seconds"
          },
          "maxDuration": {
            "title": "⏱️ Max Duration (Tracks Filter)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum track duration in seconds"
          },
          "explicitOnly": {
            "title": "🔞 Explicit Tracks Only (Tracks Filter)",
            "type": "boolean",
            "description": "Only include explicit content",
            "default": false
          },
          "cleanOnly": {
            "title": "✨ Clean Tracks Only (Tracks Filter)",
            "type": "boolean",
            "description": "Only include non-explicit content",
            "default": false
          },
          "minYear": {
            "title": "📅 Min Release Year (Tracks Filter)",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Minimum release year"
          },
          "maxYear": {
            "title": "📅 Max Release Year (Tracks Filter)",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "Maximum release year"
          },
          "albumType": {
            "title": "💿 Album Type (Tracks Filter)",
            "enum": [
              "any",
              "album",
              "single",
              "compilation"
            ],
            "type": "string",
            "description": "Filter by album type",
            "default": "any"
          },
          "sortBy": {
            "title": "📊 Sort Results By",
            "enum": [
              "playcount_desc",
              "playcount_asc",
              "release_date_desc",
              "release_date_asc",
              "duration_desc",
              "duration_asc",
              "name_asc",
              "name_desc"
            ],
            "type": "string",
            "description": "Choose how to sort the results",
            "default": "playcount_desc"
          },
          "includeTopTracks": {
            "title": "🔥 Include Artist Top Tracks",
            "type": "boolean",
            "description": "Include artist top tracks returned by Spotify and detailed artist info (followers, genres, etc.)",
            "default": true
          },
          "proxyCountry": {
            "title": "🌐 Proxy Country",
            "enum": [
              "US",
              "GB",
              "AU",
              "CA",
              "DE",
              "FR",
              "NL",
              "IT",
              "ES",
              "SE",
              "NO",
              "DK",
              "FI",
              "BE",
              "AT",
              "CH",
              "IE",
              "PL",
              "PT",
              "CZ",
              "HU",
              "RO",
              "GR",
              "BG",
              "HR",
              "SK",
              "RS",
              "JP",
              "KR",
              "SG",
              "HK",
              "TW",
              "TH",
              "MY",
              "ID",
              "PH",
              "VN",
              "IN",
              "BR",
              "MX",
              "AR",
              "CL",
              "CO",
              "PE",
              "ZA",
              "NG",
              "KE",
              "EG",
              "SA",
              "AE",
              "TR",
              "IL",
              "UA",
              "RU",
              "BY"
            ],
            "type": "string",
            "description": "Residential proxy exit country — Spotify sees your requests as coming from this location.\n\n⭐ US recommended — widest catalog and most reliable.\n\nIf results are empty, try switching to US. If US still returns empty, it is a script or API issue — create an issue for confirmation.",
            "default": "US"
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}