Search & Discovery
Full-text search plus lookup endpoints for entities, impact paths, assets, and the filter vocabulary.
Generated page
This page is generated from the published OpenAPI schema. Do not edit it by hand — run npm run generate:api.
GET /v1/search
Search
Searches indexed stories and returns matching articles, page metadata, and entity/tag/impact suggestions.
API key requiredQuery parameters
| Name | Required | Description | Example |
|---|---|---|---|
q | yes | Search query. Alias: query. | Federal Reserve |
page | no | Page number, starting at 1. | 1 |
page_size | no | Stories per page. Alias: limit. Maximum 100. | 50 |
cursor | no | Opaque cursor returned as page.next_cursor for the next page. | eyJvZmZzZXQiOjUwfQ |
offset | no | Zero-based offset. Ignored when cursor is supplied. | 100 |
fields | no | Comma-separated response fields to return. The id field is always included when present. | id,title,publishedAt,impactPaths |
include | no | Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields. | sources,claims |
sort | no | Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity. | popular |
country | no | G20 country filter from the story passive entities. | Japan |
category | no | Normalized Neural Ledger story category. | Trading & Markets |
entity | no | Passive entity text or id filter. | Federal Reserve |
impact_path | no | Impact path text, id, or lookup token filter. | oil |
tag | no | Normalized story tag filter. | tariff |
published_since | no | Return stories published at or after this ISO date/time. | 2026-05-01T00:00:00Z |
published_until | no | Return stories published at or before this ISO date/time. | 2026-05-31T23:59:59Z |
updated_since | no | Return stories updated at or after this ISO date/time. | 2026-05-01T00:00:00Z |
updated_until | no | Return stories updated at or before this ISO date/time. | 2026-05-31T23:59:59Z |
Example
curl -sS "https://theneuralledger.com/v1/search?q=Federal%20Reserve&page=1&page_size=50" \
-H "Authorization: Bearer $TNL_API_KEY"Responses
| Status | Meaning |
|---|---|
200 | Successful response. |
401 | Missing or invalid API key. |
429 | Monthly API call limit exceeded. |
GET /v1/entities
Entity lookup
Returns passive entities seen in stories with match counts.
API key requiredQuery parameters
| Name | Required | Description | Example |
|---|---|---|---|
q | no | Lookup query. Alias: query. | copper |
limit | no | Maximum lookup results. Maximum 50. | 20 |
Example
curl -sS "https://theneuralledger.com/v1/entities?q=copper&limit=20" \
-H "Authorization: Bearer $TNL_API_KEY"Responses
| Status | Meaning |
|---|---|
200 | Successful response. |
401 | Missing or invalid API key. |
429 | Monthly API call limit exceeded. |
GET /v1/entities/{idOrSlug}/stories
Entity stories
Returns stories that mention the supplied entity id, value, or label.
API key requiredPath parameters
| Name | Required | Description | Example |
|---|---|---|---|
idOrSlug | yes | Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint. | — |
Query parameters
| Name | Required | Description | Example |
|---|---|---|---|
page | no | Page number, starting at 1. | 1 |
page_size | no | Stories per page. Alias: limit. Maximum 100. | 50 |
cursor | no | Opaque cursor returned as page.next_cursor for the next page. | eyJvZmZzZXQiOjUwfQ |
offset | no | Zero-based offset. Ignored when cursor is supplied. | 100 |
fields | no | Comma-separated response fields to return. The id field is always included when present. | id,title,publishedAt,impactPaths |
include | no | Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields. | sources,claims |
sort | no | Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity. | popular |
country | no | G20 country filter from the story passive entities. | Japan |
category | no | Normalized Neural Ledger story category. | Trading & Markets |
impact_path | no | Impact path text, id, or lookup token filter. | oil |
tag | no | Normalized story tag filter. | tariff |
q | no | Full-text query across titles, summaries, entities, tags, and impact paths. | tariff |
published_since | no | Return stories published at or after this ISO date/time. | 2026-05-01T00:00:00Z |
published_until | no | Return stories published at or before this ISO date/time. | 2026-05-31T23:59:59Z |
updated_since | no | Return stories updated at or after this ISO date/time. | 2026-05-01T00:00:00Z |
updated_until | no | Return stories updated at or before this ISO date/time. | 2026-05-31T23:59:59Z |
Example
curl -sS "https://theneuralledger.com/v1/entities/example-slug/stories?page=1&page_size=50&cursor=eyJvZmZzZXQiOjUwfQ" \
-H "Authorization: Bearer $TNL_API_KEY"Responses
| Status | Meaning |
|---|---|
200 | Successful response. |
401 | Missing or invalid API key. |
429 | Monthly API call limit exceeded. |
GET /v1/impact-paths
Impact path lookup
Returns impact paths seen in stories with match counts.
API key requiredQuery parameters
| Name | Required | Description | Example |
|---|---|---|---|
q | no | Lookup query. Alias: query. | copper |
limit | no | Maximum lookup results. Maximum 50. | 20 |
Example
curl -sS "https://theneuralledger.com/v1/impact-paths?q=copper&limit=20" \
-H "Authorization: Bearer $TNL_API_KEY"Responses
| Status | Meaning |
|---|---|
200 | Successful response. |
401 | Missing or invalid API key. |
429 | Monthly API call limit exceeded. |
GET /v1/impact-paths/{idOrSlug}/stories
Impact path stories
Returns stories linked to the supplied impact path id, token, or label.
API key requiredPath parameters
| Name | Required | Description | Example |
|---|---|---|---|
idOrSlug | yes | Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint. | — |
Query parameters
| Name | Required | Description | Example |
|---|---|---|---|
page | no | Page number, starting at 1. | 1 |
page_size | no | Stories per page. Alias: limit. Maximum 100. | 50 |
cursor | no | Opaque cursor returned as page.next_cursor for the next page. | eyJvZmZzZXQiOjUwfQ |
offset | no | Zero-based offset. Ignored when cursor is supplied. | 100 |
fields | no | Comma-separated response fields to return. The id field is always included when present. | id,title,publishedAt,impactPaths |
include | no | Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields. | sources,claims |
sort | no | Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity. | popular |
country | no | G20 country filter from the story passive entities. | Japan |
category | no | Normalized Neural Ledger story category. | Trading & Markets |
entity | no | Passive entity text or id filter. | Federal Reserve |
tag | no | Normalized story tag filter. | tariff |
q | no | Full-text query across titles, summaries, entities, tags, and impact paths. | tariff |
published_since | no | Return stories published at or after this ISO date/time. | 2026-05-01T00:00:00Z |
published_until | no | Return stories published at or before this ISO date/time. | 2026-05-31T23:59:59Z |
updated_since | no | Return stories updated at or after this ISO date/time. | 2026-05-01T00:00:00Z |
updated_until | no | Return stories updated at or before this ISO date/time. | 2026-05-31T23:59:59Z |
Example
curl -sS "https://theneuralledger.com/v1/impact-paths/example-slug/stories?page=1&page_size=50&cursor=eyJvZmZzZXQiOjUwfQ" \
-H "Authorization: Bearer $TNL_API_KEY"Responses
| Status | Meaning |
|---|---|
200 | Successful response. |
401 | Missing or invalid API key. |
429 | Monthly API call limit exceeded. |
GET /v1/assets/{idOrSlug}/stories
Asset stories
Returns stories linked to an asset ticker or asset impact path.
API key requiredPath parameters
| Name | Required | Description | Example |
|---|---|---|---|
idOrSlug | yes | Story id, title slug, entity value, impact path value, ticker, or saved-search id depending on the endpoint. | — |
Query parameters
| Name | Required | Description | Example |
|---|---|---|---|
page | no | Page number, starting at 1. | 1 |
page_size | no | Stories per page. Alias: limit. Maximum 100. | 50 |
cursor | no | Opaque cursor returned as page.next_cursor for the next page. | eyJvZmZzZXQiOjUwfQ |
offset | no | Zero-based offset. Ignored when cursor is supplied. | 100 |
fields | no | Comma-separated response fields to return. The id field is always included when present. | id,title,publishedAt,impactPaths |
include | no | Comma-separated detail groups. Use full for all fields, or sources,claims,impactDetails,body for selected heavy fields. | sources,claims |
sort | no | Feed order: pipeline for newest stories or popular for 12-hour freshness-bucketed popularity. | popular |
country | no | G20 country filter from the story passive entities. | Japan |
category | no | Normalized Neural Ledger story category. | Trading & Markets |
entity | no | Passive entity text or id filter. | Federal Reserve |
tag | no | Normalized story tag filter. | tariff |
q | no | Full-text query across titles, summaries, entities, tags, and impact paths. | tariff |
published_since | no | Return stories published at or after this ISO date/time. | 2026-05-01T00:00:00Z |
published_until | no | Return stories published at or before this ISO date/time. | 2026-05-31T23:59:59Z |
updated_since | no | Return stories updated at or after this ISO date/time. | 2026-05-01T00:00:00Z |
updated_until | no | Return stories updated at or before this ISO date/time. | 2026-05-31T23:59:59Z |
Example
curl -sS "https://theneuralledger.com/v1/assets/example-slug/stories?page=1&page_size=50&cursor=eyJvZmZzZXQiOjUwfQ" \
-H "Authorization: Bearer $TNL_API_KEY"Responses
| Status | Meaning |
|---|---|
200 | Successful response. |
401 | Missing or invalid API key. |
429 | Monthly API call limit exceeded. |
GET /v1/filters
Available filters
Returns categories and G20 countries currently available in stored stories.
API key requiredExample
curl -sS "https://theneuralledger.com/v1/filters" \
-H "Authorization: Bearer $TNL_API_KEY"Responses
| Status | Meaning |
|---|---|
200 | Successful response. |
401 | Missing or invalid API key. |
429 | Monthly API call limit exceeded. |