I did, but my point still stands. 500 is in the expected result set. Put up an error that says Apple's server is down.
If you need a feature to work in the presence of down servers, you need to make your own fallback or perhaps cache some of the results locally.