Microsoft Ads

Overview

Microsoft Ads data synced to V4MOS.AI, through the integration's own endpoints

The V4MOS.AI Microsoft Ads API gives you the raw records synced from the Microsoft Ads accounts connected to your organization: accounts, campaigns, ad groups, ads, keywords and their daily performance reports. Rows come as they were synced, with the warehouse column names (snake_case), so you can load them straight into your BI. All endpoints use the /v1/microsoft-ads prefix and the same authentication, pagination and response format.

Getting started

Base URL: https://data.v4mos.ai. Every call requires your API credentials and the organizationId — see Authentication.

  1. Connect Microsoft Ads in app.v4mos.ai (Connected accounts) and wait for the first sync.
  2. Call any endpoint below with your organizationId, for example GET /v1/microsoft-ads/accounts?organizationId=….
  3. Every row carries integration_id and integration_name: the connected account it came from. To read a single account, pass that value as integrationId.

Available endpoints

Resources

EndpointWhat one row isdateFrom / dateTo filter
GET /v1/microsoft-ads/accountsOne row per advertising account: number, currency, time zone, language and lifecycle status.—
GET /v1/microsoft-ads/campaignsOne row per campaign: type, budget, bid strategy and tracking settings.—
GET /v1/microsoft-ads/ad-groupsOne row per ad group: type, dates, network distribution, bid strategy and CPC bid.—
GET /v1/microsoft-ads/adsOne row per ad: type, status, editorial status, headlines, descriptions and URLs.—
GET /v1/microsoft-ads/keywordsOne row per keyword: match type, status, editorial status, bid and final URL.—
GET /v1/microsoft-ads/campaign-performance-reportOne row per campaign per day, device type and network: impressions, clicks, spend, revenue, conversions and assists.time_period
GET /v1/microsoft-ads/ad-group-performance-reportOne row per ad group per day, device type and network: impressions, clicks, spend, revenue, qualified conversions and assists.time_period
GET /v1/microsoft-ads/ad-performance-reportOne row per ad per day, device type and network: impressions, clicks, spend, revenue, qualified conversions and assists.time_period
GET /v1/microsoft-ads/keyword-performance-reportOne row per keyword per day, device type and network: impressions, clicks, spend, revenue and conversions.time_period

Pagination and filters

  • page (default 1) and limit (default 500, max 5000). meta.hasNextPage says whether another page exists; rows come in a stable order, so walk the pages until it is false.
  • dateFrom / dateTo (YYYY-MM-DD, inclusive) filter by the date column shown in the table above. Resources without one reject them.
  • integrationId keeps the rows of one connected account.
  • Answers are cached for 30 minutes and the data is synced once a day — see Data sync.

Response format

{
  "data": [{ "...": "one object per row, with the columns listed on each endpoint" }],
  "meta": {
    "page": 1,
    "limit": 500,
    "hasNextPage": true,
    "hasPreviousPage": false
  }
}

Amounts and large counters (fields with format: decimal or format: int64 in each endpoint schema) come as strings, e.g. "125.50", so no precision is lost. Convert them to a decimal type on your side.

On this page