Electra.aero News API

Electra newsroom and in-the-news entries.

Operations 2

GET /collections/news/entries List news entries #
GET /collections/news/entries/{id} Get a single news entry #

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/electra.aero-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

electra.aero-news-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Electra.aero Content API () News API
  version: 1.0.0
  summary: Public, unauthenticated read-only JSON API serving the Electra newsroom.
  description: 'Electra.aero publishes no developer program and no API reference. This document was DERIVED FROM LIVE PROBES of the Statamic Content REST API that electra.aero serves at https://electra.aero/api on 2026-08-12. Every path, parameter, status code and response field below was observed on an anonymous request — nothing here is inferred from the Statamic product documentation and nothing was invented.

    Only the `news` collection is exposed. Probes of /api/collections/{videos,team,pages, careers,blog}/entries, /api/globals, /api/forms, /api/users, /api/assets/{container}, /api/navs/{nav}/tree and /api/taxonomies/{taxonomy}/terms all returned 404 {"message":"Not found."}, so they are deliberately omitted rather than documented speculatively. Filtering via filter[...] is rejected with 422 {"message":"Forbidden filter: <field>"}.

    This is an undocumented CMS content surface, not a product API. It is nonetheless real, anonymous, CORS-open (access-control-allow-origin: *) and machine-readable.'
  contact:
    name: Electra.aero
    url: https://electra.aero/contact
  x-provenance:
    method: probed
    generated: '2026-08-12'
    probed: '2026-08-12'
    probed_by: API Evangelist enrichment pipeline (local-v1)
    provider_published_spec: false
    note: Electra.aero does not publish this specification. API Evangelist authored it from observed responses so the surface is machine-readable; it is a description of observed behavior, not a provider contract, and carries no stability guarantee.
servers:
- url: https://electra.aero/api
  description: Production content API (observed 2026-08-12)
security: []
tags:
- name: news
  description: Electra newsroom and in-the-news entries.
paths:
  /collections/news/entries:
    get:
      operationId: listNewsEntries
      summary: List news entries
      description: Returns a paginated list of published Electra news entries. Observed 124 total entries on 2026-08-12. Anonymous request, HTTP 200, content-type application/json.
      tags:
      - news
      security: []
      parameters:
      - name: limit
        in: query
        description: Entries per page. Observed honored (limit=1 and limit=2 both returned exactly that many entries and recalculated meta.last_page).
        required: false
        schema:
          type: integer
          minimum: 1
        example: 25
      - name: page
        in: query
        description: 1-indexed page number. Reflected in meta.current_page and the links object.
        required: false
        schema:
          type: integer
          minimum: 1
        example: 1
      - name: fields
        in: query
        description: Comma-separated sparse fieldset. Observed - `fields=title,slug` returned entry objects containing only `title` and `slug`.
        required: false
        schema:
          type: string
        example: title,slug,date,permalink
      - name: sort
        in: query
        description: Comma-separated sort fields; a leading `-` reverses. Observed - `sort=-date` returned the most recent entry first.
        required: false
        schema:
          type: string
        example: -date
      responses:
        '200':
          description: A page of news entries.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntryCollection'
        '422':
          description: 'Returned when an unpermitted query filter is supplied. Observed on `?filter[featured:is]=true` with body {"message":"Forbidden filter: featured"}.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: 'Forbidden filter: featured'
  /collections/news/entries/{id}:
    get:
      operationId: getNewsEntry
      summary: Get a single news entry
      description: Returns one news entry by its Statamic UUID. Observed HTTP 200 for a known id.
      tags:
      - news
      security: []
      parameters:
      - name: id
        in: path
        required: true
        description: Entry UUID, as returned in `data[].id` from listNewsEntries.
        schema:
          type: string
          format: uuid
        example: fc720a14-7b91-4222-955b-f6515d87ebff
      responses:
        '200':
          description: The news entry.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Entry'
                required:
                - data
        '404':
          description: No entry with that id. Observed body {"message":"Not found."} — a bare message envelope, not RFC 9457 application/problem+json.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: Not found.
components:
  schemas:
    Error:
      type: object
      description: Flat error envelope observed on 404 and 422. Not RFC 9457 — content-type is application/json and the body carries a single `message` string.
      properties:
        message:
          type: string
      required:
      - message
    PaginationLinks:
      type: object
      properties:
        first:
          type:
          - string
          - 'null'
          format: uri
        last:
          type:
          - string
          - 'null'
          format: uri
        prev:
          type:
          - string
          - 'null'
          format: uri
        next:
          type:
          - string
          - 'null'
          format: uri
    Handle:
      type: object
      properties:
        title:
          type: string
        handle:
          type: string
    PaginationMeta:
      type: object
      properties:
        current_page:
          type: integer
        from:
          type:
          - integer
          - 'null'
        to:
          type:
          - integer
          - 'null'
        last_page:
          type: integer
        per_page:
          type: integer
        total:
          type: integer
          description: Observed 124 on 2026-08-12.
        path:
          type: string
          format: uri
        links:
          type: array
          description: Rendered pager links (url, label, page, active).
          items:
            type: object
            properties:
              url:
                type:
                - string
                - 'null'
                format: uri
              label:
                type: string
              page:
                type:
                - integer
                - 'null'
              active:
                type: boolean
    Entry:
      type: object
      description: Field set observed verbatim on a news entry. Values may be null where the editor left the field empty (observed on mount, order, origin_id, source_title, updated_by).
      properties:
        id:
          type: string
          format: uuid
        api_url:
          type: string
          format: uri
          description: Self link into this API.
        edit_url:
          type: string
          format: uri
          description: Statamic control-panel URL (requires provider login).
        permalink:
          type: string
          format: uri
        url:
          type: string
          description: Site-relative path.
        uri:
          type: string
          description: Site-relative path.
        slug:
          type: string
        title:
          type: string
        summary:
          type:
          - string
          - 'null'
        body_text:
          type: array
          description: Structured body blocks; observed empty for syndicated in-the-news entries.
          items:
            type: object
        date:
          type: string
          format: date-time
        last_modified:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        updated_by:
          type:
          - object
          - 'null'
        status:
          type: string
          examples:
          - published
        published:
          type: boolean
        private:
          type: boolean
        featured:
          type: boolean
        featured_image:
          type:
          - object
          - 'null'
          description: Asset reference object.
        source_title:
          type:
          - string
          - 'null'
          description: Outlet name for syndicated coverage.
        source_url:
          type:
          - string
          - 'null'
          format: uri
          description: Original article URL for syndicated coverage.
        collection:
          $ref: '#/components/schemas/Handle'
        blueprint:
          $ref: '#/components/schemas/Handle'
        locale:
          type: string
          examples:
          - default
        is_entry:
          type: boolean
        mount:
          type:
          - string
          - 'null'
        order:
          type:
          - integer
          - 'null'
        origin_id:
          type:
          - string
          - 'null'
        seo:
          type: object
          properties:
            enabled:
              type: boolean
      required:
      - id
      - title
      - slug
      - date
      - status
    EntryCollection:
      type: object
      description: Laravel-style paginated envelope observed on the list operation.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Entry'
        links:
          $ref: '#/components/schemas/PaginationLinks'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
      required:
      - data
      - links
      - meta