MarketAux News API

Financial and market news feeds, similar-article lookup, and article retrieval by UUID.

Operations 3

GET /v1/news/all Finance and market news #
GET /v1/news/similar/{uuid} Similar news #
GET /v1/news/uuid/{uuid} News by UUID #

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-news-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-news-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Marketaux News 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: News
  description: Financial and market news feeds, similar-article lookup, and article retrieval by UUID.
paths:
  /v1/news/all:
    get:
      operationId: getAllNews
      tags:
      - News
      summary: Finance and market news
      description: Get all the latest global financial news and filter by entities identified within articles to build concise news feeds. Also provided is analysis of each entity identified in articles. Not every article may have entities identified; use must_have_entities or entity parameters such as symbols or exchanges for more concise results. Available on all plans.
      parameters:
      - $ref: '#/components/parameters/symbols'
      - $ref: '#/components/parameters/entityTypes'
      - $ref: '#/components/parameters/industries'
      - $ref: '#/components/parameters/countries'
      - $ref: '#/components/parameters/sentimentGte'
      - $ref: '#/components/parameters/sentimentLte'
      - name: min_match_score
        in: query
        description: Find all articles with entities with a match_score greater than or equal to min_match_score.
        schema:
          type: number
      - $ref: '#/components/parameters/filterEntities'
      - $ref: '#/components/parameters/mustHaveEntities'
      - $ref: '#/components/parameters/groupSimilar'
      - $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'
      - name: sort
        in: query
        description: Sort by published_on, entity_match_score, entity_sentiment_score or relevance_score (relevance_score only available when used in conjunction with search). Default is published_at unless search is used, in which case relevance_score is used.
        schema:
          type: string
          enum:
          - published_on
          - entity_match_score
          - entity_sentiment_score
          - relevance_score
      - name: sort_order
        in: query
        description: Sort order of the sort parameter. Can only be used with sort = entity_match_score or entity_sentiment_score. Default desc.
        schema:
          type: string
          enum:
          - desc
          - asc
          default: desc
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: News articles matching the query, with identified entities and sentiment analysis.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/NewsArticle'
        '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/news/similar/{uuid}:
    get:
      operationId: getSimilarNews
      tags:
      - News
      summary: Similar news
      description: Find similar stories to a specific article based on its UUID. Available on all plans.
      parameters:
      - $ref: '#/components/parameters/uuidPath'
      - $ref: '#/components/parameters/symbols'
      - $ref: '#/components/parameters/entityTypes'
      - $ref: '#/components/parameters/industries'
      - $ref: '#/components/parameters/countries'
      - $ref: '#/components/parameters/sentimentGte'
      - $ref: '#/components/parameters/sentimentLte'
      - $ref: '#/components/parameters/filterEntities'
      - $ref: '#/components/parameters/mustHaveEntities'
      - $ref: '#/components/parameters/groupSimilar'
      - $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/limit'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: Articles similar to the referenced article, ranked by relevance_score.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/NewsArticle'
        '400':
          $ref: '#/components/responses/MalformedParameters'
        '401':
          $ref: '#/components/responses/InvalidApiToken'
        '402':
          $ref: '#/components/responses/UsageLimitReached'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '429':
          $ref: '#/components/responses/RateLimitReached'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          $ref: '#/components/responses/MaintenanceMode'
  /v1/news/uuid/{uuid}:
    get:
      operationId: getNewsByUuid
      tags:
      - News
      summary: News by UUID
      description: Find a specific article by the UUID returned by the search endpoints. Useful for storing the UUID and returning the article later. Available on all plans.
      parameters:
      - $ref: '#/components/parameters/uuidPath'
      responses:
        '200':
          description: The requested news article.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsArticle'
        '401':
          $ref: '#/components/responses/InvalidApiToken'
        '402':
          $ref: '#/components/responses/UsageLimitReached'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '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
    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
    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
    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
    uuidPath:
      name: uuid
      in: path
      required: true
      description: The unique identifier (UUID) for an article, as returned by the search endpoints.
      schema:
        type: string
        format: uuid
    mustHaveEntities:
      name: must_have_entities
      in: query
      description: Set to true to ensure that at least one entity has been identified within the article. Default false.
      schema:
        type: boolean
        default: false
    excludeSourceIds:
      name: exclude_source_ids
      in: query
      description: Comma separated list of source_ids to exclude.
      schema:
        type: string
    groupSimilar:
      name: group_similar
      in: query
      description: Group similar articles to avoid displaying multiple articles on the same topic/subject. Default true.
      schema:
        type: boolean
        default: true
    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
    filterEntities:
      name: filter_entities
      in: query
      description: By default all entities for each article are returned; set to true to return only the entities relevant to your query with each article. Default false.
      schema:
        type: boolean
        default: false
    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
    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'
    ResourceNotFound:
      description: 'resource_not_found: Resource could not be found (also invalid_api_endpoint when the API route does not exist).'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Highlight:
      type: object
      description: A snippet of article text where an entity was identified.
      properties:
        highlight:
          type: string
          description: Snippet of text from the article where the entity has been identified.
        sentiment:
          type: number
          description: The sentiment of the highlighted text.
        highlighted_in:
          type: string
          enum:
          - title
          - main_text
          description: Where the highlight was found.
    NewsArticle:
      type: object
      description: A news article with identified entities and sentiment analysis.
      properties:
        uuid:
          type: string
          description: The unique identifier for an article in the Marketaux system.
        title:
          type: string
          description: The article title.
        description:
          type: string
          description: The article meta description.
        keywords:
          type: string
          description: The article meta keywords.
        snippet:
          type: string
          description: A short snippet of the article body.
        url:
          type: string
          description: The URL to the article.
        image_url:
          type: string
          description: The URL to the article image.
        language:
          type: string
          description: The language of the source.
        published_at:
          type: string
          description: The datetime the article was published (UTC).
        source:
          type: string
          description: The domain of the source.
        relevance_score:
          type:
          - number
          - 'null'
          description: Relevance score based on the search parameter; null when the search parameter is not used.
        entities:
          type: array
          items:
            $ref: '#/components/schemas/Entity'
        similar:
          type: array
          description: Array of news articles which are very similar to the main article.
          items:
            $ref: '#/components/schemas/NewsArticle'
      example:
        uuid: 70cb577e-c2dd-4dde-b501-f713823a4939
        title: Trump wins 2024, markets surge globally
        description: Global markets experience a significant surge following Trump's victory in the 2024 election.
        keywords: ''
        snippet: Donald Trump has won the 2024 presidential election...
        url: https://www.killerstartups.com/trump-wins-2024-markets-surge-globally/
        image_url: https://images.killerstartups.com/wp-content/uploads/2024/11/Trump-Wins.jpg
        language: en
        published_at: '2024-11-08T01:24:00.000000Z'
        source: killerstartups.com
        relevance_score: null
        entities:
        - symbol: TSLA
          name: Tesla, Inc.
          exchange: null
          exchange_long: null
          country: us
          type: equity
          industry: Consumer Cyclical
          match_score: 12.133104
          sentiment_score: 0.7783
          highlights:
          - highlight: ., majority-owned by Trump, and Tesl[+253 characters]
            sentiment: 0.7783
            highlighted_in: main_text
        similar: []
    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.
    Entity:
      type: object
      description: An entity identified within an article, with match and sentiment scores.
      properties:
        symbol:
          type: string
          description: Symbol of the identified entity.
        name:
          type: string
          description: Name of the identified entity.
        exchange:
          type:
          - string
          - 'null'
          description: Exchange identifier of the identified entity.
        exchange_long:
          type:
          - string
          - 'null'
          description: Exchange name of the identified entity.
        country:
          type: string
          description: Exchange country of the identified entity.
        type:
          type: string
          description: Type of the identified entity (equity, index, etf, mutualfund, currency, cryptocurrency).
        industry:
          type: string
          description: Industry of the identified entity.
        match_score:
          type: number
          description: The overall strength of the matching for the identified entity.
        sentiment_score:
          type: number
          description: Average sentiment of all highlighted text found for the identified entity.
        highlights:
          type: array
          items:
            $ref: '#/components/schemas/Highlight'
    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.