Microsoft Ads REST API migration from SOAP
Microsoft Advertising is transitioning from legacy SOAP web services to modern JSON REST endpoints. Here is the migration roadmap and dual-ID authentication requirements.
By Katie Delaney · 2026-08-28 · 4 min read
The architecture shift from XML SOAP to JSON REST#
For over a decade, the Bing Ads API operated primarily on enterprise XML SOAP web service protocols. Microsoft is modernizing the developer platform with native JSON REST endpoints across Campaign Management, Bulk, and Reporting services.
As outlined in Microsoft REST API Guide, 2026, JSON REST endpoints reduce payload size by up to 60% and simplify mobile and web integrations.
The mandatory dual-ID account linking requirement#
Effective 26 August 2026, Microsoft enforces a dual-ID requirement for all API account-linking requests (AddClientLinks). Requests must supply both a Manager Account Number and an Account ID to eliminate brute-force linking vulnerabilities as detailed in Microsoft Ads API Security Update, 2026.
Single-ID account linking API requests are rejected with ClientLinkFieldInvalid errors across all versions.
Modern OAuth 2.0 and MSAL token handling#
Authenticate all REST API requests using OAuth 2.0 tokens issued via the Microsoft Authentication Library (MSAL), passing the bearer token in standard Authorization HTTP headers.
Python, Node.js, and .NET SDK upgrades#
Upgrade to the latest Microsoft Advertising Python SDK (v13.0.20+) to leverage built-in REST endpoint serialization and automatic token refresh handling.
Consult our Microsoft Ads Hub for developer integration blueprints.
SOAP to REST migration comparison#
The table below summarizes technical differences between legacy SOAP and modern REST endpoints.
| Technical Dimension | Legacy SOAP (v13) | Modern REST (v13+) |
|---|---|---|
| Data Interchange | XML SOAP Envelopes | Lightweight JSON Payloads |
| Payload Overhead | Heavy XML envelope tags | Minimal JSON key-value pairs |
| Authentication | SOAP Header tokens | HTTP Bearer Authorization headers |
| Account Linking | Single-ID (Deprecated) | Mandatory Dual-ID validation |
Frequently asked questions#
Is the Microsoft Advertising SOAP API being shut down?
Microsoft is progressively deprecating SOAP endpoints in favor of JSON REST APIs, with full retirement schedules published on the Microsoft Ads API developer blog.
What is the dual-ID API requirement in Microsoft Advertising?
Enforced in 2026, all account-linking API calls must provide two identifiers (Manager Account Number plus Account ID) to prevent unauthorized account link requests.
Where can I find official SDKs for the Microsoft Ads REST API?
Official SDKs are available for Python, .NET (C#), Java, and PHP on GitHub under the Microsoft Advertising repositories.
How do I authenticate Microsoft Ads REST API calls?
Authenticate using OAuth 2.0 access tokens obtained through Microsoft Entra ID (MSAL) passed as Bearer tokens in HTTP request headers.
Does the Bulk API support REST downloads?
Yes, the Bulk Service supports JSON-formatted bulk file downloads and uploads for large-scale account synchronization.
Read more on this topic#
The Microsoft Ads Hub
Free tools, campaign guides and live news for every Microsoft Ads format.
Open the hubGoogle Ads Import: schedule, currency, and translation traps
A practical guide to configuring Google Ads Import on Microsoft Advertising, automated schedules, and translation safeguards.
Read the entryMicrosoft Advertising Editor for bulk account changes
A complete guide to using Microsoft Advertising Editor for high-velocity bulk campaign management and offline edits.
Read the entryScheduled rules and automated alerts
A practical guide to creating automated rules, condition builders, and safety alert systems in Microsoft Advertising.
Read the entryNeed developer expertise for your Microsoft Ads API migration?
folkfox builds and audits enterprise API integrations and data pipelines for Microsoft Advertising.