Metalenz Search API

Public, unauthenticated cross-content search over metalenz.com — press releases and static pages together — returning lightweight id / title / url / type / subtype records that link back to the full object. Verified live returning 34 matching objects for the capture probe term.

Operations 1

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/metalenz-search-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

metalenz-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Metalenz Search API
  version: wp/v2
  description: 'Public, unauthenticated cross-content search over metalenz.com — press releases and static pages together — returning lightweight id / title / url / type / subtype records (34 searchable objects matched the probe term used at capture). Read-only by construction: the route publishes GET only.'
  contact:
    name: Metalenz
    url: https://metalenz.com/contact-us/
  x-derived-from: https://metalenz.com/wp-json/ route index + per-route HTTP OPTIONS schema documents
  x-derived-on: '2026-08-25'
  x-api-evangelist-note: Third-party profile. Metalenz is a fabless metasurface-optics (meta-optics) semiconductor company and publishes no developer program, no developer portal and no API documentation; this documents the anonymously readable WordPress REST content API behind metalenz.com. Every path, parameter, enum and property here was read from the server's own published route index and OPTIONS schema documents on 2026-08-25 — nothing is invented.
servers:
- url: https://metalenz.com/wp-json
  description: Metalenz WordPress REST API
tags:
- name: Search
  description: Federated search across every publicly queryable content type.
paths:
  /wp/v2/search:
    get:
      operationId: search
      summary: Search site content
      tags:
      - Search
      description: Search across the publicly queryable content types on metalenz.com and receive lightweight result stubs which link back to the full object via the `_links.self` embeddable reference.
      parameters:
      - name: context
        in: query
        schema:
          type: string
          enum:
          - view
          - embed
          default: view
        description: Scope under which the request is made; determines fields present in response.
      - name: exclude
        in: query
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Ensure result set excludes specific IDs.
      - name: include
        in: query
        schema:
          type: array
          items:
            type: integer
          default: []
        description: Limit result set to specific IDs.
      - name: page
        in: query
        schema:
          type: integer
          minimum: 1
          default: 1
        description: Current page of the collection.
      - name: per_page
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
        description: Maximum number of items to be returned in result set.
      - name: search
        in: query
        schema:
          type: string
        description: Limit results to those matching a string.
      - name: subtype
        in: query
        schema:
          type: array
          items:
            enum:
            - post
            - page
            - category
            - post_tag
            - any
            type: string
          default: any
        description: Limit results to items of one or more object subtypes.
      - name: type
        in: query
        schema:
          type: string
          enum:
          - post
          - term
          - post-format
          default: post
        description: Limit results to items of an object type.
      responses:
        '200':
          description: Search site content
          headers:
            X-WP-Total:
              description: Total number of records matching the query.
              schema:
                type: integer
            X-WP-TotalPages:
              description: Total number of pages available at the current per_page.
              schema:
                type: integer
            Link:
              description: RFC 8288 pagination links (rel="next" / rel="prev").
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SearchResult'
        '400':
          description: Invalid parameter(s) — rest_invalid_param.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient permission — rest_forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      description: The WordPress REST API error envelope returned on every 4xx/5xx.
      properties:
        code:
          type: string
          description: Machine-readable error code, e.g. rest_post_invalid_id.
        message:
          type: string
          description: Human-readable error message.
        data:
          type: object
          properties:
            status:
              type: integer
              description: The HTTP status code.
            params:
              type: object
              description: Per-parameter validation messages (rest_invalid_param only).
            details:
              type: object
              description: Per-parameter validation detail (rest_invalid_param only).
      required:
      - code
      - message
    SearchResult:
      title: search-result
      type: object
      properties:
        id:
          description: Unique identifier for the object.
          type:
          - integer
          - string
          readOnly: true
        title:
          description: The title for the object.
          type: string
          readOnly: true
        url:
          description: URL to the object.
          type: string
          format: uri
          readOnly: true
        type:
          description: Object type.
          type: string
          enum:
          - post
          - term
          - post-format
          readOnly: true
        subtype:
          description: Object subtype.
          type: string
          enum:
          - post
          - page
          - category
          - post_tag
          readOnly: true