# Dedupe Bookmarks — REST API endpoint `dedupe-bookmarks`

Remove duplicate links from a Netscape bookmarks.html export (Chrome, Firefox, Edge, Safari) and return a clean bookmarks.html plus a CSV of the duplicates. Two bookmarks are duplicates when their addresses match after folding letter case in the host, default ports and a trailing slash, and, by default, after dropping utm_* / fbclid / gclid tracking parameters and the #fragment. The first copy is kept with its title, date and folder; the duplicates CSV lists every folder a copy sat in. Other query parameters are never touched, non-web addresses compare verbatim, and no link is fetched.

- Category: text
- MCP server: https://mcp.findutils.com/ (Streamable HTTP, no API keys, 120 req/min per IP)
- REST endpoint: POST https://api.findutils.com/api/tools/dedupe-bookmarks/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/api/dedupe-bookmarks/
- Same tool on the other surface: https://findutils.com/mcp/dedupe-bookmarks/

## Call the endpoint (verified example)

```bash
curl -X POST https://api.findutils.com/api/tools/dedupe-bookmarks/execute \
  -H "Content-Type: application/json" \
  -d '{
    "input": "<!DOCTYPE NETSCAPE-Bookmark-file-1>\n<DL><p>\n    <DT><A HREF=\"https://example.com/?utm_source=x\">Example</A>\n    <DT><A HREF=\"https://example.com/\">Example again</A>\n</DL><p>\n"
  }'

# Parameter schema
curl https://api.findutils.com/api/tools/dedupe-bookmarks
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `input` | string | yes | Netscape bookmarks HTML. |
| `strip_tracking` | boolean | no | Treat utm_*, fbclid and gclid parameters as noise when comparing. Default true. Default: `true`. |
| `ignore_fragment` | boolean | no | Treat addresses that differ only by #fragment as the same page. Default true. Default: `true`. |

Example arguments (verified):

```json
{
  "input": "<!DOCTYPE NETSCAPE-Bookmark-file-1>\n<DL><p>\n    <DT><A HREF=\"https://example.com/?utm_source=x\">Example</A>\n    <DT><A HREF=\"https://example.com/\">Example again</A>\n</DL><p>\n"
}
```

OpenAPI 3.1 spec: https://findutils.com/api/openapi.json · Interactive docs: https://findutils.com/api/docs/

## Also an MCP tool

```bash
claude mcp add findutils --transport http https://mcp.findutils.com/
```

Then ask the client to call `findutils:dedupe_bookmarks`. Full MCP reference: https://findutils.com/mcp/dedupe-bookmarks/

---
Full catalog: GET https://api.findutils.com/api/tools · https://findutils.com/api/ · https://findutils.com/llms.txt
