---
title: "POST /v2/plagiarism"
method: POST
path: "/v2/plagiarism"
---

# POST /v2/plagiarism

`POST /v2/plagiarism`

Winston AI's plagiarism API is a powerful tool designed to check text for plagiarism by scouring the internet for similar content. It queries multiple websites and compares the input text with the content found on these websites. This can be particularly useful in academic settings, content creation, legal scenarios or any other situation where originality of content is required.

## Request body

- PlagiarismV2
  - `text` string, required — The text to be scanned. This is required unless you provide a website or file. Each request must contain at least 100 characters and no more than 120,000 characters.
  - `file` string — A publicly accessible URL to a file to scan. The file must be publicly available online (not a local file path) so our API can access it. The file must be in plain .pdf, .doc or .docx format. The file has priority over the text, so if you give a text and a file, it's the file that will be scanned.
  - `website` string — A website URL to scan. If you supply a website, the API will fetch the content of the website and scan it. The website must be publicly accessible. It's important to know that the website has priority over the text and the file, so if you give a text, a file and a website, it's the website that will be scanned.
  - `excluded_sources` string[] — An array of sources to exclude from the scan. The excluded sources won't be taken into account for the plagiarism scan score. Sources can either be a domain name like `example.com` or a url like `https://example.com`. If you specify a domain name, the API will exclude all the urls belonging to that domain and all subdomains. Sources are case-sensitive.
  - `language` string — 2 letter language code. Default: auto. If you put 'auto', the API will automatically detect the language of the text. The plagiarism-checking endpoint currently supports 47 languages: English (en), French (fr), German (de), Spanish (es), Portuguese (pt), Dutch (nl), Italian (it), Chinese (zh), Norwegian (no), Swedish (sv), Danish (da), Finnish (fi), Icelandic (is), Irish (ga), Polish (pl), Czech (cs), Slovak (sk), Romanian (ro), Hungarian (hu), Bulgarian (bg), Croatian (hr), Greek (el), Turkish (tr), Hebrew (he), Arabic (ar), Vietnamese (vi), Malay (ms), Thai (th), Korean (ko), Japanese (ja), Russian (ru), Kazakh (kk), Georgian (ka), Tagalog (tl), Hindi (hi), Bengali (bn), Persian (fa), Urdu (ur), Indonesian (id), Malayalam (ml), Tamil (ta), Telugu (te), Kannada (kn), Marathi (mr), Gujarati (gu), Ukrainian (uk) and Albanian (sq).
  - `country` string — The country code of the country where the text was written. We accept all country codes. Default: us.

## Response `200`

Plagiarism response

- PlagiarismResponseV2
  - `status` number — HTTP status code representing the result of the plagiarism scan request.
  - `scanInformation` object — Some basic scan information about the request.
    - `service` string — Name of the service used for the request.
    - `scanTime` string — Timestamp when the scan was conducted.
    - `inputType` string — The type of input we scan based on the input you provided. It can be `text | file | website` .
    - `language` string — The language of the text detected.
  - `result` object — The result field is the main object that contains the results of the plagiarism scan.
    - `score` number — Plagiarism score indicating the percentage of plagiarized content in the scanned text.
    - `sourceCounts` number — Number of sources identified during the scan that contain plagiarized content.
    - `textWordCounts` number — Total number of words in the scanned text.
    - `totalPlagiarismWords` number — Total number of words identified as plagiarized.
    - `identicalWordCounts` number — Number of words identified as plagiarized that are identical to the source content.
    - `similarWordCounts` number — Number of words identified as plagiarized that are similar to the source content.
  - `sources` object[] — The sources field is an array which contains one or more objects, each corresponding to a different website where matching content has been found.
    - `score` number — The plagiarism percentage score for this specific source.
    - `canAccess` boolean — Indicates if we were able to access the source content.
    - `url` string — URL of the source where plagiarism was found.
    - `title` string — Title of the source document.
    - `plagiarismWords` number — Number of words in the input text identified as plagiarized from this source found.
    - `identicalWordCounts` number — Number of words identified as plagiarized that are identical to the source content.
    - `similarWordCounts` number — Number of words identified as plagiarized that are similar to the source content.
    - `totalNumberOfWords` number — Total number of words in the input text.
    - `author` string, nullable — Author of the source document.
    - `description` string, nullable — Description or summary of the source content.
    - `publishedDate` number, nullable — Timestamp of when the source was published.
    - `source` string, nullable — Name of the source or publication.
    - `citation` boolean — Indicates if the source is cited in the input text.
    - `plagiarismFound` object[] — List of plagiarism sequence found in the input text from this source.
      - `startIndex` number — Starting index of the plagiarized sequence in the text.
      - `endIndex` number — Ending index of the plagiarized sequence in the text.
      - `sequence` string, nullable — The plagiarized text sequence.
    - `is_excluded` boolean — Indicates if this source should be excluded from the final results.
  - `attackDetected` object — An object with two boolean properties indicating if the text contains zero-width spaces or homoglyph attacks.
    - `zero_width_space` boolean — Indicates if the text contains zero-width spaces.
    - `homoglyph_attack` boolean — Indicates if the text contains homoglyph attacks.
  - `text` string — The input text that was used for the plagiarism scan.
  - `similarWords` object[] — List of similar words found in the input text.
    - `index` number — Starting index of the similar word in the document.
    - `word` string — The similar word.
  - `citations` string[] — The citations is an array which contains one or more objects, each corresponding to a different website where the website was cited in the provided text.
  - `indexes` object[] — List of plagiarism sequences found in the input text.
    - `startIndex` number — Starting index of the plagiarized sequence in the document.
    - `endIndex` number — Ending index of the plagiarized sequence in the document.
    - `sequence` string, nullable — The plagiarized text sequence.
  - `credits_used` integer — The credits_used field represents the number of credits consumed for processing your request. Each word that is processed by the API consumes two credits.
  - `credits_remaining` integer — The credits_remaining field shows how many credits you have left in your account after your request has been processed.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `402` — Payment Required (insufficient credits)
- `403` — Forbidden
- `415` — Unsupported Media Type
- `429` — Too Many Requests
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.dev/gowinston/apis/winston-ai-api.md) · [All operations](https://skmtc.dev/gowinston/apis/winston-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gowinston/winston-ai-api/revisions/36538c5ec651/schema)
