# Match items into other services
URL: https://musicapi.com/docs/reference/match-catalog-items.md

`POST https://api.musicapi.com/public/search/match`

Section: Search and match the catalog.
Product: MusicAPI Core.
Auth: Basic, Token, DevToken, DocsSession (any one of them). Use Basic with your Client ID and Client Secret from your server only.

Finds each track, album or artist that you name in the destination services. Needs no connected user.

## Request body

`application/json`, required.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `destinations` | string[] | yes | The services to find each object in. |
| `objects` | CatalogObjectRef[] | yes |  |
| `objects[].id` | string | yes | The id of the track, album or artist on its service. |
| `objects[].source` | string | yes | A search source. `GET /public/search/introspection` lists them. |

## Response 200

OK

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `matches` | object[] | yes |  |
| `matches[].object` | object | yes | The object you sent, with its catalogue data. |
| `matches[].matches` | object[] | yes | One entry per destination that has the object. |

```json
{
  "matches": [
    {
      "object": {},
      "matches": [
        {}
      ]
    }
  ]
}
```

## Errors

- 400: A source or a destination is not a search source.

## Example

```bash
curl -X POST "https://api.musicapi.com/public/search/match" \
  -u "$MUSICAPI_CLIENT_ID:$MUSICAPI_CLIENT_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"destinations":["appleMusic"],"objects":[{"id":"5aszL9hl6SBzFNsOvw8u8w","source":"spotify"}]}'
```
