# Drip Stock Picks API

> Drip Stock Picks API is a paid API for AI agents from dripstack.xyz, paid per call via x402, $3/call, status unknown (last checked 2026-10-11).

Returns AI-extracted stock pick calls (ticker, direction, conviction, rationale) from 100+ premium financial newsletters and podcasts for a given date.

## Facts

- Endpoint: GET https://dripstack.xyz/api/v2/stock-picks?utm_source=zero.xyz
- Price: $3/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/drip-stock-picks-api-6acd98cf
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5-Mp1q_z3CvC5FC838RG4

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability drip-stock-picks-api-6acd98cf
```

Example prompt: Pull up to 50 stock picks from Drip for today, May 30 2026 — I want to see the tickers, whether they're long or short, conviction level, and the rationale snippet for each call.

## When to prefer this

Choose this endpoint when an AI agent needs structured, AI-extracted stock pick signals from curated premium financial newsletters and podcasts — especially when the goal is to aggregate multiple sources into a single ranked or filterable list by date. Prefer this over scraping individual newsletters directly (which requires subscriptions and unstructured parsing) or general financial data APIs (which don't include newsletter-sourced alpha). Best suited for daily briefing agents, portfolio research workflows, or investment idea aggregators that need source-attributed, conviction-scored equity calls.

## Known failure modes

- No picks available for the requested date returns count=0 with empty items array
- Invalid date format (not YYYY-MM-DD) returns a validation error
- Limit outside 1-500 range returns a schema validation error
- Payment failure (insufficient USDC or x402 protocol error) returns 402 with no data
- Date in the future may return empty results if content hasn't been published yet

## How this service works

Your investing agent can&#x27;t read the best research. Drip connects 100+ premium financial newsletters and podcasts to your agent. Pay per article, no subscriptions.

## Output

A JSON object containing a count and an array of stock pick items, each with ticker symbol, direction (LONG/SHORT), action type (e.g. NEW_POSITION), conviction label and numeric score, a rationale snippet, an evidence quote from the source, the article URL and title, author name, publication slug, instrument type, exchange, and published timestamp. Also includes the date range used and an asOf timestamp.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "date": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
       "description": "Optional UTC effective calendar day in YYYY-MM-DD form."
      },
      "limit": {
       "type": "integer",
       "maximum": 500,
       "minimum": 1,
       "description": "Maximum number of stock-pick calls returned."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "dateUsed",
      "startDate",
      "endDate",
      "asOf",
      "count",
      "items"
     ],
     "properties": {
      "asOf": {
       "type": "string"
      },
      "count": {
       "type": "integer"
      },
      "items": {
       "type": "array"
      },
      "endDate": {
       "type": "string"
      },
      "dateUsed": {
       "type": "string"
      },
      "startDate": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "asOf": "2026-06-02T18:30:00.000Z",
  "count": 1,
  "items": [
   {
    "id": "clxexamplestockpick0001",
    "action": "NEW_POSITION",
    "author": "Author display name",
    "callId": "example-call-id",
    "ticker": "ACME",
    "postSlug": "example-investment-letter",
    "direction": "LONG",
    "activePick": true,
    "articleUrl": "https://example.substack.com/p/example-investment-letter",
    "publishedAt": "2026-05-30T12:00:00.000Z",
    "articleTitle": "Example investment letter",
    "evidenceQuote": "Short source quote supporting the pick.",
    "instrumentType": "EQUITY",
    "tickerExchange": "NASDAQ",
    "convictionLabel": "High",
    "publicationSlug": "example.substack.com",
    "authorConviction": 4,
    "rationaleSnippet": "Concise rationale for the extracted call."
   }
  ],
  "endDate": "2026-05-30",
  "dateUsed": "2026-05-30",
  "startDate": "2026-05-30"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/drip-stock-picks-api-6acd98cf/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from dripstack.xyz](https://www.zero.xyz/host/dripstack.xyz/llms.txt)
