Amazon Services
Amazon Marketplace Web Service (Amazon MWS) Documentation
Amazon MWS Documentation

Creating your User-Agent Header

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:

AppId/AppVersionId (Language=LanguageNameAndOptionallyVersion)

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/; 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 attribute:

MyCompanyName/build1611 (Language=Perl;

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 values.

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.