Polygon · Arazzo Workflow

Polygon Stock Research

Version 1.0.0

Resolve a stock ticker's reference details, pull its aggregate bars, and read its previous close.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub FinanceFintechMarket DataStocksOptionsForexCryptoIndicesFuturesWebSocketsReal-TimeHistoricalPublic APIsArazzoWorkflows

Provider

polygon

Workflows

stock-research
Look up a stock ticker's details, aggregate bars, and previous close.
Confirms the ticker via the reference API, then chains the stock aggregate-bars and previous-close endpoints to build a compact research snapshot for the symbol.
3 steps inputs: from, multiplier, ticker, timespan, to outputs: bars, name, previousClose, primaryExchange
1
resolveTicker
Resolve detailed reference information for the ticker to confirm it exists and capture its name and primary exchange.
2
getAggregates
Retrieve aggregate bars for the ticker over the requested date range in the requested custom time window.
3
getPreviousClose
Read the previous trading day's open, close, high, and low for the ticker to anchor the aggregate data against the latest session.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Polygon Stock Research
  summary: Resolve a stock ticker's reference details, pull its aggregate bars, and read its previous close.
  description: >-
    A foundational equity research flow for a single US stock. The workflow
    first confirms the ticker exists and resolves its reference metadata
    (name, primary exchange, market cap), then retrieves custom-window
    aggregate bars over a date range, and finally reads the most recent
    completed trading session via the previous-close endpoint. Every step
    spells out its request inline so the flow can be read and executed
    without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: aggregatesApi
  url: ../openapi/polygon-aggregates-api-openapi.yml
  type: openapi
- name: dailybarsApi
  url: ../openapi/polygon-dailybars-api-openapi.yml
  type: openapi
- name: tickersApi
  url: ../openapi/polygon-tickers-api-openapi.yml
  type: openapi
workflows:
- workflowId: stock-research
  summary: Look up a stock ticker's details, aggregate bars, and previous close.
  description: >-
    Confirms the ticker via the reference API, then chains the stock
    aggregate-bars and previous-close endpoints to build a compact research
    snapshot for the symbol.
  inputs:
    type: object
    required:
    - ticker
    - multiplier
    - timespan
    - from
    - to
    properties:
      ticker:
        type: string
        description: Case-sensitive stock ticker symbol (e.g. AAPL).
      multiplier:
        type: integer
        description: Size of the timespan multiplier for the aggregate window.
      timespan:
        type: string
        description: Aggregate window size (second, minute, hour, day, week, month, quarter, year).
      from:
        type: string
        description: Start of the aggregate window (YYYY-MM-DD or millisecond timestamp).
      to:
        type: string
        description: End of the aggregate window (YYYY-MM-DD or millisecond timestamp).
  steps:
  - stepId: resolveTicker
    description: >-
      Resolve detailed reference information for the ticker to confirm it
      exists and capture its name and primary exchange.
    operationId: getTickerDetails
    parameters:
    - name: ticker
      in: path
      value: $inputs.ticker
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      name: $response.body#/results/name
      primaryExchange: $response.body#/results/primary_exchange
      market: $response.body#/results/market
  - stepId: getAggregates
    description: >-
      Retrieve aggregate bars for the ticker over the requested date range
      in the requested custom time window.
    operationId: getStocksAggregateBars
    parameters:
    - name: stocksTicker
      in: path
      value: $inputs.ticker
    - name: multiplier
      in: path
      value: $inputs.multiplier
    - name: timespan
      in: path
      value: $inputs.timespan
    - name: from
      in: path
      value: $inputs.from
    - name: to
      in: path
      value: $inputs.to
    - name: adjusted
      in: query
      value: true
    - name: sort
      in: query
      value: asc
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      resultsCount: $response.body#/resultsCount
      bars: $response.body#/results
  - stepId: getPreviousClose
    description: >-
      Read the previous trading day's open, close, high, and low for the
      ticker to anchor the aggregate data against the latest session.
    operationId: getStocksPreviousClose
    parameters:
    - name: stocksTicker
      in: path
      value: $inputs.ticker
    - name: adjusted
      in: query
      value: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      previousClose: $response.body#/results/0/c
      previousVolume: $response.body#/results/0/v
  outputs:
    name: $steps.resolveTicker.outputs.name
    primaryExchange: $steps.resolveTicker.outputs.primaryExchange
    bars: $steps.getAggregates.outputs.bars
    previousClose: $steps.getPreviousClose.outputs.previousClose

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/polygon-stock-research-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.