# Image Plagiarism Response

> Response structure and field definitions for the Copyleaks Image Plagiarism Detection API.

The Copyleaks Image Plagiarism Detection API returns a synchronous response containing scan metadata and a categorized list of web locations where the submitted image was found.

## Response Properties

<ParamField path="developerPayload" type="string">
  The custom string provided in the request, echoed back unchanged. `null` if not provided.
</ParamField>

<ParamField path="scannedImage" type="object">
  Metadata about the submitted image and the scan.
  <Expandable title="properties">
    <ParamField path="scanId" type="string">
      The scan ID provided in the request path.
    </ParamField>
    <ParamField path="expectedCredits" type="integer">
      The number of credits expected to be charged for this scan.
    </ParamField>
    <ParamField path="actualCredits" type="integer">
      The number of credits actually charged for this scan.
    </ParamField>
    <ParamField path="creationTime" type="string">
      UTC timestamp of when the scan was created (ISO 8601). Example: `"2026-05-24T10:00:00Z"`
    </ParamField>
    <ParamField path="width" type="integer">
      Width of the submitted image in pixels.
    </ParamField>
    <ParamField path="height" type="integer">
      Height of the submitted image in pixels.
    </ParamField>
    <ParamField path="filename" type="string">
      The filename provided in the request.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="matches" type="object">
  The detection results.
  <Expandable title="properties">
    <ParamField path="internet" type="array<object>">
      All matching images found on the web, with full matches ordered first, then partial matches. Each image URL appears at most once.
      <Expandable title="properties">
        <ParamField path="url" type="string">
          The URL of the matching image.
        </ParamField>
        <ParamField path="matchType" type="integer">
          The type of match:
          - `0` - **Full**: Exact or near-exact copy of the submitted image.
          - `1` - **Partial**: Cropped, resized, recolored, or otherwise modified version.
        </ParamField>
        <ParamField path="webPages" type="array<object>">
          The web pages where this image was found. Omitted when the image was not located on any page.
          <Expandable title="properties">
            <ParamField path="url" type="string">
              The URL of the web page containing the matching image.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>
    <ParamField path="score" type="object">
      A summary of match counts.
      <Expandable title="properties">
        <ParamField path="totalMatches" type="integer">
          Total number of matching images found.
        </ParamField>
        <ParamField path="fullMatches" type="integer">
          Number of full matches (matchType `0`).
        </ParamField>
        <ParamField path="partialMatches" type="integer">
          Number of partial matches (matchType `1`).
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## Example Response

```json
{
  "developerPayload": "my-custom-data",
  "scannedImage": {
    "scanId": "my-scan-1",
    "expectedCredits": 1,
    "actualCredits": 1,
    "creationTime": "2026-05-24T10:00:00Z",
    "width": 1920,
    "height": 1080,
    "filename": "my-photo.jpg"
  },
  "matches": {
    "internet": [
      {
        "url": "https://example.com/images/photo.jpg",
        "matchType": 0,
        "webPages": [
          { "url": "https://example.com/blog/my-post" },
          { "url": "https://example.org/news/article" }
        ]
      },
      {
        "url": "https://example.com/thumbs/photo-thumb.jpg",
        "matchType": 1,
        "webPages": [
          { "url": "https://example.org/gallery" }
        ]
      },
      {
        "url": "https://example.org/gallery/photo-sm.jpg",
        "matchType": 1
      }
    ],
    "score": {
      "totalMatches": 3,
      "fullMatches": 1,
      "partialMatches": 2
    }
  }
}
```

An empty `matches.internet` array with all-zero scores means no matching content was found on the web.

## Next Steps

<CardGroup cols={2}>
  <Card title="Image Plagiarism Detection Guide" href="/guides/authenticity/image-plagiarism-detection">Step-by-step guide to submitting images and interpreting results.</Card>
  <Card title="Image Plagiarism Detection API Reference" href="/reference/actions/image-plagiarism-detector/check">Full API reference for the Image Plagiarism Detection endpoint.</Card>
</CardGroup>
