> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Keyword Bid Estimates

> Get Microsoft Ads first-page, top-of-page and first-position keyword bid estimates by keyword IDs or text and match types

Get Microsoft Ads first-page, top-of-page and first-position keyword bid estimates by keyword IDs or text and match types. For enhanced-CPC Search campaigns. Missing estimates are not zero bids; estimates do not guarantee placement. Use update\_keyword\_bid separately to apply approved bids.

| | |
| - | - |
| **App** | Microsoft Ads |
| **Operation ID** | `microsoft_ads_get_keyword_bid_estimates` |
| **Type** | Action |
| **Connection** | `microsoft_ads` (required) |
| **Credits per run** | 1 |
| **Agent / MCP tool** | Yes |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `account` | object or array of object or MicrosoftAdsAccountItem or string or integer | Yes | - | Microsoft Ads account to estimate bids for. |
| `keyword_ids` | string or array of string | No | - | Existing keyword IDs as an array, JSON array, or comma/newline-separated text. Supply either keyword\_ids or keywords, not both. Microsoft accepts up to 1000 per request and uses the keywords' existing ad-group context. |
| `keywords` | string or array of KeywordAndMatchType | No | - | Keyword text and match types as a native array or JSON string, e.g. \[\{"KeywordText":"plumbing","MatchTypes":\["Exact","Phrase"]}]. Use instead of keyword\_ids. Microsoft accepts up to 1000 keywords. |
| `target_position` | enum (`FirstPage`, `MainLine`, `MainLine1`) | No | `FirstPage` | Target position: FirstPage (first-page bid estimate, default), MainLine (top-of-page positions 2-4), or MainLine1 (first position). Estimates are not a guarantee of placement. |
| `campaign_id` | integer or string | No | - | Text estimates only: campaign context. Required by Microsoft when ad\_group\_id is supplied. |
| `ad_group_id` | integer or string | No | - | Text estimates only: ad-group context to improve estimate accuracy. |
| `location_ids` | string or array of string | No | - | Text estimates only: Microsoft location IDs as an array or comma/newline-separated text. Use microsoft\_ads\_search\_locations to find IDs. Omitted: Microsoft uses the ad group/campaign locations, or US (190) if neither is supplied. |
| `language` | string | No | - | Text estimates only: language name, e.g. English (not EN). Omitted: inherits ad group/campaign language, otherwise English. |
| `currency` | string | No | - | Text estimates only: currency code, e.g. USD. Omitted: uses account currency. Returned estimates include CurrencyCode. |
| `entity_level_bid` | enum (`Keyword`, `AdGroup`, `AllEntities`) | No | - | Text estimates only: Keyword (default), AdGroup, or AllEntities to include both keyword and ad-group estimates. |

### KeywordAndMatchType

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `KeywordText` | string | Yes | - | Keyword text to estimate. |
| `MatchTypes` | array of enum (`Exact`, `Phrase`, `Broad`, `Aggregate`) | Yes | - | Microsoft match types for this keyword. |

### MicrosoftAdsAccountItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | |
| `label` | string | Yes | - | |
| `customerId` | string | No | - | The Microsoft Ads customer ID used for REST CustomerId headers. If omitted, it is resolved from the account ID. |

## Output

**Type**: `Dict`

Native Microsoft estimates include EstimatedMinBid, CurrencyCode, MatchType and traffic estimates. Response items correspond to request order, retained in requested\_keyword\_ids or requested\_keywords. Null items indicate invalid keywords; null nested estimates indicate no available estimate, never zero. ID estimates use the last seven days of performance. AdGroupEstimatedBid is included when requested via entity\_level\_bid.

**Fields**: `KeywordEstimatedBids`, `AdGroupEstimatedBid`, `requested_keyword_ids`, `requested_keywords`, `target_position`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.