Deep dive· API news · 13 min read

The Microsoft Advertising API year — SOAP is dying, and here's the REST call to build instead

A hard SOAP-to-REST deadline, feature parity with Google, AI Max on Bing — each with the exact call or migration to run before the clock runs out.

Illustration of a SOAP envelope dissolving into clean REST/JSON braces, with two deadline markers ahead.
The serious facts are real — the article covers are not.

In short: One hard clock: Microsoft is retiring its SOAP API — new features go REST-only on October 1, 2026 and SOAP switches off completely on January 31, 2027. Everything else is Microsoft quietly reaching feature parity with Google — PMax, AI Max, generative assets, Google login and import — which makes 2026 the moment to automate over Bing while competitors still treat it as an afterthought.

Oct 1, 2026
new features land in REST only
Jan 31, 2027
SOAP API switched off completely
Dec 2025
Google login arrives in the Bing Ads API
May 2026
AI Max for Search opens to pilot

The whole year in one sentence

One change has a clock on it — Microsoft is retiring its SOAP API, with new features going REST-only on October 1, 2026 and SOAP switched off completely on January 31, 2027 — and everything else is Microsoft quietly reaching feature parity with Google, which makes 2026 the moment to start automating over Bing while almost nobody else does. If you have any script, connector or reporting job built on the SOAP SDK, you have roughly a year and a concrete rebuild to schedule. The rest is upside you adopt when you choose.

I’ll take each change the same way: what changed, why it matters for your account, and the exact call or payload to build — deadline first, opportunity after. The reason 2026 is the right time isn’t hype: the API can finally do what Google’s does — PMax, AI Max, generative assets, New Customer Acquisition, Google login and import — and the competition still treats Bing as an afterthought. The window is open precisely because they aren’t here yet.

But one change comes with a date attached. Start there.

Deadline — SOAP is being retired, REST is the only path

This is the only hard clock of the Microsoft year, so it goes first.

What changed. On April 1, 2026, Microsoft announced a hard timeline to move the Advertising API off SOAP and onto REST. Two dates matter:

The PPC.land and ALM Corp write-ups both confirm the same dates.

Why it matters for your account. If any reporting job, bid script or connector touches Bing through the SOAP SDK, it has a hard expiry. And it isn’t a cosmetic swap — reporting works differently in REST, the auth flow differs, and error handling changes. A reporting pipeline you forget about will simply stop returning data on January 31, 2027, mid-quarter, with no warning beyond a blog post from ten months earlier.

What to do. If your Bing tooling is thin or non-existent, don’t port the old SOAP code — build REST-first and skip a generation. REST is plain HTTP and JSON: a report goes from a SOAP envelope to a JSON POST against the Reporting endpoint, with an OAuth bearer token and your developer token in the headers:

# OLD: SOAP envelope to ReportingService.svc (off on 2027-01-31)
#   <s:Envelope><s:Body><SubmitGenerateReport>...</SubmitGenerateReport></s:Body></s:Envelope>

# NEW: REST — submit a report request as JSON
curl -X POST \
  "https://reporting.api.bingads.microsoft.com/Reporting/v13/GenerateReport/Submit" \
  -H "Authorization: Bearer $OAUTH_TOKEN" \
  -H "DeveloperToken: $DEV_TOKEN" \
  -H "CustomerAccountId: $ACCOUNT_ID" -H "CustomerId: $CUSTOMER_ID" \
  -H "Content-Type: application/json" \
  -d '{ "ReportRequest": { "Type": "CampaignPerformanceReportRequest",
        "Aggregation": "Daily", "Columns": ["CampaignName","Clicks","Spend"] } }'

(The REST host, the OAuth + DeveloperToken header model and the v13 path are from Microsoft’s docs; confirm the exact request body for your report against the release notes before you ship.)

The upside of being forced: REST gives you broader language support and a clean fit for modern stacks — Python httpx, n8n, serverless functions — and far easier debugging than a SOAP envelope. Migration is the chance to rebuild your Bing tooling cloud-native, not to drag the old design across.

Upside #1 — Generative AI writes your assets, via the API

With the deadline scheduled, the rest of the year is parity Google already taught you to use.

What changed. February 2025 (SDK 13.0.24) shipped recommendation endpoints — CreateResponsiveSearchAdRecommendation, CreateAssetGroupRecommendation, CreateResponsiveAdRecommendation, each with a Refine… counterpart. July 2025 (13.0.25) added a job-based variant and brand-kit recommendations; February 2026 added AutoGeneratedAssetsEnabled to RSA settings. All from the release notes.

Why it matters for your account. Ad-copy generation and iteration is now scriptable, not a UI-only chore — which is the difference between hand-writing copy for ten asset groups and generating it for hundreds.

What to do. Wire the recommendation endpoints into the same creative workflow you already run for Google — generate, refine against the brand kit, push:

feed/product → CreateResponsiveSearchAdRecommendation
            → RefineResponsiveSearchAdRecommendation (brand-kit term exclusions)
            → push to ad group  (no manual copy-paste from the UI)

Bing becomes another output channel of your existing ad-copy pipeline, not a separate hand-built one.

Upside #2 — AI Max for Search, with an API switch

What changed. AI Max for Search opened to pilot in May 2026, with the API hook AISearchSetting (Campaign Management). It brings expanded query matching, asset personalization and smart URL routing — the same post-keyword trend as Google’s AI Max — with guardrails exposed through the API: brand inclusions and exclusions, term exclusions, messaging restrictions. Search Engine Land covered the launch alongside Microsoft’s broader agentic-web push.

Why it matters for your account. If you already run a DSA-to-AI-Max migration on Google, the same playbook transfers to Microsoft almost one for one. The trade-off is identical too — you gain reach and hand over matching and URL choice, so the guardrails are the part you don’t skip.

What to do. Set AISearchSetting on the campaign and deploy your brand-kit guardrails programmatically across accounts, the way you do on Google:

{
  "AISearchSetting": { "Enabled": true },
  "BrandKit": {
    "TermExclusions": ["competitor-name", "off-brand-claim"],
    "MessagingRestrictions": ["no superlatives without proof"]
  }
}

(AISearchSetting and the brand-kit exclusions are real Campaign Management additions from March/May 2026; the exact object nesting is illustrative — AI Max is still a pilot, so confirm the schema and GA status in the release notes right before you build against it.)

Verify AI Max dates before you commit. It’s an open pilot, not GA, and pilot timelines move fast. Check the current status in the release notes the day you build, not the day you read this.

Upside #3 — Convergence with Google makes porting cheap

The clearest theme of the year: Microsoft made it cheap to bring your Google setup over.

Google login (Dec 2025, 13.0.26)

GoogleOAuthDesktopMobileAuthCodeGrant / GoogleOAuthWebAuthCodeGrant let you authenticate the Bing Ads API with the same Google identity you use for Google Ads. A March 2026 fix preserved the Google refresh token.

Richer Google import (Mar 2026, 13.0.27)

New import options: NewPortfolioBidStrategy, NewAIMaxSettings, topic targets. The May 2026 Import Center adds step-by-step error diagnostics and import filtering.

Performance Max parity

PMax via API is in worldwide open beta, with AutoGeneratedImageOptOut / AutoGeneratedTextOptOut, PageFeedIds and campaign-level negative age/gender.

New Customer Acquisition (Feb 2025)

NCA goals are fully scriptable, and 2026 added import of NCA goals straight from Google PMax.

Why it matters for your account. “What you do on Google, you can now port to Bing at close to 1:1” — and with Google login, you don’t even maintain a second OAuth mental model. The same Google identity authenticates both:

# Authenticate the MICROSOFT API with your existing Google identity (Dec 2025+).
# GoogleOAuthWebAuthCodeGrant is a Bing Ads SDK auth class — not a raw grant_type.
from bingads.authorization import GoogleOAuthWebAuthCodeGrant

authentication = GoogleOAuthWebAuthCodeGrant(
    client_id=CLIENT_ID, client_secret=CLIENT_SECRET, redirection_uri=REDIRECT_URI,
)
# one OAuth flow across Google Ads + Microsoft Advertising;
# a March 2026 fix preserves the Google refresh token between runs.

What to do. Pick the single Google job with the highest payoff — NCA goals or generative assets are the usual first picks — and port it to Bing as a pilot. The auth and import work is already done for you; you’re reusing patterns, not reinventing them. (The Google-OAuth grant classes are real SDK additions from December 2025; confirm the exact constructor and auth flow against the release notes — it’s an SDK helper, not a token-endpoint grant value.)

Upside #4 — Measurement grew up

Three upgrades make Bing data finally easy to wire into your own BI and CRM:

The measurement upgrades worth wiring in

  • MSClickIdPerformanceReport (May 2026) Click-level stitch — join MSCLKID to CRM orders for true ROAS
  • BidStrategyReport (Dec 2025) Bid-strategy performance without UI scraping
  • DataDriven attribution via API Set the model in code, not by hand in the UI
  • Offline conversions by goal ID (Mar 2026) Cleaner server-side and offline pipelines (+ ConversionDelay)

Why it matters for your account. MSClickIdPerformanceReport is the one to reach for first: stitch MSCLKID to your CRM orders and you get true ROAS instead of platform-reported numbers — the same join you already run for Google’s GCLID. The shape of the report is just another REST submit against the v13 Reporting endpoint, so it drops straight into the migration you’re already doing in the first section.

Shopping, meanwhile, has quietly consolidated: the legacy Content API v9.1 is effectively frozen (last change in 2024). Modern Microsoft Shopping runs through Microsoft Merchant Center plus Bing Ads v13 — PMax asset groups, listing-group paths and the FeedItemPerformanceReport.

On the horizon — ads inside the chatbot

The most forward-looking thread is Microsoft’s bet on agentic commerce. At Activate 2026 it rolled out Copilot Checkout — buying directly inside the chat — alongside Brand Agents for Shopify and ad placements beneath Copilot’s conversational answers, with Performance Max surfacing under those results. The marketing commentary frames it as Microsoft going “AI-first” — a genuinely new shopping surface rather than another ad slot.

For now this is more “watch this space” than “automate today,” but it has a concrete prerequisite: feed and brand-kit hygiene. Products only show up cleanly in an AI surface if their feed data and messaging are in order — so the unglamorous work positions a store for the conversational channel. On the creative side, the year also shipped HTML5 assets via the API (AddHTML5s, March 2026) and Video Animation (static image to video asset, November 2025) — cheap ways to feed richer formats without a production team.

The year on one timeline

Every v13 entry below comes from the Bing Ads API release notes (last updated June 5, 2026); the platform announcements from the Microsoft Advertising blog. The only hard deadlines are the SOAP retirement’s two dates (flagged HARD); the EU political-ads row is a compliance obligation, and everything else is opt-in upside — the right-hand column tells you which is which.

DateSDK / eventWhat landedClock?
2025-02v13.0.24Generative AI recommendation APIs; New Customer Acquisition goal via API
2025-07v13.0.25Job-based recommendations; brand kit; new performance reports
2025-09v13.0.25.3EU political ads — mandatory IsPolitical before create/importcompliance
2025-11PlatformVideo Animation — static image to video asset
2025-12v13.0.26Google login; TopicCriterion; data-driven attribution; BidStrategyReport
2026-03v13.0.27HTML5 assets; LinkedIn segments; CustomSegment; AISearchSetting; richer Google import
2026-04PlatformSOAP → REST transition announced; AI Max + agentic web at Activate 2026announce
2026-05v13.0.28MSClickIdPerformanceReport; billing APIs; PMax negative age/gender; Import Center
2026-10-01REST onlyNew features ship to REST only — SOAP stops getting anything newHARD
2027-01-31SOAP OFFSOAP switched off completely — migrate before this dateHARD
The part you can steal

What to do this quarter — deadline first, parity after

The checklist, sequenced by the gun to its head:

[HARD Oct 1]  1. Audit auth/connector → plan the REST rebuild
[HARD Jan 31] 2. Build REST-first → skip the SOAP port entirely
[parity]      3. Port one Google job → NCA or generative assets
[pilot]       4. AISearchSetting → deploy brand-kit guardrails
[measure]     5. MSClickId + offline conversions → into your BI
  1. Don’t migrate SOAP — replace it. If your Bing tooling is thin, build REST-first and you’re done before the deadline with a cleaner stack, not a transliterated old one.
  2. Reuse, don’t reinvent. Google login and richer import mean your existing Google patterns largely carry over; pick the highest-payoff job and port it first.
  3. Treat AI Max as a pilot you verify. It’s not GA — confirm the schema and status in the release notes the day you build, then deploy guardrails through AISearchSetting and the brand kit.
  4. Wire MSClickId in early. True ROAS from a CRM join is the same pattern you run on Google’s GCLID — it’s the upgrade with the fastest payback.

FAQ

When does my SOAP integration actually stop working?

SOAP keeps running until January 31, 2027, when it’s switched off completely. From October 1, 2026, no new features ship to SOAP — so any new capability you want is REST-only after that date.

Is REST a drop-in replacement for the SOAP SDK?

No. Reporting, auth flow and error handling all differ — a report goes from a SOAP envelope to a JSON POST with an OAuth bearer token and your developer token in the headers. Treat it as a rebuild onto plain HTTP/JSON, not a config change.

What does Google login in the Bing Ads API actually give me?

You authenticate the Microsoft API with the same Google identity used for Google Ads (GoogleOAuth…AuthCodeGrant, December 2025), so a multi-platform tool shares one OAuth mental model and less credential-management code. A March 2026 fix preserved the Google refresh token.

Is Microsoft's AI Max generally available?

As of this writing it’s an open pilot (since May 2026), with the AISearchSetting API hook. Pilot timelines shift quickly — check the release notes and confirm the schema before building against it.

Which upgrade has the fastest payback?

MSClickIdPerformanceReport (May 2026). Stitch MSCLKID to your CRM orders for true ROAS instead of platform-reported numbers — the same join you already run on Google’s GCLID, so the pattern is familiar and the value is immediate.

Why bother automating Bing at all?

Because the API just reached feature parity with Google — PMax, AI Max, NCA, generative assets, Google login and import — while almost no one automates over it. The opportunity window is open precisely because competitors aren’t here yet.

The point of all this

Want this level of visibility in your account?

One e-mail. I'll tell you honestly whether it's worth it for your setup.

Get in touch →