[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Sort saved Instapaper articles into folders and tags

> Move new Instapaper saves into the right folder and tag them from the topics you already use. Runs daily from Claude Code, n8n or a script.

Source: https://cotlet.dev/integrations/instapaper-api-mcp-server/sort-instapaper-articles-into-folders

You save links from your phone, a share sheet or a browser button, and they all land in Home with no folder and no tag. The sorting you meant to do later is what makes the list searchable.

Cotlet does it in your own Instapaper account with list\_bookmarks, list\_folders, list\_tags, move\_bookmark and tag\_bookmark, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=instapaper) [All Instapaper tools](https://cotlet.dev/integrations/instapaper-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Instapaper do this on its own?

The Instapaper API v2 moves a bookmark into a folder and adds or removes tags, and a tag name that does not exist yet is created on the way (checked 17 Oct 2026). Folders and tags are fully scriptable. Choosing the folder and the tag from what the article is about is not something the app or the API does.

## How you do it in Instapaper today

1. You open Home, where every new save starts, and read the title of each one.
2. You move an article into one of your folders, which are available on free accounts too.
3. You add tags so you can find the article later by topic.
4. A tag typed by hand is easy to misspell, which splits one topic across two tags.
5. Doing this at the end of the day, for each article, is the step that gets skipped first.

## How to sort saved Instapaper articles into folders and tags

Prompt

```
Take the articles I saved to Instapaper today. Move recipes into my Recipes folder, and tag each article with one topic from my existing tags. If no tag fits, tell me instead of making a new one.
```

1. 01  
### Learn your folders and tags  
list\_folders and list\_tags run once per run. The agent matches articles to names you already use, so it does not invent a second "Recipe" next to "Recipes".
2. 02  
### Find today's saves  
list\_bookmarks reads Home and keeps articles saved since your cutoff. Articles already in a folder are left alone.
3. 03  
### Read before deciding  
The agent judges from title, site and the description Instapaper stored. When that is not enough, you can ask for the first paragraphs with get\_article\_text.
4. 04  
### Move and tag  
move\_bookmark puts clear matches in a folder. tag\_bookmark adds one tag from your list. A new tag name is only created if your prompt allows it.
5. 05  
### List the undecided  
Articles that fit no folder or tag come back as a short list with a suggested folder, so you decide in one reply.

### What you get back

Example data

```
Saved today: 9
Moved to Recipes: 3
Tagged Cooking: 3, Design: 2, Finance: 1
No clear fit, left in Home 3:
- "Why Our Roof Leaked" (suggest a new folder: Home projects)
- "Quarterly Letter, Q3" (suggest tag: Finance)
```

### Other ways to ask

- Tag only, and move nothing out of Home.
- Create new tags when no existing tag fits, using one lowercase word.
- Once a week, find articles with no tag at all and propose tags as a table.
- Move everything saved from one site to a folder I name.

## What Instapaper allows, and what to know first

- Folders are available on free Instapaper accounts. Full-text search is Premium, so on a free account tags and folders are how you find an article later.
- A tag can be added by name or ID. A name that does not exist yet is created, and the call returns which tags it created.
- When one call removes and adds tags, removals are applied first, and a tag is removed by its ID.
- A bookmark moves to the archive, back to Home, or into a folder with the same call.
- Deleting a folder moves its articles back to Home. It does not delete them.

move\_bookmark and tag\_bookmark change only your own Instapaper data and reach no one else, so they run without asking first.

Sources: [Instapaper API v2 OpenAPI spec](https://www.instapaper.com/api/2/openapi.json) · [Instapaper API v2 TypeScript SDK (official)](https://github.com/Instapaper/instapaper-api-js) · [Instapaper Premium: free and Premium features](https://www.instapaper.com/premium)

## Call tag\_bookmark from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/instapaper/bookmarks/1893240551/tag \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"add_tags":["Cooking","Weeknight"]}'
```

Example response

```
{
"bookmark_id": 1893240551,
"created_tags": [
{
"tag_id": 31,
"name": "Weeknight"
}
],
"tags": [
{
"tag_id": 7,
"name": "Cooking"
},
{
"tag_id": 31,
"name": "Weeknight"
}
]
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is instapaper\_write → tag\_bookmark. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/instapaper-api-mcp-server.md#automations)

## Instapaper tools this automation uses

__Cotlet Instapaper tools used to sort saved Instapaper articles into folders and tags__
| Tool | Parameters |
| --------------- | ----------------------------------------- |
| list\_bookmarks | section, folder\_id, tag, limit, offset |
| list\_folders | none |
| list\_tags | none |
| move\_bookmark | bookmark\_id, destination |
| tag\_bookmark | bookmark\_id, add\_tags, remove\_tag\_ids |

[All 12 Instapaper tools with descriptions](https://cotlet.dev/integrations/instapaper-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Instapaper to Cotlet?

Yes. You sign in to Instapaper yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Instapaper once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Instapaper automations

- [Archive old and finished Instapaper articles](https://cotlet.dev/integrations/instapaper-api-mcp-server/archive-old-instapaper-articles.md)
- [Export your Instapaper highlights each week](https://cotlet.dev/integrations/instapaper-api-mcp-server/export-instapaper-highlights.md)
- [Instapaper API and MCP server: every tool](https://cotlet.dev/integrations/instapaper-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Instapaper.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Instapaper.

[Sign up free](https://cotlet.dev/app/signup?app=instapaper)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
