TechCrunch Media API

Media files and attachments

OpenAPI Specification

techcrunch-media-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: TechCrunch WordPress REST Authors Media API
  description: TechCrunch is built on WordPress and exposes the standard WordPress REST API, providing JSON endpoints for accessing posts, categories, tags, authors, pages, and other content types. The API is available at the /wp-json/wp/v2/ base path and supports filtering, pagination, searching, and sorting across all TechCrunch content. TechCrunch uses a headless WordPress architecture with a React frontend, making the REST API the primary data layer for content delivery.
  version: v2
  contact:
    name: TechCrunch
    url: https://techcrunch.com/contact-us/
  license:
    name: Terms of Service
    url: https://techcrunch.com/terms-of-service/
servers:
- url: https://techcrunch.com/wp-json/wp/v2
  description: TechCrunch WordPress REST API
tags:
- name: Media
  description: Media files and attachments
paths:
  /media:
    get:
      operationId: listMedia
      summary: List Media
      description: Retrieve a list of media items attached to TechCrunch posts.
      tags:
      - Media
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: per_page
        in: query
        schema:
          type: integer
          default: 10
          maximum: 100
      - name: search
        in: query
        schema:
          type: string
      - name: media_type
        in: query
        schema:
          type: string
          enum:
          - image
          - video
          - text
          - application
          - audio
        description: Limit result set to attachments of a given media type.
      - name: mime_type
        in: query
        schema:
          type: string
        description: Limit result set to attachments of a given MIME type.
      - name: orderby
        in: query
        schema:
          type: string
          default: date
      - name: order
        in: query
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
      responses:
        '200':
          description: List of media items
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Media'
  /media/{id}:
    get:
      operationId: getMedia
      summary: Get Media Item
      description: Retrieve a specific media item by its unique ID.
      tags:
      - Media
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Media item object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Media'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    WPError:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        data:
          type: object
          properties:
            status:
              type: integer
    Media:
      type: object
      properties:
        id:
          type: integer
        date:
          type: string
          format: date-time
        slug:
          type: string
        status:
          type: string
        type:
          type: string
          example: attachment
        link:
          type: string
          format: uri
        title:
          $ref: '#/components/schemas/RenderedValue'
        author:
          type: integer
        caption:
          $ref: '#/components/schemas/RenderedValue'
        alt_text:
          type: string
        media_type:
          type: string
          enum:
          - image
          - file
        mime_type:
          type: string
        media_details:
          type: object
          additionalProperties: true
        source_url:
          type: string
          format: uri
    RenderedValue:
      type: object
      properties:
        rendered:
          type: string
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/WPError'
  parameters:
    id:
      name: id
      in: path
      required: true
      schema:
        type: integer
      description: Unique identifier for the resource.