Appium Elements API

Element discovery and interaction

Operations 6

POST /session/{sessionId}/element Appium Find Element #
POST /session/{sessionId}/elements Appium Find Elements #
POST /session/{sessionId}/element/{elementId}/click Appium Click Element #
POST /session/{sessionId}/element/{elementId}/value Appium Send Keys to Element #
GET /session/{sessionId}/element/{elementId}/text Appium Get Element Text #
GET /session/{sessionId}/source Appium Get Page Source #

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/appium-elements-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

appium-elements-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Appium Server Actions Elements API
  description: The Appium Server API implements the W3C WebDriver protocol for mobile, web, desktop, and TV app automation. It provides endpoints for session management, element interaction, actions, screenshots, and Appium-specific device commands.
  version: 2.0.0
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  contact:
    name: Appium Community
    url: https://discuss.appium.io/
  x-generated-from: documentation
servers:
- url: http://localhost:4723
  description: Local Appium server (default port)
tags:
- name: Elements
  description: Element discovery and interaction
paths:
  /session/{sessionId}/element:
    post:
      operationId: findElement
      summary: Appium Find Element
      description: Finds the first element matching a given locator strategy and selector.
      tags:
      - Elements
      parameters:
      - $ref: '#/components/parameters/SessionId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindElementRequest'
            examples:
              FindElementRequestExample:
                summary: Default findElement request
                x-microcks-default: true
                value:
                  using: accessibility id
                  value: Login Button
      responses:
        '200':
          description: Element found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ElementResponse'
              examples:
                FindElement200Example:
                  summary: Default findElement 200 response
                  x-microcks-default: true
                  value:
                    value:
                      ELEMENT: 1234567890
                      element-6066-11e4-a52e-4f735466cecf: 1234567890
        '404':
          description: Element not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /session/{sessionId}/elements:
    post:
      operationId: findElements
      summary: Appium Find Elements
      description: Finds all elements matching a given locator strategy and selector.
      tags:
      - Elements
      parameters:
      - $ref: '#/components/parameters/SessionId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindElementRequest'
      responses:
        '200':
          description: Elements found (may be empty array)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ElementsResponse'
              examples:
                FindElements200Example:
                  summary: Default findElements 200 response
                  x-microcks-default: true
                  value:
                    value:
                    - ELEMENT: 1234567890
                      element-6066-11e4-a52e-4f735466cecf: 1234567890
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /session/{sessionId}/element/{elementId}/click:
    post:
      operationId: click
      summary: Appium Click Element
      description: Clicks on the specified element.
      tags:
      - Elements
      parameters:
      - $ref: '#/components/parameters/SessionId'
      - $ref: '#/components/parameters/ElementId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Element clicked successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyValueResponse'
              examples:
                Click200Example:
                  summary: Default click 200 response
                  x-microcks-default: true
                  value:
                    value: null
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /session/{sessionId}/element/{elementId}/value:
    post:
      operationId: setValue
      summary: Appium Send Keys to Element
      description: Sends text input to the specified element.
      tags:
      - Elements
      parameters:
      - $ref: '#/components/parameters/SessionId'
      - $ref: '#/components/parameters/ElementId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - text
              properties:
                text:
                  type: string
                  description: Text to send to the element
                  example: Hello World
      responses:
        '200':
          description: Text sent successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyValueResponse'
              examples:
                SetValue200Example:
                  summary: Default setValue 200 response
                  x-microcks-default: true
                  value:
                    value: null
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /session/{sessionId}/element/{elementId}/text:
    get:
      operationId: getText
      summary: Appium Get Element Text
      description: Returns the visible text of the specified element.
      tags:
      - Elements
      parameters:
      - $ref: '#/components/parameters/SessionId'
      - $ref: '#/components/parameters/ElementId'
      responses:
        '200':
          description: Element text returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StringValueResponse'
              examples:
                GetText200Example:
                  summary: Default getText 200 response
                  x-microcks-default: true
                  value:
                    value: Login
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /session/{sessionId}/source:
    get:
      operationId: getPageSource
      summary: Appium Get Page Source
      description: Returns the XML source of the current app screen or browser page.
      tags:
      - Elements
      parameters:
      - $ref: '#/components/parameters/SessionId'
      responses:
        '200':
          description: Page source returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StringValueResponse'
              examples:
                GetPageSource200Example:
                  summary: Default getPageSource 200 response
                  x-microcks-default: true
                  value:
                    value: <hierarchy rotation="0"><android.widget.FrameLayout /></hierarchy>
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ElementResponse:
      title: ElementResponse
      description: Single element returned from a find operation
      type: object
      properties:
        value:
          type: object
          description: Element reference object
          properties:
            ELEMENT:
              type: string
              description: Legacy element identifier
              example: '1234567890'
            element-6066-11e4-a52e-4f735466cecf:
              type: string
              description: W3C element identifier
              example: '1234567890'
    StringValueResponse:
      title: StringValueResponse
      description: Standard response with a string value
      type: object
      properties:
        value:
          type: string
          description: The returned string value
    ElementsResponse:
      title: ElementsResponse
      description: Multiple elements returned from a find operation
      type: object
      properties:
        value:
          type: array
          items:
            type: object
            properties:
              ELEMENT:
                type: string
                example: '1234567890'
              element-6066-11e4-a52e-4f735466cecf:
                type: string
                example: '1234567890'
    EmptyValueResponse:
      title: EmptyValueResponse
      description: Standard response with null value
      type: object
      properties:
        value:
          description: Always null for commands that have no return value
    ErrorResponse:
      title: ErrorResponse
      description: WebDriver error response
      type: object
      properties:
        value:
          type: object
          properties:
            error:
              type: string
              description: Error code
              example: no such element
            message:
              type: string
              description: Human-readable error message
              example: An element could not be located on the page using the given search parameters.
            stacktrace:
              type: string
              description: Stack trace for debugging
    FindElementRequest:
      title: FindElementRequest
      description: Request to find an element using a locator strategy
      type: object
      required:
      - using
      - value
      properties:
        using:
          type: string
          description: The element locator strategy
          enum:
          - accessibility id
          - id
          - xpath
          - class name
          - name
          - css selector
          - link text
          - partial link text
          - -android uiautomator
          - -android datamatcher
          - -ios predicate string
          - -ios class chain
          example: accessibility id
        value:
          type: string
          description: The selector value for the locator strategy
          example: Login Button
  parameters:
    SessionId:
      name: sessionId
      in: path
      required: true
      description: The unique session identifier
      schema:
        type: string
      example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
    ElementId:
      name: elementId
      in: path
      required: true
      description: The unique element identifier within the session
      schema:
        type: string
      example: '1234567890'