# Quote schema (/docs/schema/quote) The unified SocialCrawl financial quote schema. Every field, its type, per-platform availability, and a machine-readable JSON Schema, generated from the canonical Zod source. Every SocialCrawl endpoint that returns a financial quote gives you this exact shape, whatever the source platform. Write your parser once and the same code reads quote data from every platform below. That is the unified schema: one contract instead of a dozen raw upstream formats. ## Field reference | Field | Type | Nullable | Description | | ----- | ---- | -------- | ----------- | | `id` | `string` | No | Instrument identifier: re-feed into /v1/finance/quote ("GOOGL:NASDAQ" \| ".INX:INDEXSP" \| "EUR-USD") | | `ticker` | `string` | Yes | Ticker symbol (null for forex/crypto asset pairs) | | `exchange` | `string` | Yes | Primary exchange / market identifier | | `name` | `string` | Yes | Display name (e.g. 'Alphabet Inc Class A') | | `type` | `string` | No | Instrument class: stock \| etf \| index \| crypto \| forex \| futures \| fund \| unknown | | `url` | `string` | Yes | | | `currency` | `string` | Yes | Price currency (null for asset pairs) | | `pair.base_symbol` | `string` | Yes | | | `pair.quote_symbol` | `string` | Yes | | | `pair.base_display_name` | `string` | Yes | | | `pair.quote_display_name` | `string` | Yes | | | `price.current` | `integer` | Yes | | | `price.previous_close` | `integer` | Yes | | | `price.delta` | `integer` | Yes | | | `price.percentage_delta` | `integer` | Yes | | | `price.trend` | `string` | Yes | | | `price.day_low` | `integer` | Yes | | | `price.day_high` | `integer` | Yes | | | `price.year_low` | `integer` | Yes | | | `price.year_high` | `integer` | Yes | | | `price.timestamp` | `string` | Yes | | | `metrics.market_cap` | `integer` | Yes | | | `metrics.volume` | `integer` | Yes | | | `metrics.avg_volume` | `integer` | Yes | | | `metrics.pe_ratio` | `integer` | Yes | | | `metrics.dividend_yield` | `integer` | Yes | | | `metrics.ytd_return` | `integer` | Yes | | | `metrics.expense_ratio` | `integer` | Yes | | | `metrics.net_assets` | `integer` | Yes | | | `metrics.yield` | `integer` | Yes | | | `metrics.open_interest` | `integer` | Yes | | | `metrics.category` | `string` | Yes | | | `metrics.metrics_currency` | `string` | Yes | | | `about.description` | `string` | Yes | | | `about.description_source_url` | `string` | Yes | | | `about.ceo` | `string` | Yes | | | `about.founded` | `string` | Yes | | | `about.headquarters` | `string` | Yes | | | `about.website` | `string` | Yes | | | `about.employees` | `integer` | Yes | | | `graph` | `object[]` | Yes | Intraday price series (\{ timestamp, value, volume \}) | | `financials.quarterly` | `string[]` | Yes | | | `financials.annual` | `string[]` | Yes | | | `peers` | `object[]` | Yes | Related instruments (compare_to) | ## Platform availability 1 platform returns the `Quote` shape. `id`, `type` are never null on any platform. The fields below vary: **yes** means the platform populates it (the value may still be null); a blank means the platform never provides it, so it is always null.