The additional value is that the authentication value is different for
(nearly) every request. If the mechanism is compromised in some way,
it is not a trivial matter for someone to make requests on behalf of
the developer. If we just passed the key in each request, if that got
out once, anyone who saw it could masquerade as that developer.
This scheme is not unique. Amazon uses a similar mechanism with their
web services, as do some Yahoo web APIs.
I understand that it is more complicated to implement than passing the
same key in each request, or doing basic HTTP auth, but we decided to
err on the side of security. Our clients who use this for their
businesses appreciate this.
-zs