The API Report CardAPI Index
THE API REPORT CARD / Marketing & Sales / Microsoft Advertising
Microsoft Advertising

Microsoft Advertising API

Digital Advertising / Search & Display Ads · ads.microsoft.com

The Bing Ads API v13 is public and free: SOAP services for campaigns, bulk, and reporting, documented on learn.microsoft.com with OAuth 2.0 via Entra ID. Signup is self-serve with a universal sandbox token. Rate limits are deliberately unpublished, and a 2025 reporting outage lasted weeks.

Last verified: July 2026Marketing & Sales
API GRADE
A
VERIFIED JUL 2026

SCORECARD

ExistenceGOODSOAP services under Bing Ads API v13 cover campaigns, bulk, reporting, ad insight, billing, and shopping content.
AccessGOODSelf-serve and free: register an app in Azure, request a production developer token, or test with the universal sandbox token.
CoverageGOODCampaign CRUD, bulk uploads to 4M rows, reporting, ad insight, and offline conversions are all programmatically reachable.
AuthGOODOAuth 2.0 through Microsoft Entra ID, with optional Google identity for Google-linked Microsoft accounts.
Docs & DXGOODOfficial SDKs for .NET, Java, PHP, and Python with BulkServiceManager and ReportingServiceManager helpers, plus full docs.
StabilityGOODThe v13 SOAP services remain the stable surface while the 2026 roadmap previews REST endpoints alongside them.
MORE FROM THE REPORT CARD
Supergood: Microsoft Advertising shipped a real API. Most vendors don't; we ship near-native APIs for the rest.

Frequently asked questions

Microsoft Advertising scores A on the API Report Card. The Bing Ads API v13 is public and free: SOAP services for campaigns, bulk, and reporting, documented on learn.microsoft.com with OAuth 2.0 via Entra ID. Signup is self-serve with a universal sandbox token. Rate limits are deliberately unpublished, and a 2025 reporting outage lasted weeks.

Tried to integrate with Microsoft Advertising?
SOURCES
Rate limits (CallRateExceeded / error 117) are deliberately undocumented and 'subject to change,' making it impossible to design integrations against a known SLA learn.microsoft.com
Reporting API outage in early 2025 left ReportDownloadUrl null for weeks, with users posting workarounds on Microsoft Q&A learn.microsoft.com
Bulk service caps at 100MB / 4M rows in production and 20K rows in sandbox, with concurrent-request limits that surface as error 4204 BulkServiceNoMoreCallsPermittedForTheTimePeriod requiring 15+ minute waits learn.microsoft.com
SOAP-based services (Campaign Management, Ad Insight, Customer Management) require XML/WSDL tooling that is increasingly out of step with modern REST/gRPC ecosystems learn.microsoft.com
CampaignManagement SOAP API and Bulk API return inconsistent results for the same account, forcing dual reads learn.microsoft.com
Reporting API SubmitGenerateReportRequest has 'internal and subject to change' submission limits, with no public guidance on safe throughput learn.microsoft.com
Python SDK still depends on the unmaintained suds-jurko SOAP client (last meaningful release 2014), creating ongoing dependency-management pain learn.microsoft.com
Sandbox environment behaves differently from production (refresh-token lifetimes, available features), causing 'works in sandbox, breaks in prod' surprises learn.microsoft.com
Developer token approval and CustomerId / AccountId resolution for new agency accounts is poorly documented and often requires Microsoft support tickets learn.microsoft.com
Reporting API v13 was completely broken for an extended window in 2025, report requests returned Status Success but ReportDownloadUrl stayed permanently null, breaking every downstream BI/ETL job learn.microsoft.com
Persistent data discrepancies between the Microsoft Ads UI and the API for the same date range and account, requiring manual reconciliation learn.microsoft.com
CallRateExceeded (error code 117) throttling with limits Microsoft explicitly refuses to publish, making capacity planning impossible github.com
Account suspensions for Scripts policy violations happen with only a 2-business-day cure window after email notice learn.microsoft.com
Inconsistent results between the CampaignManagement SOAP API and the Bulk API for the same data, forcing dual-path validation learn.microsoft.com
Long-running complaints about ad disapprovals, opaque policy enforcement, and slow appeal processes trustpilot.com
Smart Campaigns and Performance Max often spend inefficiently with limited transparency into placements, similar to Google's Performance Max complaints reddit.com
Click-fraud and invalid traffic concerns on the syndication network are harder to audit than on Google Ads g2.com