Get started with the Hotel API
Do you have your Microsoft Advertising credentials?
To use the Hotel API, you must have a Microsoft Advertising account and a Microsoft account. To get a Microsoft Advertising account, go to https://ads.microsoft.com. If you're not signed in using your Microsoft account, you're asked to sign in to your Microsoft account or sign up for a Microsoft account. After signing in, you'll have the option to Sign up for a new Microsoft Advertising account. Select the sign-up option and continue with the sign-up process.
Unlike the other Bing Ads APIs, the Hotel API does not use a developer token. The API ignores it if you include it.
Enable your account for Hotel Ads
Your account manager needs to enable your account before you can use Hotel Ads or the API. Please confirm with your account manager that your account is enabled in both the production and sandbox environments.
Authenticating your credentials
Starting March 1st, 2022 we will require multi-factor authentication for all users who sign in through a third-party application that uses the Bing Ads API, Content API, and Hotel APIs.
You must update your application to get user consent using the new
msads.manage scope. All application developers must take action to use the new scope.
For more information see the Multi-factor authentication requirement guide.
The Hotel API uses the OAuth authentication scheme. For details about authenticating Microsoft account credentials using OAuth, see Authentication with the Microsoft identity platform (using the Microsoft identity platform is recommended).
You can use the Bing Ads SDK for .NET, Java, or Python to authenticate Microsoft account credentials. For details about using the SDK to get the access token, see C# | Java | Python. (You should only use the SDK to get the access token if you're using the SDK for Microsoft Advertising campaigns, too. Otherwise, it may not be worth the overhead of installing the SDK.)
If you choose not to use the Bing Ads SDK to get the tokens, see OAuth C# Example for an example OAuth implementation.
If you use the API from a service, see Using the Hotel API from a service.
Authenticating your credentials in sandbox
For the sandbox environment, the following are the endpoints you must use to get Microsoft accounts and your application's client ID. Wherever you see endpoints mentioned in Authentication with OAuth, substitute them with the following sandbox endpoints.
- partner.api.sandbox.bingads.microsoft.com—Endpoint for the Hotel API's sandbox
- account.microsoft-int.com—Endpoint for getting a sandbox Microsoft account
- outlook-int.com—Endpoint for sandbox email used when getting a sandbox Microsoft account
- Skip the step to register an app. Sandbox does not support app registration. Instead, use the "Sandbox Tutorial App" client ID, which is db41b09d-6e50-4f4a-90ac-5a99caefb52f. This client ID is for desktop apps only and may not be used for testing web apps.
- login.windows-ppe.net—Endpoint for OAuth requests
Getting sandbox credentials
Get a sandbox account if you don't already have one
You use the sandbox environment to test your application before putting it in production. Use the following steps to get a sandbox account.
- Open a browser and navigate to https://sandbox.bingads.microsoft.com.
- Click Sign up for Microsoft Advertising or Sign up now.
- Fill out the Create Account form.
Choose the Create a new email address option.
Enter an MSA email address. The email server must be outlook-int.com (for example, firstname.lastname@example.org).
Sandbox supports MSAs created using an @outlook-int.com email account only. You may not use an @outlook.com email account. Also, you may not use an email account from another email service (for example, @gmail.com) even if the account is linked to an @outlook.com or @outlook-int.com email account.
Finish the work flow by specifying the rest of your user information.
- For Import/Create Campaign, click Skip campaign creation
- For Go Live, click Skip payment information
After creating your sandbox account and getting your MSA, let your account manager know so they can enable it for Hotel Ads. You won't be able to use Hotel Ads or the API in sandbox until it's enabled.
The MSA signup process returns you to the SI Microsoft Advertising user interface (ui.si.bingads.microsoft.com). After completing the MSA process, sign out of the SI interface. To access Hotel Ads using the Microsoft Advertising user interface in sandbox, go to https://ui.sandbox.bingads.microsoft.com and sign in using your new MSA email address.
Where do you use your credentials?
After getting the user's OAuth access token, set the Authorization header to it.
var headers = new WebHeaderCollection(); headers.Add(HttpRequestHeader.Authorization, "Bearer " + tokens.AccessToken);
For information about the Authorization header and other headers that the request and response may contain, see Headers.
The Hotel API uses the standard Authorization header. If you use the Bing Ads SDK to get the OAuth tokens, you'll use the SDK to get the tokens and then set the Authorization header.
Do you have your hotel feed set up?
Before using the Hotel API, you should have your hotel feeds set up. For details, see: