> This page is for Unified.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Merge Link options

> Comparison of Merge Link delivery methods — embedded component (React/Vue/JS), Magic Link (no frontend code), and single-integration mode.

---

## Delivery methods

#### [Embedded Merge Link](/merge-unified/merge-link/embedded-link)

Drop-in UI component for React, Vue, or vanilla JS. Your end user picks an integration and authorizes access without leaving your app. **Recommended for most integrations.**

#### [Magic Link](/merge-unified/merge-link/magic-link)

Send your end user a secure URL to authorize integrations — no frontend code required. Ideal when you cannot embed a component or need to onboard users via email.

---

## Customization

#### [Single Integration](/merge-unified/merge-link/single-integration)

Pass a parameter to limit Merge Link to a specific provider instead of showing the full integration picker. Useful when your product only supports one integration or you want to control which platform the user connects.

---

## Connecting without Merge Link

#### [Bootstrap](/merge-unified/merge-link/bootstrap)

Create a Linked Account from credentials you already hold, so your end user does not authorize again. Use it to migrate in-house integrations, move off another provider, or onboard an end user without a Link session.

---

## How each method works

**Embedded Merge Link** uses a three-step token exchange: your backend creates a `link_token`, your frontend opens Merge Link with that token, and when the end user finishes, you receive a `public_token` that your backend swaps for a permanent `account_token`. For a full walkthrough with code in five backend languages and three frontend frameworks, see the [Embedded Merge Link](/merge-unified/merge-link/embedded-link) guide.

**Magic Link** does not use the `public_token` / `account_token` swap. Instead, your backend creates a `link_token` with `should_create_magic_link_url=true`, receives a `magic_link_url` in the response, and sends that URL to the end user. After the user authorizes, you retrieve the account token from the Dashboard or via a webhook. See the [Magic Link](/merge-unified/merge-link/magic-link) guide for details.