Content

API Enterprise

ORTEX Market Intelligence content — pulses, weekly digests, trader notes, earnings previews, convergence reports and market commentary — as one paginated feed, newest first.

Every row carries the same shape whatever its type, so a client learns one format and filters down to what it wants.

Available Data Points:

  • ID: Stable identifier for the content row. Pass it back as 'id' to retrieve just that row.
  • Content Type: What kind of content this is — a pulse, a digest, a trader note, and so on.
  • Ticker: The primary instrument the content is about, where it has one.
  • Exchange: The venue of the primary instrument, so you can build the full instrument reference.
  • Published At: When the content became visible. The feed is ordered by this, newest first.
  • Topics: The subject areas the content covers, derived from its contents.

The default row is deliberately small

By default each row carries only 'id', 'contentType', 'ticker', 'exchange', 'publishedAt' and 'topics'. The headline, body, provenance, pulse type, theme and identifiers each cost a query or a Markdown render per row, and most callers listing content are building an index rather than reading the articles. Ask for them with 'include' — for example 'include=headline,body' — and request only what you will use.

Selecting one instrument

'ticker' accepts either a bare symbol or the 'EXCHANGE:TICKER' form, where the prefix may be an exchange symbol, a MIC code or an ISO 3166-1 alpha-2 country code — so 'NYSE:F', 'XNYS:F' and 'US:F' all resolve. A bare symbol that trades on more than one venue resolves to the primary listing unless you also pass 'exchange'. Content is matched on both the primary instrument and instruments mentioned in the body, so a query for Ford also returns the digests and commentary that referenced it in passing.

Retrieving a single row

Pass 'id' to return one row. This replaces the separate detail route in the previous API version: the response is the same envelope with a single entry in 'data', and an identifier matching nothing is an empty result rather than an error.

Content types grow over time

'contentType' is an open vocabulary — new types are added as ORTEX publishes new kinds of analysis. Treat an unfamiliar value as a row you can still read rather than an error, and do not hard-code an exhaustive list. Filtering on a type that does not exist returns an empty result rather than failing.

Try it out! You can test the API with the trial key TEST. Simply include it in your request headers; either here, or add the header "Ortex-Api-Key": "TEST" to your http request.

Trial key restrictions: Trial keys may be limited to a specific date range and set of regions. Requests outside the allowed regions or entirely outside the allowed date range are rejected; a date window that partially overlaps the allowed range is trimmed to it, reported in meta.restriction.

Get full access! Get a key at app.ortex.com/apis

Query Params
string

Return only content of this type. The set of types grows over time, so this is an open vocabulary rather than a fixed list — an unrecognized value returns an empty result rather than an error.

string

Disambiguates ticker when the same symbol trades on more than one venue. Redundant if you use the EXCHANGE:TICKER form of ticker. On its own, narrows to content whose primary instrument trades on this exchange.

string
enum
Defaults to json

Response format. "json" (default) or "csv".

Allowed:
integer

Return the single content row with this identifier. Replaces v1's /market_intelligence/content/{id} route — the response is the standard envelope with one row in data, and an unknown identifier is an empty result, not a 404.

string

Comma-separated list of optional fields to add to each row. Valid values: headline, body, provenance, pulse_type, theme, identifiers. Omitted by default because each costs a query or a Markdown render per row, and most callers listing content are building an index rather than reading the articles. Unrecognized names are ignored.

integer

Page number within the paginated result set. Must be >= 1. Defaults to 1.

integer

Number of rows per page. The default and the maximum allowed depend on the API tier; values above the tier maximum are clamped down to it.

string

Return only pulses of this sub-type. Applies to content_type=pulse rows.

string

Free-text search across the headline and body. Supports quoted phrases and -exclusion the way a search engine does. Capped at 100 characters; anything longer is truncated rather than rejected.

string

Return only content at this internal priority level. The value is not published on the row itself, so check the request block of the response to confirm the filter ORTEX applied.

string

Return only content carrying this theme. Applies to digests and market commentary.

string

Narrow the result to a single instrument, matched on ticker (case-insensitive). Surrounding whitespace is ignored. A ticker matching no active instrument returns 404 instrumentNotFound. Endpoints that take an instrument from the URL path do not accept this parameter — see each endpoint's own description for what it means there.

string

Comma-separated topic slugs. Rows matching any requested topic are returned, so topics=short_interest,options reads as 'short interest or options'. A value naming no known topic returns an empty result rather than silently widening the response.

Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/csv