---
title: "Search games (strict title match)"
method: GET
path: "/v2/marketplace/autosuggest"
tags: ["marketplace"]
---

# Search games (strict title match)

`GET /v2/marketplace/autosuggest`

Strict title search. Returns only genuine matches, with none of the
recommendation padding that `GET /v2/marketplace/search` produces.

Searching `REPLACED` here returns exactly two products - the game and its demo -
where the standard search returns 20 results, 18 of which are unrelated.

## When to use this instead of /marketplace/search

Use **autosuggest** when you know the title and want the product ID for it.
Use **search** when you want browsing-style results with prices, ratings, images and
pagination.

This is a different upstream endpoint, not a flag on the existing search, so the
response shape differs: results are grouped under `Results[].Products[]` rather than
`Payload.SearchResults`. Matching is on the start of the title.

## Getting a title ID

Results carry a `ProductId`. To turn that into an Xbox title ID use
`GET /v2/marketplace/titleid/{productId}`.

## Query parameters

- `q` string, required
- `market` string
- `productFamilyNames` string

## Response `200`

Matching products

- ApiResponse — Standard API response wrapper. All endpoints return responses in this format.
  - `content` unknown, required
  - `code` integer, required — HTTP status code from the upstream API. Common values: 200 (success), 400 (bad request), 401 (unauthorized), 404 (not found), 410 (deprecated/gone), 429 (rate limited), 500 (server error)

## Other responses

- `401` — Invalid or missing API key
- `429` — Rate limit exceeded

---

[API](https://skmtc.dev/xbl/apis/openxbl-api.md) · [All operations](https://skmtc.dev/xbl/apis/openxbl-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xbl/openxbl-api/revisions/e5df7bdca559/schema)
