---
title: Search
---
## Search Publications
**Required scope:** `public-api:read`
This endpoint allows filtering for published documents.
**Use Cases**
- Automatic teaser lists like topic pages (filtered by Metadata properties)
- [Ticker Tool](/operations/releases/release-2023-09/llms.txt#ticker-tool)
>[!WARNING]
> Even when it's possible to make a full-text search to this endpoint, it's not thought to be used by a frontend search (because of performance reasons)
**History**
| Version | Change |
| ------- | ------ |
| release-2026-01 | Responds with an object containing a `results` array, the `total` number of results, and a `cursor` for pagination. |
| release-2024-03 | Added `ignoreComponentConditions` and `componentConditions` query parameters. |
| release-2023-07 | Added `filters` query parameter to support the [Public API Search DSL](/reference/public-api/publications/search-filters/llms.txt). |
**Curl Example**
```bash
ACCESS_TOKEN=ey1234
curl -k -X GET "https://server.livingdocs.io/api/2026-05/publications/search" \
-H "Authorization: Bearer $ACCESS_TOKEN"
```
**Endpoint**
```http
GET /api/2026-05/publications/search
```
**Parameters**
| Name | Type | Required | Notes |
| ---- | ---- | :------: | ----- |
| ?search | string | | Search term to perform a full-text search with. For exact word matches use “, e.g. `search=“Ukulele”` |
| ?contentTypes | string | | Comma separated list of content-types for which documents should be found. Content types are concatenated with OR. Example: 'regular,author' |
| ?categories | string | | Comma separated list of category ids for which documents should be found. Categories are concatenated with OR. Example: 'sport,fashion' |
| ?languages | string | | Comma separated list of languages for which documents should be found. Languages are concatenated with OR. Example: 'en,de' |
| ?languageGroupId | string | | A GroupId used to fetch all translations of a document.
Using the `?languages` param a document in a specific language can be fetched.
Example: `?languageGroupId=47&language=de` |
| ?filters | string | | A JSON string which follows the [search filters query DSL](/reference/public-api/publications/search-filters/llms.txt) |
| ?sort | string | | Comma separated list of sort properties. Any of the [Sort Fields](/reference/public-api/publications/search-filters/llms.txt#sort-fields) can be used. The sort order can be reversed by prefixing the property with a `-` |
| ?fields | string | | Comma separated list of properties to include in the response. Defaults to `systemdata,metadata,content`. Use `id` if you only want to retrieve the ids of the published documents. Useful (and faster) if you are fully synchronizing your frontend with the publication events |
| ?limit | integer | | A limit for how much published documents to retrieve. Defaults to 10. Max. 100 |
| ?offset | integer | | An offset into the query. Useful when getting more than 100 results (pagination). Max. 10000 |
| ?after | string | | The `cursor` provided in the response can be passed back for pagination instead of using `offset`. |
| ?ignoreComponentConditions | boolean | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
Provides a way to opt out of component filtering and return all content regardless of whether each component passes the conditional checks.
Default: `false` |
| ?componentConditions | string | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
JSON stringified object which contains the component conditions you would like to apply.
Default: `dateTime: new Date()`
Example: `?componentConditions={"dateTime":"2024-02-14T17:25:10.391Z"}` |
**Response**
_200 OK_ — `/api/2026-05/publications/search?search=Obama&limit=1`
```json
{
"total": 10,
"cursor": "eyJhIjpbIjE3NjUyNjIxODYuMjgyIiw2NCw2NF19",
"results": [
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 1,
"contentType": "article",
"documentType": "article",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "Obama re-elected",
"description": "some lead",
"dependencies": {},
"testDependency": "li-test-dependency.onUpdate is correct"
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "Obama re-elected",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
}
]
}
```
_200 OK_ — `/api/2026-05/publications/search?categories=sport,fashion&languages=en`
```json
{
"total": 1,
"results": [
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 1,
"contentType": "article",
"documentType": "article",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "Bayern to win Champions League",
"description": "some lead",
"category": {
"id": "sport"
},
"language": {
"locale": "en"
},
"dependencies": {},
"testDependency": "li-test-dependency.onUpdate is correct"
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "Bayern to win Champions League",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
}
]
}
```
_200 OK_ — `/api/2026-05/publications/search?contentTypes=regular,gallery&limit=10&offset=10`
```json
{
"total": 11,
"results": [
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 1,
"contentType": "regular",
"documentType": "article",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "Bayern to win Champions League",
"description": "some lead",
"category": {
"id": "sport"
},
"language": {
"locale": "en"
},
"dependencies": {},
"testDependency": "li-test-dependency.onUpdate is correct"
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "Bayern to win Champions League",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
}
]
}
```
_200 OK_ — `/api/2026-05/publications/search?contentTypes=article&limit=999&fields=id`
```json
{
"total": 2,
"results": [
{
"documentId": 1,
"projectId": 1
},
{
"documentId": 2,
"projectId": 1
}
]
}
```
## Search Publications
> [!NOTE]
> This endpoint has changes in version 2026-01.
>
**Required scope:** `public-api:read`
This endpoint allows filtering for published documents.
**Use Cases**
- Automatic teaser lists like topic pages (filtered by Metadata properties)
- [Ticker Tool](/operations/releases/release-2023-09/llms.txt#ticker-tool)
>[!WARNING]
> Even when it's possible to make a full-text search to this endpoint, it's not thought to be used by a frontend search (because of performance reasons)
**History**
| Version | Change |
| ------- | ------ |
| release-2024-03 | Added `ignoreComponentConditions` and `componentConditions` query parameters. |
| release-2023-07 | Added `filters` query parameter to support the [Public API Search DSL](/reference/public-api/publications/search-filters/llms.txt). |
**Curl Example**
```bash
ACCESS_TOKEN=ey1234
curl -k -X GET "https://server.livingdocs.io/api/2025-11/publications/search" \
-H "Authorization: Bearer $ACCESS_TOKEN"
```
**Endpoint**
```http
GET /api/2025-11/publications/search
```
**Parameters**
| Name | Type | Required | Notes |
| ---- | ---- | :------: | ----- |
| ?search | string | | Search term to perform a full-text search with. For exact word matches use “, e.g. `search=“Ukulele”` |
| ?contentTypes | string | | Comma separated list of content-types for which documents should be found. Content types are concatenated with OR. Example: 'regular,author' |
| ?categories | string | | Comma separated list of category ids for which documents should be found. Categories are concatenated with OR. Example: 'sport,fashion' |
| ?languages | string | | Comma separated list of languages for which documents should be found. Languages are concatenated with OR. Example: 'en,de' |
| ?languageGroupId | string | | A GroupId used to fetch all translations of a document.
Using the `?languages` param a document in a specific language can be fetched.
Example: `?languageGroupId=47&language=de` |
| ?filters | string | | A JSON string which follows the [search filters query DSL](/reference/public-api/publications/search-filters/llms.txt) |
| ?sort | string | | Comma separated list of sort properties. Any of the [Sort Fields](/reference/public-api/publications/search-filters/llms.txt#sort-fields) can be used. The sort order can be reversed by prefixing the property with a `-` |
| ?fields | string | | Comma separated list of properties to include in the response. Defaults to `systemdata,metadata,content`. Use `id` if you only want to retrieve the ids of the published documents. Useful (and faster) if you are fully synchronizing your frontend with the publication events |
| ?limit | integer | | A limit for how much published documents to retrieve. Defaults to 10. Max. 100 |
| ?offset | integer | | An offset into the query. Useful when getting more than 100 results (pagination). Max. 10000 |
| ?ignoreComponentConditions | boolean | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
Provides a way to opt out of component filtering and return all content regardless of whether each component passes the conditional checks.
Default: `false` |
| ?componentConditions | string | | Added in: [`release-2024-03`](/operations/releases/release-2024-03/)
JSON stringified object which contains the component conditions you would like to apply.
Default: `dateTime: new Date()`
Example: `?componentConditions={"dateTime":"2024-02-14T17:25:10.391Z"}` |
**Response**
_200 OK_ — `/api/2025-11/publications/search?search=Obama`
```json
[
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 1,
"contentType": "article",
"documentType": "article",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "Obama re-elected",
"description": "some lead",
"dependencies": {},
"testDependency": "li-test-dependency.onUpdate is correct"
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "Obama re-elected",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
}
]
```
_200 OK_ — `/api/2025-11/publications/search?categories=sport,fashion&languages=en`
```json
[
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 1,
"contentType": "article",
"documentType": "article",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "Bayern to win Champions League",
"description": "some lead",
"category": {
"id": "sport"
},
"language": {
"locale": "en"
},
"dependencies": {},
"testDependency": "li-test-dependency.onUpdate is correct"
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "Bayern to win Champions League",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
}
]
```
_200 OK_ — `/api/2025-11/publications/search?contentTypes=regular,gallery&limit=10&offset=10`
```json
[
{
"systemdata": {
"projectId": 1,
"channelId": 1,
"documentId": 1,
"contentType": "regular",
"documentType": "article",
"design": {
"name": "timeline",
"version": "1.1.0"
}
},
"metadata": {
"title": "Bayern to win Champions League",
"description": "some lead",
"category": {
"id": "sport"
},
"language": {
"locale": "en"
},
"dependencies": {},
"testDependency": "li-test-dependency.onUpdate is correct"
},
"content": [
{
"id": "doc-1b8i1ksh10",
"component": "head",
"identifier": "timeline.head",
"content": {
"title": "Bayern to win Champions League",
"text": "some lead"
}
},
{
"id": "doc-1b8i1ksh20",
"component": "normal",
"identifier": "timeline.normal",
"content": {
"caption": "my caption"
},
"styles": {
"position": "left"
}
},
{
"id": "doc-1b8i1ksh30",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "first paragraph"
}
},
{
"id": "doc-1b8i1me1d0",
"component": "p",
"identifier": "timeline.p",
"content": {
"text": "second paragraph"
}
}
]
}
]
```
_200 OK_ — `/api/2025-11/publications/search?contentTypes=article&limit=999&fields=id`
```json
[
{
"documentId": 1,
"projectId": 1
},
{
"documentId": 2,
"projectId": 1
}
]
```