> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dripstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Articles by Ticker

> Find newsletter and podcast articles that mention a specific stock ticker.

Use `GET /api/v1/entities/search` with a `ticker` to find curated indexed
articles that mention a stock symbol — useful for answering "what did analysts
say about \$TICKER this week?" without scanning topic search results by hand.
Limited to enabled publications curated for chat. Free, no auth required.

## Request

The endpoint requires at least one of `ticker`, `company`, `person`,
`organization`, `subject`, or `author`. Multiple entity inputs are matched
as alternatives; `author` and the other filters narrow the results.

```bash theme={null}
curl "https://dripstack.com/api/v1/entities/search?ticker=AAPL&limit=5"
```

| Parameter | Required | Description |
| - | - | - |
| `ticker` | one of | Stock ticker, 1-8 characters (letters/numbers/`.`/`-`) |
| `author` | one of | Source article author, minimum 2 characters, matched as a case-insensitive substring |
| `stockPicksOnly` | optional | `true` or `false` (default); only return articles linked to a stock pick when true |
| `sort` | optional | `latest` (default) or `earliest`, ordered by publication date |
| `publicationSlug` | optional | Restrict results to one publication |
| `publishedAfter` / `publishedBefore` | optional | `YYYY-MM-DD`, inclusive UTC calendar day bounds |
| `limit` | optional | 1-30, defaults to 10 |
| `cursor` | optional | Pass the previous response's `nextCursor` to fetch the next page |

Set `sort=earliest` for oldest first. Keep the same filters and sort when
following `nextCursor`. Invalid parameters, reversed date bounds, or an invalid
cursor return `400`.

## Response

```json theme={null}
{
  "query": {
    "ticker": "AAPL",
    "company": null,
    "person": null,
    "organization": null,
    "subject": null,
    "author": null,
    "stockPicksOnly": false,
    "sort": "latest",
    "publicationSlug": null,
    "publishedAfter": null,
    "publishedBefore": null
  },
  "matchedEntity": {
    "kind": "company",
    "name": "Apple",
    "description": "American multinational technology company",
    "companies": [{ "name": "Apple", "ticker": "AAPL" }],
    "tickers": ["AAPL"],
    "matchedVia": ["ticker", "company"]
  },
  "count": 1,
  "nextCursor": null,
  "items": [
    {
      "publicationSlug": "stratechery",
      "slug": "aapl-earnings-recap",
      "title": "Apple's Earnings Recap",
      "author": "Ben Thompson",
      "publishedAt": "2026-08-15T00:00:00.000Z",
      "priceCents": 500,
      "url": "https://stratechery.com/p/aapl-earnings-recap",
      "isPodcast": false
    }
  ]
}
```

Results are sorted by `publishedAt`, most recent first by default (`sort=latest`).
For relevance ranking, use `/api/v1/search`. `priceCents` is the price to unlock the paid post response;
the search itself is free. `isPodcast` is true for podcast episodes — the
paid post response then includes a `transcript` when ready.

## Ticker matching

`ticker` is matched against the tickers Drip has already extracted for each
article, uppercased before comparison. When a company listing is known, the
ticker also resolves a company card (`matchedEntity`) and ORs in that company
name, so articles tagged only as "Apple" are included with `$AAPL`.
`matchedEntity` is `null` when that lookup misses; the raw ticker is still
searched.

With `stockPicksOnly=true`, `ticker` must match a linked stock pick's ticker
exactly (case-insensitive). Ticker-only searches in this mode do not expand
to company-name tags. Additional company, person, organization, or subject
inputs still filter the article's metadata or title.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.