public function getAlbums(array $options = [])
    {
        $deferred = new Deferred();

        // For some reason, TIDAL returns 404 if the filter isn't caps.
        if (isset($options['filter'])) {
            $options['filter'] = strtoupper($options['filter']);
        }

        $options = Options::buildOptions(
            array_merge(Options::$defaultOptions, ['filter' => 'COMPILATIONS']),
            $options,
            $this->tidal
        );

        $this->http->get(
            Options::replace(Endpoints::ARTIST_ALBUMS, ['id' => $this->id]).$options
        )->then(function ($response) use ($deferred) {
            $albums = new Collection();

            foreach ($response['items'] as $album) {
                $albums->push(new Album(
                    $this->http,
                    $this->tidal,
                    $album
                ));
            }

            $deferred->resolve($albums);
        }, function ($e) use ($deferred) {
            $deferred->reject($e);
        });

        return $deferred->promise();
    }