A User-Agent header is used to identify your application, its version number, and
programming language. Amazon recommends as a best practice to include a User-Agent
header with every request that you submit to Amazon MWS.
Doing this helps Amazon to more effectively diagnose and fix problems, helping to
improve your experience using Amazon MWS.
If you are solution provider, it is especially important to develop your applications so that
every request includes a User-Agent header. Doing this enables Amazon to identify sellers by
which solution provider they use, enabling us to more effectively isolate problems that might
be associated with your applications.
The Amazon MWS client libraries provide an easy-to-use
method for passing the User-Agent header with every Amazon MWS request. When you initialize an Amazon MWS client library, you add the Application or Company
Name and the Version Number. Other HTTP libraries also provide easy methods for
constructing User-Agent headers, but if you have any difficulties creating the header,
please request assistance from Amazon MWS.
To create a User-Agent header, begin with the name of your application, followed by a
forward slash, followed by the version of the application, followed by a space, an
opening parenthesis, the Language name value pair, and a closing parenthesis. The
Language parameter is a required attribute, but you can add additional attributes
separated by semicolons.
The following example illustrates a minimally acceptable User-Agent header:
If you are a third-party application integrator, you might want to use a User-Agent
header like the following:
My Seller Tool/2.0 (Language=Java/184.108.40.206; Platform=Windows/XP)
If you are a large seller who is integrating through your own IT department, you might
want create a User-Agent header like the following, so Amazon MWS could help you troubleshoot using the Host
MyCompanyName/build1611 (Language=Perl; Host=jane.laptop.example.com)
To specify additional attributes, use the format AttributeName=Value;, separating each
name value pair with a semicolon. Should you wish to use a backslash (\), quote it with
another backslash (\\). Similarly, quote a forward slash in the application name (\/),
an opening parenthesis in the application version (\(), an equal sign in the attribute
name (\=), and both a closing parenthesis (\)), and a semicolon (\;) in attribute
Because the User-Agent header is transmitted in every request, it is a good practice to
limit the size of the header. Amazon MWS will reject a
User-Agent header if it is longer than 500 characters.