Skip to main content

1.Find Color

Find specified multiple color points in device screenshot, supports relative and absolute coordinate modes, configurable similarity threshold and finding all matching locations. πŸ’‘ Quick Color Picker You can use the quick color picker in the console developer tools to quickly get screen coordinates and color value arrays. Quick Color Picker Tool

Endpoint Description

Endpoint Type

Parameters

Response Payload

Single Match (multiple = false or absolute coordinate mode):
Multiple Matches (multiple = true):
No Match Found:

Feature Description

Coordinate Modes

findColor supports two coordinate modes: 1. Absolute Coordinate Mode In absolute coordinate mode, all points use screen absolute coordinates:
  • No need for rect and multiple parameters
  • If all color points match, returns the first point’s coordinates
Example:
2. Relative Coordinate Mode When the first point of the color array is [0, 0], relative coordinate mode is used:
  • The first point [0, 0] serves as the reference point, searched within the rect area
  • Other points’ coordinates are relative to the first point
  • Can provide rect parameter to define search area
  • Supports multiple parameter to find all matches
Example:

Basic Usage

Example 1: Absolute Coordinate Mode

Example 2: Relative Coordinate Mode - Find All Matches

2.Find Image

Use OpenCV template matching technology to find specified image template in device screenshot, supports similarity control and multiple results finding.

Endpoint Description

Endpoint Type

Parameters

Response Payload

Single Match (multiple = false):
Multiple Matches (multiple = true):

Feature Description

Search Direction

Similarity Threshold

threshold controls matching precision:
  • 1.0 - Exactly the same (hard to match)
  • 0.95 - Almost identical
  • 0.9 - Highly similar (recommended, default)
  • 0.85 - Similar
  • 0.8 - Basically similar
  • < 0.8 - Possible false match

Multiple Results Finding

Use multiple = true to find all matching locations:
  • Automatically sorted by similarity in descending order
  • Use distance parameter to filter results too close together
  • Max 88 results returned
πŸ’‘ Tip Image matching uses OpenCV template matching algorithm based on grayscale images, so it has certain tolerance for color changes. It’s recommended that template images contain obvious features and avoid solid colors or repetitive patterns to improve matching accuracy and speed.

3.Find Images (Multi)

Search multiple template images in a single screenshot using OpenCV template matching. Compared with findImage, this interface accepts a sprites array and returns the match result with the corresponding template index.

Endpoint Description

Endpoint Type

Parameters

Response Payload

Best match (findAll = false):
  • Returns null if nothing matches.
  • Returns an object when matched:
All matches (findAll = true):
  • Returns an empty array [] if nothing matches.
  • Returns an array of results when matched:

Feature Description

Search Strategy (findAll = false)

  • When direction = 0 (default): picks the global best match across all sprites.
  • When direction != 0: tries templates in sprites order, returns the first template that matches according to the direction preference.

Search Direction

Similarity Threshold

threshold controls matching precision:
  • 1.0 - Exactly the same (hard to match)
  • 0.95 - Almost identical
  • 0.9 - Highly similar (recommended, default)
  • 0.85 - Similar
  • 0.8 - Basically similar
  • < 0.8 - Possible false match

Result De-duplication (distance)

When findAll = true, results that are too close (both X and Y within distance pixels) will be filtered to reduce duplicates, and only the higher-confidence point is kept. πŸ’‘ Tip To improve accuracy and speed, keep template images small and distinctive (avoid large solid-color areas or repetitive patterns). It’s recommended to set rect to limit the search area whenever possible.

4.Get Color

Get the hexadecimal color value of a specific coordinate from the latest device screenshot.

Endpoint Description

Endpoint Type

Parameters

Return Value

Returns a string in RRGGBB format (uppercase), representing the RGB color of the requested pixel. Example: "2A9DF4".

Basic Usage

5.Compare Color

Check whether the pixel at a specific coordinate in the latest screenshot matches the expected color, with optional channel deviation.

Endpoint Description

Endpoint Type

Parameters

Return Value

Returns true if the pixel color falls within the tolerance of any segment; otherwise false

6.Match Color Point

Check if all specified color points exist in the specified region of device screenshot, supports similarity threshold settings. Returns true if all colors are found, otherwise throws an error indicating which colors were not found.

Endpoint Description

Endpoint Type

Parameters

Response Payload

On Success:
On Failure:

Feature Description

Color Format

Each element in the color array has the format: "color|threshold"
  • Color: 6-digit hexadecimal color value, e.g., "FFFFFF"
  • Threshold: Similarity threshold, range 0-1, similarity = round((1 - threshold) * 255), same for all three channels

Search Area

The rect parameter defines the search area:
  • Format: [x1, y1, x2, y2]

Use Cases

Case 1: Verify UI State

Check if system modal exists:
πŸ’‘ Tip
  • Unlike findMultiColor, matchColorPoint does not return specific coordinates, only verifies if colors exist
  • Suitable for UI state verification, conditional checks, and similar scenarios

7.Find Color(DM Tools Version)

Find specified colors and their offset colors in device screenshot, supports multi-point color recognition and tolerance matching.

Endpoint Description

Endpoint Type

Parameters

Response Payload

Single Match (multiple = false):
Multiple Matches (multiple = true):

Basic Usage

Feature Description

Color Format

Colors use hexadecimal format:
  • 888888 - Gray

Offset Color Format

Offset colors for multi-point color matching, format: "x|y|color,x|y|color,..."

Search Direction

Color Tolerance

threshold parameter controls color matching accuracy:
  • 1.0 - Perfect match, no deviation allowed
  • 0.9 - Allow about 10% color deviation (recommended)
  • 0.8 - Allow about 20% color deviation
  • 0.7 - Allow about 30% color deviation
πŸ’‘ Tip Multi-point color matching is more accurate than single point. It’s recommended to use 3-5 feature points to identify UI elements, effectively avoiding false matches. Offset color coordinates are relative to the main color point, pay attention to relative position when setting.

8.OCR Recognition

Use device-side GPU acceleration technology to recognize text content in specified screen area, supports multiple language recognition.
πŸ’‘ TipSystem automatically recognizes phone language, no need to manually specify language type.Why not integrate third-party OCR? See OCR Guide for details.
⚠️ Important LimitationDue to iOS system’s strict memory limits for background apps, built-in OCR is not suitable for large-area document scanning work.Recognizing too large areas or frequently recognizing large areas may cause:
  • Memory usage exceeds limit
  • Screen mirroring service crashes and disconnects
Recommendations:
  • βœ… Suitable: Recognize buttons, titles, short text and other small area text
  • ❌ Not suitable: Full-page document scanning, large paragraph recognition, PDF text extraction, etc.
For document scanning or large-area text recognition, use Screen Push interface with computer-side OCR service.

Endpoint Description

Endpoint Type

Parameters

Response Payload

Returns an array of text blocks, each text block contains:

Basic Usage

Feature Description

Recognition Area

rect parameter defines recognition area, format is [x1, y1, x2, y2]:
  • x1, y1 - Top-left corner coordinates of area
  • x2, y2 - Bottom-right corner coordinates of area
Area Setting Recommendations:
  • Area should contain complete text content
  • Avoid including too much background and interference elements
  • Smaller area = faster recognition, less memory usage
  • Ensure area is within screen bounds
  • Avoid recognizing too large area (recommend single recognition area not exceeding 1/2 of screen)

Language Support

System automatically detects text language, including but not limited to 18+ major languages

Use Cases

πŸ’‘ Suitable ScenariosBuilt-in OCR is suitable for recognizing:
  • βœ… UI interface button text, titles, prompts
  • βœ… Short message content, notification text
  • βœ… In-game text prompts, number information
  • βœ… Form fields, input box content
Not suitable:
  • ❌ Full-page document scanning
  • ❌ Long article recognition
  • ❌ PDF text extraction
  • ❌ Large-area continuous text recognition
For document scanning scenarios, it’s recommended to use Screen Push interface to send images to computer-side OCR service for processing.

9.Get Screenshot

Get real-time screenshot of specified device, supports various image formats and quality settings.

Endpoint Description

Endpoint Type

Parameters

Response Payload

Returns binary image data:

Basic Usage

10.Crop Screen Shot

Crop a specified area from the device screenshot and return the cropped image. Important Note This method only returns BMP image format, other formats are not supported.

Endpoint Description

Endpoint Type

Parameters

Response Payload

Returns cropped image binary data (BMP format):

Basic Usage

Notes

  1. Format Limitation: This method always returns BMP format, other formats cannot be specified
  2. Coordinate Range: Coordinates and dimensions in rect parameter must not exceed screen bounds
  3. Parameter Format: rect must be an array of 4 numbers: [x1, y1, x2, y2], where (x1, y1) is the top-left coordinate and (x2, y2) is the bottom-right coordinate

11.Screen Image Push

Push specified screen area image directly to custom API service for processing, suitable for various image recognition scenarios.

Application Scenarios

This interface is particularly suitable for the following scenarios:
  • πŸ”€ OCR Text Recognition - Integrate third-party OCR services (such as PaddleOCR, Tesseract, etc.)
  • 🎯 Captcha Recognition - Use specialized captcha recognition services
  • πŸ–ΌοΈ Image Classification - Identify image content, object detection
  • πŸ€– AI Recognition - Integrate any custom image AI model
πŸ’‘ How It Works Streaming End β†’ Capture Image β†’ Direct POST β†’ Your API β†’ Return Result Images are sent directly from the streaming end to your API, saving decoding and redundant transmission steps, improving efficiency.

Difference from getScreenShot

Comparison

Endpoint Description

Endpoint Type

Parameters

Request Format

iClick will send POST request to your API. To save unnecessary resources, after the streaming end successfully pushes, it will not wait for the result and return it to the caller. screenPush will always return true, and you need to implement your own business callback logic. Request Headers:
Request Body:
If args parameter is provided, all fields will be passed as additional form fields:

Basic Usage