Por lo que describes, es muy parecido
al ejemplo que se describe aquí.
Utiliza las Indy.
Deberías obtener el resultado en JSON, después sólo te queda extraer los datos necesarios.
En el link puedes descargar el proyecto de ejemplo con código incluido.
El código será similar a este:
Código Delphi
[-]
IdHTTP.ReadTimeout := 30000;
IdSSL :=TIdSSLIOHandlerSocket.Create(nil);
IdHTTP.IOHandler := IdSSL;
IdSSL.SSLOptions.Method := sslvTLSv1;
IdSSL.SSLOptions.Mode := sslmUnassigned;
idHTTP.HandleRedirects := True;
s := AnsiReplaceText(FArtista, ' ', '+') +
'+' +
AnsiReplaceText(FTitulo, ' ', '+');
s := Format(INI_URL, [s, FNumResults]);
try
idHTTP.Get(s, ms);
En tu caso más sencillo, pues la parte de SSL no la necesitaras.