[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)

# Export a Zotero collection as BibTeX

> Export a Zotero collection as BibTeX, RIS or a formatted bibliography from an agent or n8n, so your .bib file is current before every build.

Source: https://cotlet.dev/integrations/zotero-api-mcp-server/export-collection-bibtex

Your LaTeX project reads a references.bib file, and it is out of date the moment you add a paper to the collection.

Cotlet does it in your own Zotero account with list\_collections and export\_citations, called by your AI agent, an n8n workflow or a script.

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

Hosted · nothing to install or maintain

## Can Zotero do this on its own?

Zotero exports in the desktop app and through the Web API (checked 16 Oct 2026). The API returns items in BibTeX, BibLaTeX, RIS, CSL JSON and other formats with the format parameter, and a formatted bibliography with format=bib. The API needs your own code, a key and a limit on every call, and the desktop app needs you at the keyboard.

## How you do it in Zotero today

1. In the left pane, right-click the collection and choose Export Collection….
2. Pick the format in the dialog, save the file and copy it into your project folder.
3. For a formatted list instead, select the items, right-click and choose Create Bibliography from Item(s)…, then pick a citation style and an output mode such as Copy to Clipboard.
4. Edit > Copy Bibliography puts the entries for the selected items on the clipboard in one step.
5. Every new paper means repeating this, and the file is a snapshot: it does not follow the collection.

## How to export a Zotero collection as BibTeX

Prompt

```
Export my collection "Thesis: related work" as BibTeX and save it as references.bib. Tell me how many entries it has.
```

1. 01  
### Find the collection  
Your agent matches the name you gave against list\_collections. If two collections share a name, it asks which parent you mean instead of exporting the wrong one.
2. 02  
### Choose the format  
It exports with export\_citations as BibTeX unless you asked for RIS, CSL JSON or a bibliography with a named citation style.
3. 03  
### Check the count  
The agent compares item\_count with the number of items it can see in the collection, so a partial export is reported, not saved as complete.
4. 04  
### Hand over the file  
In Claude Code the agent writes the content to references.bib in your project. In n8n the content field goes to the next node, for example a commit or an upload.

### What you get back

Example data

```
Exported "Thesis: related work" as BibTeX
2 entries written to references.bib
Items in the collection: 2, entries exported: 2
```

### Other ways to ask

- Export the collection "Methods" as CSL JSON and tell me which items have no creators.
- Every Friday, export "Thesis: related work" as BibTeX and commit references.bib to the thesis repo.
- Give me a bibliography of the collection "Chapter 2" in APA style as HTML text.

## What Zotero allows, and what to know first

- The Web API supports bibtex, biblatex, ris, csljson, mods, refer, csv and other export formats.
- A formatted bibliography with format=bib is limited to 150 items per request, and the default style is chicago-note-bibliography.
- Zotero says an export is not a backup and some fields can change or drop, so the file is for citing, not for moving a library.
- Web API export calls need a limit of 1 to 100 items per request, so a large collection is read in pages and joined into one file.

Every tool here only reads, so it can run weekly from n8n, Make, Zapier or cron without waiting for your OK.

Sources: [Zotero: exporting](https://www.zotero.org/support/kb/exporting) · [Zotero: creating bibliographies](https://www.zotero.org/support/creating%5Fbibliographies) · [Zotero Web API v3: basics](https://www.zotero.org/support/dev/web%5Fapi/v3/basics)

## Call export\_citations from a script

curl

```
curl "https://cotlet.dev/api/v1/zotero/citations/export?collection_key=C4T8WZ2N&format=bibtex" \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

Example response

```
{
"format": "bibtex",
"item_count": 2,
"content": "@article{lee2025sparse,\n title = {Sparse attention for long documents},\n author = {Lee, M. and Okafor, T.},\n year = {2025}\n}\n\n@article{novak2024survey,\n title = {A survey of retrieval for question answering},\n author = {Novak, P.},\n year = {2024}\n}"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is zotero\_read → export\_citations. Example data.

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

## Zotero tools this automation uses

__Cotlet Zotero tools used to export a Zotero collection as BibTeX__
| Tool | Parameters |
| ----------------- | --------------------------------------------------- |
| list\_collections | library |
| export\_citations | library, item\_keys, collection\_key, format, style |

[All 11 Zotero tools with descriptions](https://cotlet.dev/integrations/zotero-api-mcp-server.md#tools)

## Frequently asked questions

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

Yes. You sign in to Zotero yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Zotero 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 Zotero automations

- [Add papers to Zotero by DOI](https://cotlet.dev/integrations/zotero-api-mcp-server/add-papers-by-doi.md)
- [Turn Zotero PDF highlights into a literature note](https://cotlet.dev/integrations/zotero-api-mcp-server/pdf-annotations-to-note.md)
- [Zotero API and MCP server: every tool](https://cotlet.dev/integrations/zotero-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Zotero.

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

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

---

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.
