MarketAux Entities API

Entity statistics, trending entities, entity search, and entity metadata.

Operations 6

GET /v1/entity/stats/intraday Entity stats (time series) #
GET /v1/entity/stats/aggregation Entity stats (aggregation) #
GET /v1/entity/trending/aggregation Trending entities #
GET /v1/entity/search Entity search #
GET /v1/entity/type/list Entity type list #
GET /v1/entity/industry/list Industry list #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/marketaux-entities-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

marketaux-entities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Marketaux Entities API
  description: Global financial and stock market news API. Generate news feeds filtered by entity symbol, type, exchange, industry, country and more, with per-entity sentiment and match scores. Covers 5,000+ news sources globally in 30+ languages, tracking 200,000+ entities across 80+ markets. Also provides entity statistics (time series and aggregations) and trending-entity endpoints for charting the best and worst performing entities in the news.
  version: v1
  termsOfService: https://www.marketaux.com/tos
  contact:
    url: https://www.marketaux.com/contact
servers:
- url: https://api.marketaux.com
security:
- apiToken: []
tags:
- name: Entities
  description: Entity statistics, trending entities, entity search, and entity metadata.
paths:
  /v1/entity/stats/intraday:
    get:
      operationId: getEntityStatsIntraday
      tags:
      - Entities
      summary: Entity stats (time series)
      description: Get an intraday view of how well entities performed over different intervals. Find the best or worst performing entities broken down to every minute, hour, day, week, month, quarter or year. Useful for comparing entities and creating graphs and charts. Available on Standard plans and above.
      parameters:
      - name: interval
        in: query
        description: 'The interval of the time series. Maximum time frame per interval (from the published_before date): minute = 7 days, hour = 1 month, day = 3 years, week = 5 years, month = 5 years, quarter = 10 years, year = 10 years. If the time frame is exceeded the maximum is applied without error.'
        schema:
          type: string
          enum:
          - minute
          - hour
          - day
          - week
          - month
          - quarter
          - year
          default: day
      - $ref: '#/components/parameters/groupBy'
      - $ref: '#/components/parameters/minDocCount'
      - $ref: '#/components/parameters/symbols'
      - $ref: '#/components/parameters/entityTypes'
      - $ref: '#/components/parameters/industries'
      - $ref: '#/components/parameters/countries'
      - $ref: '#/components/parameters/sentimentAvgGte'
      - $ref: '#/components/parameters/sentimentAvgLte'
      - $ref: '#/components/parameters/sentimentGte'
      - $ref: '#/components/parameters/sentimentLte'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/domains'
      - $ref: '#/components/parameters/excludeDomains'
      - $ref: '#/components/parameters/sourceIds'
      - $ref: '#/components/parameters/excludeSourceIds'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/publishedBefore'
      - $ref: '#/components/parameters/publishedAfter'
      - $ref: '#/components/parameters/publishedOn'
      - $ref: '#/components/parameters/statsSort'
      - $ref: '#/components/parameters/statsSortOrder'
      - name: date_order
        in: query
        description: Ordering of the date keys. Default desc.
        schema:
          type: string
          enum:
          - desc
          - asc
          default: desc
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Time-series buckets of entity document counts and average sentiment.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/EntityStatsBucket'
        '400':
          $ref: '#/components/responses/MalformedParameters'
        '401':
          $ref: '#/components/responses/InvalidApiToken'
        '402':
          $ref: '#/components/responses/UsageLimitReached'
        '403':
          $ref: '#/components/responses/EndpointAccessRestricted'
        '429':
          $ref: '#/components/responses/RateLimitReached'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          $ref: '#/components/responses/MaintenanceMode'
  /v1/entity/stats/aggregation:
    get:
      operationId: getEntityStatsAggregation
      tags:
      - Entities
      summary: Entity stats (aggregation)
      description: Similar to the entity stats time series endpoint, this returns an aggregation of entities for a single time frame rather than being broken down by date. Useful to find the best or worst performing stocks. Available on Standard plans and above.
      parameters:
      - $ref: '#/components/parameters/groupBy'
      - $ref: '#/components/parameters/minDocCount'
      - $ref: '#/components/parameters/symbols'
      - $ref: '#/components/parameters/entityTypes'
      - $ref: '#/components/parameters/industries'
      - $ref: '#/components/parameters/countries'
      - $ref: '#/components/parameters/sentimentAvgGte'
      - $ref: '#/components/parameters/sentimentAvgLte'
      - $ref: '#/components/parameters/sentimentGte'
      - $ref: '#/components/parameters/sentimentLte'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/domains'
      - $ref: '#/components/parameters/excludeDomains'
      - $ref: '#/components/parameters/sourceIds'
      - $ref: '#/components/parameters/excludeSourceIds'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/publishedBefore'
      - $ref: '#/components/parameters/publishedAfter'
      - $ref: '#/components/parameters/publishedOn'
      - $ref: '#/components/parameters/statsSort'
      - $ref: '#/components/parameters/statsSortOrder'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Aggregated entity document counts and average sentiment for a single time frame.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/AggregationMeta'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/EntityAggregation'
        '400':
          $ref: '#/components/responses/MalformedParameters'
        '401':
          $ref: '#/components/responses/InvalidApiToken'
        '402':
          $ref: '#/components/responses/UsageLimitReached'
        '403':
          $ref: '#/components/responses/EndpointAccessRestricted'
        '429':
          $ref: '#/components/responses/RateLimitReached'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          $ref: '#/components/responses/MaintenanceMode'
  /v1/entity/trending/aggregation:
    get:
      operationId: getTrendingEntities
      tags:
      - Entities
      summary: Trending entities
      description: Identify trending entities. Filter by time frame and more; e.g. find which stocks were trending on a specific day, within the past 24 hours, past 7 days, etc. Available on Standard plans and above.
      parameters:
      - $ref: '#/components/parameters/groupBy'
      - $ref: '#/components/parameters/minDocCount'
      - $ref: '#/components/parameters/symbols'
      - $ref: '#/components/parameters/entityTypes'
      - $ref: '#/components/parameters/industries'
      - $ref: '#/components/parameters/countries'
      - $ref: '#/components/parameters/sentimentAvgGte'
      - $ref: '#/components/parameters/sentimentAvgLte'
      - $ref: '#/components/parameters/sentimentGte'
      - $ref: '#/components/parameters/sentimentLte'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/domains'
      - $ref: '#/components/parameters/excludeDomains'
      - $ref: '#/components/parameters/sourceIds'
      - $ref: '#/components/parameters/excludeSourceIds'
      - $ref: '#/components/parameters/language'
      - $ref: '#/components/parameters/publishedBefore'
      - $ref: '#/components/parameters/publishedAfter'
      - $ref: '#/components/parameters/publishedOn'
      - $ref: '#/components/parameters/statsSort'
      - $ref: '#/components/parameters/statsSortOrder'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Trending entities with document counts, average sentiment, and trending score.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/AggregationMeta'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/TrendingEntity'
        '400':
          $ref: '#/components/responses/MalformedParameters'
        '401':
          $ref: '#/components/responses/InvalidApiToken'
        '402':
          $ref: '#/components/responses/UsageLimitReached'
        '403':
          $ref: '#/components/responses/EndpointAccessRestricted'
        '429':
          $ref: '#/components/responses/RateLimitReached'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          $ref: '#/components/responses/MaintenanceMode'
  /v1/entity/search:
    get:
      operationId: searchEntities
      tags:
      - Entities
      summary: Entity search
      description: Search for all entities supported by Marketaux. The limit is 50 for all requests. Available on all plans.
      parameters:
      - name: search
        in: query
        description: Dynamic search function to find entities.
        schema:
          type: string
      - $ref: '#/components/parameters/symbols'
      - name: exchanges
        in: query
        description: Filter results by specific exchanges. Comma separated list.
        schema:
          type: string
      - name: types
        in: query
        description: Filter results by entity types. Comma separated list.
        schema:
          type: string
      - name: industries
        in: query
        description: Filter results by industries. Comma separated list.
        schema:
          type: string
      - name: countries
        in: query
        description: Filter results by ISO 3166-1 two-letter country code of the exchange. Comma separated list.
        schema:
          type: string
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: Matching entities.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/EntitySearchResult'
              example:
                meta:
                  found: 1
                  returned: 1
                  limit: 50
                  page: 1
                data:
                - symbol: TSLA
                  name: Tesla, Inc.
                  type: equity
                  industry: Consumer Cyclical
                  exchange: null
                  exchange_long: null
                  country: us
        '400':
          $ref: '#/components/responses/MalformedParameters'
        '401':
          $ref: '#/components/responses/InvalidApiToken'
        '402':
          $ref: '#/components/responses/UsageLimitReached'
        '429':
          $ref: '#/components/responses/RateLimitReached'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          $ref: '#/components/responses/MaintenanceMode'
  /v1/entity/type/list:
    get:
      operationId: listEntityTypes
      tags:
      - Entities
      summary: Entity type list
      description: Return all supported entity types. Available on all plans.
      responses:
        '200':
          description: Supported entity types.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: string
              example:
                data:
                - equity
                - index
                - etf
                - mutualfund
                - currency
                - cryptocurrency
        '401':
          $ref: '#/components/responses/InvalidApiToken'
        '402':
          $ref: '#/components/responses/UsageLimitReached'
        '429':
          $ref: '#/components/responses/RateLimitReached'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          $ref: '#/components/responses/MaintenanceMode'
  /v1/entity/industry/list:
    get:
      operationId: listEntityIndustries
      tags:
      - Entities
      summary: Industry list
      description: Return all supported entity industries. Available on all plans.
      responses:
        '200':
          description: Supported entity industries.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: string
              example:
                data:
                - Technology
                - Industrials
                - N/A
                - Consumer Cyclical
                - Healthcare
                - Communication Services
                - Financial Services
                - Consumer Defensive
                - Basic Materials
                - Real Estate
                - Energy
                - Utilities
                - Financial
                - Services
                - Consumer Goods
                - Industrial Goods
        '401':
          $ref: '#/components/responses/InvalidApiToken'
        '402':
          $ref: '#/components/responses/UsageLimitReached'
        '429':
          $ref: '#/components/responses/RateLimitReached'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          $ref: '#/components/responses/MaintenanceMode'
components:
  parameters:
    entityTypes:
      name: entity_types
      in: query
      description: 'Specify the type of entities identified within the article. Comma separated. Example: entity_types=index,equity'
      schema:
        type: string
    statsSort:
      name: sort
      in: query
      description: Sort by total_documents or sentiment_avg. Default total_documents.
      schema:
        type: string
        enum:
        - total_documents
        - sentiment_avg
        default: total_documents
    publishedBefore:
      name: published_before
      in: query
      description: 'Find all articles published before the specified date. Supported formats: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y. All dates are UTC.'
      schema:
        type: string
    search:
      name: search
      in: query
      description: 'Full-text search over article body and title. Supports advanced query syntax: + (AND), | (OR), - (negate), quotes (phrase), * (prefix), parentheses (precedence); escape literals with a backslash. Example: "ipo" -nyse'
      schema:
        type: string
    groupBy:
      name: group_by
      in: query
      description: Group results by symbol, exchange, industry or country. Default symbol.
      schema:
        type: string
        enum:
        - symbol
        - exchange
        - industry
        - country
        default: symbol
    excludeDomains:
      name: exclude_domains
      in: query
      description: Comma separated list of domains to exclude.
      schema:
        type: string
    sentimentLte:
      name: sentiment_lte
      in: query
      description: Find all articles with entities with a sentiment_score less than or equal to x.
      schema:
        type: number
        minimum: -1
        maximum: 1
    sentimentAvgGte:
      name: sentiment_avg_gte
      in: query
      description: Refine results to entities with an overall sentiment_avg greater than or equal to x.
      schema:
        type: number
        minimum: -1
        maximum: 1
    industries:
      name: industries
      in: query
      description: 'Specify the industries of entities identified within the article. Comma separated. Example: industries=Technology,Industrials'
      schema:
        type: string
    publishedAfter:
      name: published_after
      in: query
      description: 'Find all articles published after the specified date. Supported formats: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y. All dates are UTC.'
      schema:
        type: string
    domains:
      name: domains
      in: query
      description: 'Comma separated list of domains to include. Obtain domains from the sources endpoint. Example: adweek.com,adage.com'
      schema:
        type: string
    sourceIds:
      name: source_ids
      in: query
      description: 'Comma separated list of source_ids to include. Obtain source_ids from the sources endpoint. Example: adweek.com-1,adage.com-1'
      schema:
        type: string
    language:
      name: language
      in: query
      description: 'Comma separated list of languages to include (e.g. en,es). Default is all. Supported languages: ar, bg, bn, cs, da, de, el, en, es, et, fa, fi, fr, he, hi, hr, hu, id, it, ja, ko, lt, multi, nl, no, pl, pt, ro, ru, sk, sv, ta, th, tr, uk, vi, zh.'
      schema:
        type: string
    statsSortOrder:
      name: sort_order
      in: query
      description: Sort order of the sort parameter. Default desc.
      schema:
        type: string
        enum:
        - desc
        - asc
        default: desc
    minDocCount:
      name: min_doc_count
      in: query
      description: The minimum number of total_documents an entity should be identified within to be returned with the results.
      schema:
        type: integer
    excludeSourceIds:
      name: exclude_source_ids
      in: query
      description: Comma separated list of source_ids to exclude.
      schema:
        type: string
    countries:
      name: countries
      in: query
      description: 'Specify the country of the exchange of which entities have been identified within the article. Comma separated. Example: countries=us,ca'
      schema:
        type: string
    limit:
      name: limit
      in: query
      description: Number of results to return. The maximum limit is based on your plan; the default limit is the maximum specified for your plan.
      schema:
        type: integer
    publishedOn:
      name: published_on
      in: query
      description: 'Find all articles published on the specified date. Supported format: Y-m-d.'
      schema:
        type: string
    sentimentGte:
      name: sentiment_gte
      in: query
      description: Find all articles with entities with a sentiment_score greater than or equal to x. Sentiment is between -1 and +1; 0 = neutral, above 0 = positive, below 0 = negative.
      schema:
        type: number
        minimum: -1
        maximum: 1
    symbols:
      name: symbols
      in: query
      description: 'Specify entity symbol(s) which have been identified within the article. Comma separated. Example: symbols=TSLA,AMZN,MSFT'
      schema:
        type: string
    sentimentAvgLte:
      name: sentiment_avg_lte
      in: query
      description: Refine results to entities with an overall sentiment_avg less than or equal to x.
      schema:
        type: number
        minimum: -1
        maximum: 1
    page:
      name: page
      in: query
      description: Paginate through the result set. Default 1. The max result set cannot exceed 20,000 (e.g. with limit 50 the max page is 400).
      schema:
        type: integer
        default: 1
  responses:
    UsageLimitReached:
      description: 'usage_limit_reached: Usage limit of your plan has been reached. Usage limit and remaining requests can be found on the X-UsageLimit-Limit header.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InvalidApiToken:
      description: 'invalid_api_token: Invalid API token.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: invalid_api_token
              message: An invalid API token was supplied.
    MalformedParameters:
      description: 'malformed_parameters: Validation of parameters failed. The failed parameters are usually shown in the error message.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    MaintenanceMode:
      description: 'maintenance_mode: The service is currently under maintenance.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimitReached:
      description: 'rate_limit_reached: Too many requests in the past 60 seconds. Rate limit and remaining requests can be found on the X-RateLimit-Limit header.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: 'server_error: A server error occurred.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    EndpointAccessRestricted:
      description: 'endpoint_access_restricted: Access to the endpoint is not available on your current subscription plan.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    EntitySearchResult:
      type: object
      description: An entity supported by Marketaux.
      properties:
        symbol:
          type: string
          description: Unique entity symbol (or ticker).
        name:
          type: string
          description: Entity name.
        type:
          type: string
          description: The entity type.
        industry:
          type: string
          description: The entity industry.
        exchange:
          type:
          - string
          - 'null'
          description: The exchange identifier.
        exchange_long:
          type:
          - string
          - 'null'
          description: The exchange name.
        country:
          type: string
          description: The ISO 3166-1 two-letter country code of the exchange locale ('eu' and 'global' are also included).
    AggregationMeta:
      type: object
      description: Metadata returned on aggregation endpoints.
      properties:
        returned:
          type: integer
          description: The number of entities returned.
        limit:
          type: integer
          description: The limit based on the limit parameter.
    PaginationMeta:
      type: object
      description: Pagination metadata returned on list endpoints.
      properties:
        found:
          type: integer
          description: The number of results found for the request.
        returned:
          type: integer
          description: The number of results returned on the page. If lower than limit, there are no more results after this page.
        limit:
          type: integer
          description: The limit based on the limit parameter.
        page:
          type: integer
          description: The page number based on the page parameter.
    TrendingEntity:
      allOf:
      - $ref: '#/components/schemas/EntityAggregation'
      - type: object
        properties:
          score:
            type: number
            description: The relevance score for the trending entity.
      example:
        key: NVDA
        total_documents: 22
        sentiment_avg: 0.436025815253908
        score: 3.7920454395721324
    EntityAggregation:
      type: object
      description: Aggregated document count and sentiment for a grouped key.
      properties:
        key:
          type: string
          description: The key based on the group_by parameter (symbol, exchange, industry or country).
        total_documents:
          type: integer
          description: Total number of documents identified for the key based on the query parameters.
        sentiment_avg:
          type:
          - number
          - 'null'
          description: Average sentiment of the key based on the query parameters.
      example:
        key: TSLA
        total_documents: 14
        sentiment_avg: 0.388841356283852
    EntityStatsBucket:
      type: object
      description: One time-series bucket of entity statistics.
      properties:
        date:
          type: string
          description: Date of the time series data.
        data:
          type: array
          items:
            $ref: '#/components/schemas/EntityAggregation'
      example:
        date: '2024-11-10T00:00:00.000Z'
        data:
        - key: TSLA
          total_documents: 14
          sentiment_avg: 0.388841356283852
    Error:
      type: object
      description: Marketaux error envelope.
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Machine-readable error code.
            message:
              type: string
              description: Human-readable error message.
      example:
        error:
          code: malformed_parameters
          message: The published_before parameter(s) are incorrectly formatted.
  securitySchemes:
    apiToken:
      type: apiKey
      in: query
      name: api_token
      description: Your API token, found on your account dashboard after signing up at https://www.marketaux.com/register. Passed as a GET parameter on every request.
externalDocs:
  description: Marketaux API documentation
  url: https://www.marketaux.com/documentation
x-provenance:
  generated: '2026-07-22'
  method: generated
  source: https://www.marketaux.com/documentation
  note: Marketaux publishes no machine-readable API definition (probes of www.marketaux.com and api.marketaux.com for /openapi.json, /openapi.yaml, /swagger.json, /v1/openapi.json and /api-docs all returned 404 on 2026-07-22). This OpenAPI was generated faithfully from the published HTML API documentation; every path, parameter, response field, and error code below is documented at the source URL. Example values are taken verbatim from the documentation.