Addis Energy Media API

Public, unauthenticated read access to the media library behind addisenergy.com — site photography, technology diagrams, team headshots and press assets with their generated size variants. Verified live at 73 attachments on 2026-09-07.

Operations 2

GET /wp/v2/media List media #
GET /wp/v2/media/{id} Get a media item #

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/addis-energy-media-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

addis-energy-media-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Addis Energy Media API
  version: wp/v2
  description: Public, unauthenticated read access to the media library behind addisenergy.com — site photography,
    diagrams, team headshots and press assets with their generated size variants (73 attachments at capture) — via
    the WordPress core REST API. Anonymous access is read-only.
  contact:
    name: Addis Energy
    url: https://addisenergy.com/contact/
  x-derived-from: https://addisenergy.com/wp-json/ route index (218 routes across 9 namespaces, captured 2026-09-07)
  x-derived-on: '2026-09-07'
  x-api-evangelist-note: Third-party profile. Addis Energy publishes no developer program, no developer portal and
    no SDKs. This documents the anonymously readable WordPress core REST content API behind addisenergy.com. Every
    path, parameter and error shape here was read from the server's own published route-index document and verified
    against live anonymous responses on 2026-09-07 — nothing is invented.
servers:
- url: https://addisenergy.com/wp-json
  description: Addis Energy WordPress REST API
tags:
- name: Media
  description: Media library attachments and their generated size variants.
paths:
  /wp/v2/media:
    get:
      operationId: listMedia
      summary: List media
      description: Retrieve a paginated collection of media attachments. Total count is returned in `X-WP-Total`.
      tags:
      - Media
      parameters:
      - name: after
        in: query
        description: Limit response to posts published after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: author
        in: query
        description: Limit result set to posts assigned to specific authors.
        schema:
          type: array
          items:
            type: integer
          default: []
      - name: author_exclude
        in: query
        description: Ensure result set excludes posts assigned to specific authors.
        schema:
          type: array
          items:
            type: integer
          default: []
      - name: before
        in: query
        description: Limit response to posts published before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: context
        in: query
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      - name: exclude
        in: query
        description: Ensure result set excludes specific IDs.
        schema:
          type: array
          items:
            type: integer
          default: []
      - name: include
        in: query
        description: Limit result set to specific IDs.
        schema:
          type: array
          items:
            type: integer
          default: []
      - name: media_type
        in: query
        description: Limit result set to attachments of a particular media type or media types.
        schema:
          type: array
          items:
            type: string
            enum:
            - image
            - video
            - text
            - application
            - audio
      - name: mime_type
        in: query
        description: Limit result set to attachments of a particular MIME type or MIME types.
        schema:
          type: array
          items:
            type: string
      - name: modified_after
        in: query
        description: Limit response to posts modified after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_before
        in: query
        description: Limit response to posts modified before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: offset
        in: query
        description: Offset the result set by a specific number of items.
        schema:
          type: integer
      - name: order
        in: query
        description: Order sort attribute ascending or descending.
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      - name: orderby
        in: query
        description: Sort collection by post attribute.
        schema:
          type: string
          enum:
          - author
          - date
          - id
          - include
          - modified
          - parent
          - relevance
          - slug
          - include_slugs
          - title
          default: date
      - name: page
        in: query
        description: Current page of the collection.
        schema:
          type: integer
          default: 1
          minimum: 1
      - name: parent
        in: query
        description: Limit result set to items with particular parent IDs.
        schema:
          type: array
          items:
            type: integer
          default: []
      - name: parent_exclude
        in: query
        description: Limit result set to all items except those of a particular parent ID.
        schema:
          type: array
          items:
            type: integer
          default: []
      - name: per_page
        in: query
        description: Maximum number of items to be returned in result set.
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 100
      - name: search
        in: query
        description: Limit results to those matching a string.
        schema:
          type: string
      - name: search_columns
        in: query
        description: Array of column names to be searched.
        schema:
          type: array
          items:
            type: string
            enum:
            - post_title
            - post_content
            - post_excerpt
          default: []
      - name: search_semantics
        in: query
        description: How to interpret the search input.
        schema:
          type: string
          enum:
          - exact
      - name: slug
        in: query
        description: Limit result set to posts with one or more specific slugs.
        schema:
          type: array
          items:
            type: string
      - name: status
        in: query
        description: Limit result set to posts assigned one or more statuses.
        schema:
          type: array
          items:
            type: string
            enum:
            - inherit
            - private
            - trash
          default: inherit
      responses:
        '200':
          description: A collection of media attachments.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MediaItem'
        '400': &id001
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404': &id002
          description: No route or resource matched the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp/v2/media/{id}:
    get:
      operationId: getMediaItem
      summary: Get a media item
      description: Retrieve a single media attachment by its numeric identifier.
      tags:
      - Media
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier for the attachment.
        schema:
          type: integer
      - name: context
        in: query
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      responses:
        '200':
          description: A single media attachment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaItem'
        '400': *id001
        '404': *id002
components:
  schemas:
    WPError:
      type: object
      description: The WordPress REST error envelope returned on every 4xx/5xx. Observed live on 2026-09-07.
      properties:
        code:
          type: string
          description: Machine-readable error slug, e.g. rest_post_invalid_page_number.
          examples:
          - rest_no_route
        message:
          type: string
          description: Human-readable message.
          examples:
          - No route was found matching the URL and request method.
        data:
          type: object
          description: Error detail; always carries the HTTP status.
          properties:
            status:
              type: integer
              examples:
              - 404
      required:
      - code
      - message
      - data
    MediaItem:
      type: object
      description: A media library attachment behind addisenergy.com — site photography, diagrams, team headshots
        and press assets, with their generated size variants.
      properties:
        id:
          type: integer
        date:
          type: string
          format: date-time
        slug:
          type: string
        type:
          type: string
          examples:
          - attachment
        link:
          type: string
          format: uri
        title:
          type: object
          properties: &id003
            rendered:
              type: string
          description: A WordPress rendered-content object.
        author:
          type: integer
        caption:
          type: object
          properties: *id003
          description: A WordPress rendered-content object.
        alt_text:
          type: string
          description: Alternative text to display when attachment is not displayed.
        media_type:
          type: string
          enum:
          - image
          - file
        mime_type:
          type: string
          examples:
          - image/jpeg
          - image/png
          - image/svg+xml
        media_details:
          type: object
          description: Width, height, filesize and the generated size variants for the attachment.
        source_url:
          type: string
          format: uri
          description: URL to the original attachment file.
        _links:
          type: object