0

I am developing an application which takes artist's name and lists all of his/her albums titles, I'm trying Gracenote for this, But, The problem is when i retrieve first 100 albums, It says :

ERROR - GCSP: Search error: [22] search: Invalid range START=101: only the first 100 results can be accessed

How can I get an artist's all songs and albums titles?

    int i = 1;
    int j = 20;
    try
    {
        SearchResult gcSearch;
        do
        {
            var gcClient = new GracenoteClient(GracenoteClientId);
            var criteria = new SearchCriteria
            {
                Artist = "Adele",
                SearchMode = SearchMode.Default,
                Range = new Range(i, j)
            };

            gcSearch = gcClient.Search(criteria);
            foreach (Album album in gcSearch.Albums)
            {
                _tempList.Add(album);
            }
            i = j + 1;
            j = j + 20;
        } while (j < gcSearch.Count);
    } 
crthompson
  • 15,653
  • 6
  • 58
  • 80
  • 1
    Sounds like a limitation of their API. Have you contacted gracenote? Perhaps you need to pay to receive more than 100 records? – crthompson Oct 08 '14 at 20:01
  • No, I haven't yet.. I'll do it as soon as possible, But, Could you suggest I any better solution than gracenote? – AmirHossein Fathi Oct 08 '14 at 20:08
  • I cannot, they are the big boys in that segment. I've worked with musicbrainz in the past, but am not sure of their current state. – crthompson Oct 08 '14 at 20:24

3 Answers3

0

Almost certainly this is an API limitation. If it was a varying number, maybe it would be something else. But 100 every time? That's their doing.

0

You might check out FreeDB

This is another database of music metadata; it is the open version of CDDB. It was formed in response to the actions of Escient, which through its subsidiary, Gracenote, bought the rights to CDDB and restricted access to the data.

-1

It may be a limitation imposed by Gracenote for free accounts, but have you tried using the paging mechanism?

    var k = client.Search(new SearchCriteria 
       {Artist = "Guns 'n' Roses", Range = new Range(1, 500)};

Also see docs at: https://www.parksq.co.uk/gracenote-csharp-api (edited to use latest URL)

m33sy
  • 9
  • 3
  • 1
    Based on the domain/URL of your link(s) being the same as, or containing, your user name, you appear to have linked to your own site. If you do so, you *must disclose that it's your site*. If you don't disclose that it's your own site, it's often considered spam. See: [**What signifies "Good" self promotion?**](//meta.stackexchange.com/q/182212) and [some tips and advice about self-promotion](//stackoverflow.com/help/promotion). Disclosure doesn't need to be formal, but it does need to be explicit. When it's your own content, it can just be something like "on my site…", "on my blog…", etc. – Makyen May 01 '18 at 17:25
  • Yes - the library that this question is about is ours. – m33sy Sep 18 '19 at 09:03
  • @Mayken why the downvote? The OP mentioned s/he was using our software (the Gracenote client), indeed the entire post is about our software. Seems rather pedantic to require stating the blatantly obvious. – m33sy Jan 27 '20 at 12:08