Skill Tracer
Skills › Scientific Agent Skills › pyzotero › search-params.md

search-params.md

93 lines · skills/pyzotero/references/search-params.md at 5f2bc03

Open on GitHub
1# Search & Request Parameters
2
3Supported parameters can be passed directly to a Read API call, or configured for the next call with `add_parameters()`. Pass a format and its options together on one call: a later call with keyword arguments can reset a preconfigured export to JSON in 1.15.2.
4
5```python
6# Inline parameters (valid for one call only)
7results = zot.items(q='climate change', limit=50, sort='date', direction='desc')
8
9# Configure the next call
10zot.add_parameters(limit=50, sort='dateAdded')
11results = zot.items()
12```

Search & Request Parameters

Supported parameters can be passed directly to a Read API call, or configured for the next call with add_parameters(). Pass a format and its options together on one call: a later call with keyword arguments can reset a preconfigured export to JSON in 1.15.2.

# Inline parameters (valid for one call only)
results = zot.items(q='climate change', limit=50, sort='date', direction='desc')

# Configure the next call
zot.add_parameters(limit=50, sort='dateAdded')
results = zot.items()
Raw lines 1 to 13
14## Available Parameters
16| Parameter | Type | Description |
17|-----------|------|-------------|
18| `q` | str | Quick search — titles and creator fields by default |
19| `qmode` | str | `'titleCreatorYear'` (default) or `'everything'` (full-text) |
20| `itemType` | str | Filter by item type. See search syntax for operators |
21| `tag` | str or list | Filter by tag(s). Multiple tags = AND logic |
22| `since` | int | Return only objects modified after this library version |
23| `sort` | str | Sort field (see below) |
24| `direction` | str | `'asc'` or `'desc'` |
25| `limit` | int | 1–100, or `None` |
26| `start` | int | Zero-based offset into result set (default 0) |
27| `format` | str | Response format (see exports.md) |
28| `itemKey` | str | Comma-separated item keys (up to 50) |
29| `content` | str | Legacy Atom content; remote API only |
30| `include` | str | JSON members such as `'data,bib'`, `'citation'`, or `'csljson'` |
31| `style` | str | CSL style name (used with `content='bib'`) |
32| `linkwrap` | str | `'1'` to wrap URLs in `<a>` tags in bibliography output |

Available Parameters

ParameterTypeDescription
qstrQuick search — titles and creator fields by default
qmodestr'titleCreatorYear' (default) or 'everything' (full-text)
itemTypestrFilter by item type. See search syntax for operators
tagstr or listFilter by tag(s). Multiple tags = AND logic
sinceintReturn only objects modified after this library version
sortstrSort field (see below)
directionstr'asc' or 'desc'
limitint1–100, or None
startintZero-based offset into result set (default 0)
formatstrResponse format (see exports.md)
itemKeystrComma-separated item keys (up to 50)
contentstrLegacy Atom content; remote API only
includestrJSON members such as 'data,bib', 'citation', or 'csljson'
stylestrCSL style name (used with content='bib')
linkwrapstr'1' to wrap URLs in <a> tags in bibliography output
Raw lines 14 to 33
34## Sort Fields
36`dateAdded`, `dateModified`, `title`, `creator`, `itemType`, `date`, `publisher`,
37`publicationTitle`, `journalAbbreviation`, `language`, `accessDate`,
38`libraryCatalog`, `callNumber`, `rights`, `addedBy`; `numItems` applies to tag lists.

Sort Fields

dateAdded, dateModified, title, creator, itemType, date, publisher, publicationTitle, journalAbbreviation, language, accessDate, libraryCatalog, callNumber, rights, addedBy; numItems applies to tag lists.

Raw lines 34 to 39
40## Tag Search Syntax
42```python
43# Single tag
44zot.items(tag='machine learning')
46# Multiple tags — AND logic (items must have all tags)
47zot.items(tag=['climate', 'adaptation'])
49# OR logic (items with any tag)
50zot.items(tag='climate || adaptation')
52# Exclude a tag
53zot.items(tag='-retracted')
54```

Tag Search Syntax

# Single tag
zot.items(tag='machine learning')

# Multiple tags — AND logic (items must have all tags)
zot.items(tag=['climate', 'adaptation'])

# OR logic (items with any tag)
zot.items(tag='climate || adaptation')

# Exclude a tag
zot.items(tag='-retracted')
Raw lines 40 to 55
56## Item Type Filtering
58```python
59# Single type
60zot.items(itemType='journalArticle')
62# OR multiple types
63zot.items(itemType='journalArticle || book')
65# Exclude a type
66zot.items(itemType='-note')
67```
69Common item types: `journalArticle`, `book`, `bookSection`, `conferencePaper`,
70`thesis`, `report`, `dataset`, `preprint`, `note`, `attachment`, `webpage`,
71`patent`, `statute`, `case`, `hearing`, `interview`, `letter`, `manuscript`,
72`map`, `artwork`, `audioRecording`, `videoRecording`, `podcast`, `film`,
73`radioBroadcast`, `tvBroadcast`, `presentation`, `encyclopediaArticle`,
74`dictionaryEntry`, `forumPost`, `blogPost`, `instantMessage`, `email`,
75`document`, `computerProgram`, `bill`, `newspaperArticle`, `magazineArticle`

Item Type Filtering

# Single type
zot.items(itemType='journalArticle')

# OR multiple types
zot.items(itemType='journalArticle || book')

# Exclude a type
zot.items(itemType='-note')

Common item types: journalArticle, book, bookSection, conferencePaper, thesis, report, dataset, preprint, note, attachment, webpage, patent, statute, case, hearing, interview, letter, manuscript, map, artwork, audioRecording, videoRecording, podcast, film, radioBroadcast, tvBroadcast, presentation, encyclopediaArticle, dictionaryEntry, forumPost, blogPost, instantMessage, email, document, computerProgram, bill, newspaperArticle, magazineArticle

Raw lines 56 to 76
77## Examples
79```python
80# Recent journal articles matching query, sorted by date
81zot.items(q='CRISPR', itemType='journalArticle', sort='date', direction='desc', limit=20)
83# Items modified since a known library version
84zot.items(since=4000)
86# Items with a specific tag, offset for pagination
87zot.items(tag='to-read', limit=25, start=25)
89# Full-text search
90zot.items(q='gene editing', qmode='everything', limit=10)
91```
93For tag endpoints, `qmode='contains'` is the default; prefix matching requires `qmode='startsWith'`. Read parameters are endpoint-specific, not valid on every method. `limit=None` omits the limit: it does **not** fetch a whole remote JSON item list (the server defaults to 25). Local and remote quick search implementations may return different matches. Source: [search, sorting, and pagination contracts](https://www.zotero.org/support/dev/web_api/v3/basics#search_parameters).

Examples

# Recent journal articles matching query, sorted by date
zot.items(q='CRISPR', itemType='journalArticle', sort='date', direction='desc', limit=20)

# Items modified since a known library version
zot.items(since=4000)

# Items with a specific tag, offset for pagination
zot.items(tag='to-read', limit=25, start=25)

# Full-text search
zot.items(q='gene editing', qmode='everything', limit=10)

For tag endpoints, qmode='contains' is the default; prefix matching requires qmode='startsWith'. Read parameters are endpoint-specific, not valid on every method. limit=None omits the limit: it does not fetch a whole remote JSON item list (the server defaults to 25). Local and remote quick search implementations may return different matches. Source: search, sorting, and pagination contracts.

Raw lines 77 to 93