CINXE.COM

Copyscape Premium - API Guide

<!DOCTYPE html> <HTML> <HEAD> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-5S5RZ0G583"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-5S5RZ0G583'); </script> <meta charset="UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes"> <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,300,700' rel='stylesheet' type='text/css'> <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="css/slick.css"> <link rel="stylesheet" href="css/owl-theme.css"> <link rel="stylesheet" href="css/owl.carousel.css"> <link rel="stylesheet" href="css/responsive.css"> <link rel="stylesheet" type="text/css" href="css/combined.css"> <style> body { max-width:none; padding:0; margin:0; /* font-family:"Manrope", sans-serif; */ font-family:"Open Sans", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; font-size: 14px; color:black; } header,footer { font-family:"Manrope", sans-serif; } h1 { font-family:"Lato", sans-serif; font-weight:bold; font-size:36px; line-height:150%; color:black; } h2 { font-weight:bold; } abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, dialog, div, dl, dt, em, embed, fieldset, figcaption, figure, font, footer, form, header, hgroup, hr, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, meter, nav, object, ol, output, p, pre, progress, q, rp, rt, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, tfoot, thead, time, tt, u, ul, var, video, xmp, .about_column p { line-height: 160%; } p { color:black; } form { /* font-family:"Manrope", sans-serif; */ font-family:"Open Sans", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; } #page_title { margin-top:160px; } .compatibility input[type="submit"] { height: auto; } input[type="submit"], .tallbutton { color: #FFFFFF; font-style: normal; font-weight: 600; border-radius: 20px; background: #004499; text-decoration: none; padding-left: 10px; padding-right: 10px; text-align: center; background-color: #004499; box-shadow: none; border: none; } .tallbutton { font-size: 15px; line-height: 150%; padding: 8px 20px; } .compatibility .tallbutton, .compatibility input.tallbutton, .tallbutton { font-size: 12px; height: auto; padding-left: 20px; padding-right: 20px; } .container_12 > * { max-width:1030px; padding-left:15px; padding-right:15px; margin-left:auto; margin-right:auto; } .container_12 > .header_area, .container_12 > .scroll-to-top { max-width:none; padding:0; margin:0; } .container_12 > .narrow { max-width:640px; } .new_layout_no_bottom_border, .new_layout_no_bottom_border > :last-child { border-bottom:none; } .new_layout_page_no_title { margin-top:120px; } .new_layout_allow_stretch { display:flex; flex-direction:column; min-height:100vh; } .new_layout_stretch_this { flex:1; } </style> <TITLE>Copyscape Premium - API Guide</TITLE> <meta name="description" content="A guide to using the Copyscape Premium API to check content for uniqueness."/> </HEAD> <BODY> <div class="container_12"> <!-- header part start--> <div id="header-fixed-height"></div> <header class="header_area" id="sticky-header"> <nav class="navbar navbar-expand-lg d-none d-lg-block"> <div class="container"> <a class="navbar-brand" href="./"> <img src="img/copyscape-logo-304x49.svg" alt="Copyscape"> </a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarScroll" aria-controls="navbarScroll" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarScroll"> <ul class="navbar-nav ms-auto my-2 my-lg-0 navbar-nav-scroll" style="--bs-scroll-height: 100px;"> <li class="nav-item"> <a class="nav-link active" href="about.php" style="white-space:nowrap;">About</a> <ul class="sub_menu list-unstyled"> <li> <a href="about.php">About Copyscape</a> </li> <li> <a href="press.php">Press</a> </li> <li> <a href="testimonials.php">Testimonials</a> </li> <li> <a href="terms.php">Terms of Use</a> </li> </ul> </li> <li class="nav-item"> <a class="nav-link active" href="products.php" style="white-space:nowrap;">Products</a> <ul class="sub_menu list-unstyled"> <li> <a href="products.php">Our Products</a> </li> <li> <a href="premium.php">Copyscape Premium</a> </li> <li> <a href="api-guide.php">Copyscape API</a> </li> <li> <a href="enterprise.php">Copyscape Enterprise</a> </li> <li> <a href="copysentry.php">Copysentry</a> </li> <li> <a href="compare.php">Free Comparison Tool</a> </li> <li> <a href="banners.php">Free Plagiarism Banners</a> </li> </ul> </li> <li class="nav-item"> <a class="nav-link active" href="plagiarism.php" style="white-space:nowrap;">Plagiarism</a> <ul class="sub_menu list-unstyled"> <li> <a href="plagiarism.php">About Plagiarism</a> </li> <li> <a href="ai.php">Plagiarism and Generative AI</a> </li> <li> <a href="prevent.php">Preventing Plagiarism</a> </li> <li> <a href="respond.php">Responding to Plagiarism</a> </li> <li> <a href="resources.php">Online Resources</a> </li> </ul> </li> <li class="nav-item"> <a class="nav-link active" href="faqs.php" style="white-space:nowrap;">Help</a> <ul class="sub_menu list-unstyled"> <li> <a href="faqs.php">FAQs</a> </li> <li> <a href="contact.php">Contact Us</a> </li> </ul> </li> <li class="nav-item"> <a class="nav-link active" href="signup.php?pro=1" style="white-space:nowrap;">Sign up</a> <ul class="sub_menu list-unstyled"> <li> <a href="signup.php?pro=1">Copyscape Premium</a> </li> <li> <a href="signup.php?pro=0">Copysentry</a> </li> </ul> </li> <li class="nav-item"> <a class="nav-link active" href="login.php" style="white-space:nowrap;">Log in</a> </li> </ul> </div> </div> </nav> <div class="mobile-menu-area d-block d-lg-none"> <div class="mobile-topbar"> <div class="container"> <div class="d-flex justify-content-between align-items-center"> <div class="logo"> <a href="#"><img src="img/copyscape-logo-304x49.svg" alt="Copyscape"></a> </div> <div class="bars"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-menu-2"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M4 6l16 0" /> <path d="M4 12l16 0" /> <path d="M4 18l16 0" /> </svg> </div> </div> </div> </div> <div class="mobile-menu-overlay"></div> <div class="mobile-menu-main"> <div class="logo"> <a href="#"><img src="img/copyscape-logo-304x49.svg" alt="Copyscape"></a> </div> <div class="close-mobile-menu"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-x"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M18 6l-12 12" /> <path d="M6 6l12 12" /> </svg> </div> <div class="menu-body"> <div class="menu-list"> <ul class="list-unstyled"> <li class="sub-mobile-menu"> <a href="#">About <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M6 9l6 6l6 -6" /> </svg> </a> <ul class="list-unstyled"> <li> <a href="about.php">About Copyscape</a> </li> <li> <a href="press.php">Press</a> </li> <li> <a href="testimonials.php">Testimonials</a> </li> <li> <a href="terms.php">Terms of Use</a> </li> </ul> </li> <li class="sub-mobile-menu"> <a href="#">Products <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M6 9l6 6l6 -6" /> </svg> </a> <ul class="list-unstyled"> <li> <a href="products.php">Our Products</a> </li> <li> <a href="premium.php">Copyscape Premium</a> </li> <li> <a href="api-guide.php">Copyscape API</a> </li> <li> <a href="enterprise.php">Copyscape Enterprise</a> </li> <li> <a href="copysentry.php">Copysentry</a> </li> <li> <a href="compare.php">Free Comparison Tool</a> </li> <li> <a href="banners.php">Free Plagiarism Banners</a> </li> </ul> </li> <li class="sub-mobile-menu"> <a href="#">Plagiarism <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M6 9l6 6l6 -6" /> </svg> </a> <ul class="list-unstyled"> <li> <a href="plagiarism.php">About Plagiarism</a> </li> <li> <a href="ai.php">Plagiarism and Generative AI</a> </li> <li> <a href="prevent.php">Preventing Plagiarism</a> </li> <li> <a href="respond.php">Responding to Plagiarism</a> </li> <li> <a href="resources.php">Online Resources</a> </li> </ul> </li> <li class="sub-mobile-menu"> <a href="#">Help <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M6 9l6 6l6 -6" /> </svg> </a> <ul class="list-unstyled"> <li> <a href="faqs.php">FAQs</a> </li> <li> <a href="contact.php">Contact Us</a> </li> </ul> </li> <li class="sub-mobile-menu"> <a href="#">Sign up <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-down"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M6 9l6 6l6 -6" /> </svg> </a> <ul class="list-unstyled"> <li> <a href="signup.php?pro=1">Copyscape Premium</a> </li> <li> <a href="signup.php?pro=0">Copysentry</a> </li> </ul> </li> <li class="sub-mobile-menu"> <a href="login.php">Log in</a> </li> </ul> <!--<ul class="list-unstyled action_btn"> <li class="nav-item"> <a class="nav-link" href="signup.php?pro=1">Sign up</a> <ul class="sub_menus"> <li> <a href="signup.php?pro=1">Copyscape Premium</a> </li> <li> <a href="signup.php?pro=0">Copysentry</a> </li> </ul> </li> <li class="nav-item"> <a class="nav-link" href="login.php">Log in</a> </li> </ul>--> </div> </div> </div> </div> </header> <div id="page_title"> <h1>Copyscape Premium API</h1> </div> <div id="api_docs"> <p>The Copyscape Premium API allows you to seamlessly integrate <A HREF="premium.php">Copyscape Premium</A> into your internal systems. Using the API, you can automatically check the originality of new content &mdash; whether human or AI generated &mdash; as it enters your workflow, or perform large-scale checks for plagiarism of offline content.</p> <p>For WordPress users, the Copyscape Premium Wordpress <a href="https://wordpress.org/plugins/copyscape-premium/">plugin</a> allows you to use your API credentials to seamlessly integrate Copyscape Premium into your WordPress workflow. If you have created a Private Index, the API also lets you add content to your private index or check new content against it.</p> <p>From a technical perspective, the API (Application Programming Interface) allows your developers to write scripts on your server that query the Copyscape Premium service and receive results in common formats including JSON, XML or HTML.</p> <p>The API costs the same as the web interface. Each search costs 3c for the first 200 words, plus 1c per additional 100 words or part thereof.</p> <p><B>To use the Copyscape Premium API, please <A HREF="signup.php?pro=1">sign up for Copyscape Premium</A>.</B></p> </div> <div id="api_docs"> <H2>Using the API</H2> <p>To begin using the Copyscape Premium API, you may write a simple script in a server-side language such as PHP, Java or ASP that runs on your server and queries the API. The API cannot be accessed by Javascript/Ajax running within a web page, since web browsers do not allow cross-domain Ajax requests.</p> <p>The following sections provide the information you need to use the Copyscape Premium API:</p> <br/> <p><A HREF="#sample"><b>Sample Code</b></A> - Some examples which demonstrate how to use the API.</p> <br/> <p><A HREF="#full"><b>Initial Checks and Full Comparisons</b></A> - Explains the two levels of checks available via the API.</p> <p><A HREF="#url"><b>URL Search Request</b></A> - Explains how to check for copies of a web page via the API.</p> <p><A HREF="#text"><b>Text Search Request</b></A> - Explains how to check for copies of some text via the API.</p> <p><A HREF="#jsonxml"><b>JSON/XML Search Response</b></A> - Describes JSON and XML responses that you receive from API search requests.</p> <p><A HREF="#html"><b>HTML Search Response</b></A> - Describes HTML responses that you receive from API search requests.</p> <br/> <p><A HREF="#addurl"><b>URL Add to Private Index Request</b></A> - Explains how to add the content from a URL to your private index.</p> <p><A HREF="#addtext"><b>Text Add to Private Index Request</b></A> - Explains how to add some text to your private index.</p> <p><A HREF="#addresp"><b>Add to Private Index Response</b></A> - Describes responses from API requests that add to your private index.</p> <p><A HREF="#delete"><b>Delete from Private Index Request and Response</b></A> - Explains how to delete content from your private index.</p> <br/> <p><A HREF="#balance"><b>Check Balance Request and Response</b></A> - Describes how to check your account balance.</p> <H2><A NAME="sample">Sample Code</A></H2> <p>Click to download sample code for accessing the Copyscape Premium API in <A HREF="apisampleget.php?type=php">PHP</A>, <A HREF="apisampleget.php?type=py">Python</A>, <A HREF="apisampleget.php?type=erb">Ruby</A>, <A HREF="apisampleget.php?type=java">Java</A>, <A HREF="apisampleget.php?type=pl">Perl</A>, <A HREF="apisampleget.php?type=cfm">Coldfusion</A> or these flavors of ASP.NET: <A HREF="apisampleget.php?type=aspx-cs">C#</A>, <A HREF="apisampleget.php?type=aspx-vb">Visual Basic</A>, <A HREF="apisampleget.php?type=cshtml">C# (Razor syntax)</A>, <A HREF="apisampleget.php?type=vbhtml">VB (Razor syntax)</A>.</p> <H2><A NAME="full">Initial Checks and Full Comparisons</A></H2> <p>Copyscape can check for matching content in two ways: an <B>Initial Check</B> or a <B>Full Comparison</B>.</p> <p><B>Initial Check</B> - For users who prioritize speed, the Initial Check is a fast and efficient way to search for matching content based on content indexes. The Initial Check returns an indicative text "snippet" containing a short selection of matching text from each found page. The length of this snippet, given in the <B>minwordsmatched</B> field of the <A HREF="#jsonxml">JSON/XML search response</A>, provides an indication of which of the found pages contain the largest quantities of matching text. However, the Initial Check does not provide an exact number of matching words for each found page.</p> <p><B>Full Comparison</B> - For users who don't mind longer search times, the Copyscape API can also perform an additional, more thorough check called a Full Comparison. In a Full Comparison, Copyscape attempts to fetch the complete text of a page found in the Initial Check, and compares it against the text that was submitted. For example, a Full Comparison is performed every time you click on a Copyscape result in the web interface. To perform Full Comparisons through the API, set the <B>c</B> parameter in the API search requests below to a value between 1 and 10. This controls the maximum number of Full Comparisons to perform, prioritizing the results with the longest snippet lengths from the Initial Check. If a Full Comparison is successfully performed for a page, additional fields such as <B>wordsmatched</B> are included in the <A HREF="#jsonxml">JSON/XML search response</A> for that page. Note that a Full Comparison may fail if the found page is no longer available, or uses a non-HTML format that Copyscape is not able to read.</p> <H2><A NAME="url">URL Search Request</A></H2> <p>To check for copies of a web page via the Copyscape API, send an <B>HTTP GET</B> request to either of these URLs:</p> <p><B>http://www.copyscape.com/api/<br/>https://www.copyscape.com/api/</B></p> <p>Parameters are specified on the URL (using ? and &amp;) as follows:</p> <TABLE> <TR class="headrow"> <TD><B>Parameter</B></TD> <TD><B>Explanation</B></TD> <TD><B>Value</B></TD> <TD><B>Required?</B></TD> <TD><B>Default</B></TD> </TR> <TR> <TD><B>u</B></TD> <TD>Your username</TD> <TD><I>[your username]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>k</B></TD> <TD>Your API key</TD> <TD><I>[your API key]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>o</B></TD> <TD>API operation</TD> <TD><B>csearch</B> (or <B>psearch</B> or <B>cpsearch</B><BR>if you create a private index)</TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>q</B></TD> <TD>Source URL</TD> <TD><I>[urlencoded URL]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>c</B></TD> <TD>Full comparisons</TD> <TD><B>0</B> to <B>10</B></TD> <TD>No</TD> <TD><B>0</B></TD> </TR> <TR> <TD><B>f</B></TD> <TD>Response format</TD> <TD><B>json</B> or <B>xml</B> or <B>html</B></TD> <TD>No</TD> <TD><B>xml</B></TD> </TR> <TR> <TD><B>i</B></TD> <TD>Ignore sites</TD> <TD><I>[comma-delimited domains to ignore]</I></TD> <TD>No</TD> <TD>-</TD> </TR> <TR> <TD><B>l</B></TD> <TD>Spend limit</TD> <TD><I>[value in dollars, e.g. <B>0.50</B>]</I></TD> <TD>No</TD> <TD>-</TD> </TR> <TR> <TD><B>x</B></TD> <TD>Example test</TD> <TD><B>1</B> or omitted</TD> <TD>No</TD> <TD>-</TD> </TR> </TABLE> <SMALL> <p>API operation (<B>o</B>): Use <B>csearch</B> to search against the public Internet or <B>psearch</B> to search against your private index. You can also use <B>cpsearch</B> to search against both the Internet and your private index, for the cost of two searches.</p> <p>Source URL (<B>q</B>): As per the HTTP specification, this must be <A HREF="http://www.w3.org/International/O-URL-code.html">urlencoded</A>. For example, <B>?</B> should be replaced by <B>%3F</B> and <B>&</B> replaced by <B>%26</B>. Most languages provide a built-in function for urlencoding - see examples in <a href="http://www.php.net/manual/en/function.urlencode.php">PHP</a>, <a href="https://docs.oracle.com/javase/8/docs/api/index.html?java/net/URLEncoder.html">Java</a> and <a href="http://www.w3schools.com/asp/met_urlencode.asp">ASP</a>.</p> <p>Full comparisons (<B>c</B>): Set to a value between <B>1</B> and <B>10</B> to request a full comparison (with an exact count of matching words) between the query text and the top (one to ten) results found. Note that full comparisons may add a delay of a few seconds &ndash; <A HREF="#full">more info</A>.</p> <p>Ignore sites (<B>i</B>): Subdomains are also omitted from the results. For example, if set to <B>site1.com,site2.com</B> then <B>www.site1.com</B> and <B>blog.site2.com</B> would also be ignored. Ignore sites listed in your user settings are always applied. </p> <p>Spend limit (<B>i</B>): If this parameter is omitted, the limit per search set in your <A HREF="configure.php">User Settings</A> is applied.</p> <p>Example test (<B>x</B>): If set to <B>1</B>, the API will search the Internet for copies of <A HREF="http://www.copyscape.com/example.html">http://www.copyscape.com/example.html</A> and you will not be charged.</p> </SMALL> <H2><A NAME="text">Text Search Request</A></H2> <p>To check for copies of some text via the Copyscape API, send an <B>HTTP POST</B> request to either of these URLs:</p> <p><B>http://www.copyscape.com/api/<br/>https://www.copyscape.com/api/</B></p> <p>The text to be searched and other parameters can be specified in one of two ways:</p> <UL> <LI><B>Form Encoded</B>. Provide all parameter values as form-urlencoded data within the HTTP POST payload. This is how web browsers submit forms over HTTP, and will usually be easiest. If your scripting language lets you set up an HTTP POST request with a list of parameter values, it will probably build this form-urlencoded payload automatically.</LI> <LI><B>Raw POST</B>. Provide all parameters except the text to be searched (parameter <B>t</B>) on the URL (using urlencoding and ? and &amp;, as if this was an HTTP GET). Provide the text itself in the raw HTTP POST payload data with no parameter name and no urlencoding. This method may be easier if you are building HTTP requests at a lower level, or using a command-line tool such as <A HREF="http://curl.haxx.se/">curl</A>.</LI> </UL> <p>The parameters are as follows:</p> <TABLE> <TR class="headrow"> <TD><B>Parameter</B></TD> <TD><B>Explanation</B></TD> <TD><B>Value</B></TD> <TD><B>Required?</B></TD> <TD><B>Default</B></TD> </TR> <TR> <TD><B>u</B></TD> <TD>Your username</TD> <TD><I>[your username]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>k</B></TD> <TD>Your API key</TD> <TD><I>[your API key]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>o</B></TD> <TD>API operation</TD> <TD><B>csearch</B> (or <B>psearch</B> or <B>cpsearch</B><BR>if you create a private index)</TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>e</B></TD> <TD>Text encoding</TD> <TD><I>[encoding name]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>t</B></TD> <TD>Text to be searched</TD> <TD><I>[the text]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>c</B></TD> <TD>Full comparisons</TD> <TD><B>0</B> to <B>10</B></TD> <TD>No</TD> <TD><B>0</B></TD> </TR> <TR> <TD><B>f</B></TD> <TD>Response format</TD> <TD><B>json</B> or <B>xml</B> or <B>html</B></TD> <TD>No</TD> <TD><B>xml</B></TD> </TR> <TR> <TD><B>i</B></TD> <TD>Ignore sites</TD> <TD><I>[comma-delimited domains to ignore]</I></TD> <TD>No</TD> <TD>-</TD> </TR> <TR> <TD><B>l</B></TD> <TD>Spend limit</TD> <TD><I>[value in dollars, e.g. <B>0.50</B>]</I></TD> <TD>No</TD> <TD>-</TD> </TR> <TR> <TD><B>x</B></TD> <TD>Example test</TD> <TD><B>1</B> or omitted</TD> <TD>No</TD> <TD>-</TD> </TR> </TABLE> <SMALL> <p>API operation (<B>o</B>): Use <B>csearch</B> to search against the public Internet or <B>psearch</B> to search against your private index. You can also use <B>cpsearch</B> to search against both the Internet and your private index, for the cost of two searches.</p> <p>Text encoding (<B>e</B>): Use an <A HREF="http://www.iana.org/assignments/character-sets">IANA name</A>, such as <B>UTF-8</B> (Unicode), <B>ISO-8859-1</B> (Latin-1) or <B>WINDOWS-1251</B> (Cyrillic).</p> <p>Text to be searched (<B>t</B>): If you are using the <B>Raw POST</B> method, as described above, the raw text should be supplied in the POST payload without a parameter name and without any urlencoding.</p> <p>Full comparisons (<B>c</B>): Set to a value between <B>1</B> and <B>10</B> to request a full comparison (with an exact count of matching words) between the query text and the top (one to ten) results found. Note that full comparisons may add a delay of a few seconds &ndash; <A HREF="#full">more info</A>.</p> <p>Ignore sites (<B>i</B>): Subdomains are also omitted from the results. For example, if set to <B>site1.com,site2.com</B> then <B>www.site1.com</B> and <B>blog.site2.com</B> would also be ignored. Ignore sites listed in your user settings are always applied.</p> <p>Spend limit (<B>i</B>): If this parameter is omitted, the limit per search set in your <A HREF="configure.php">User Settings</A> is applied.</p> <p>Example test (<B>x</B>): If set to <B>1</B>, the API will search the Internet for copies of the text on <A HREF="http://www.copyscape.com/example.html">http://www.copyscape.com/example.html</A> and you will not be charged.</p> </SMALL> <H2><A NAME="jsonxml">JSON/XML Search Response</A></H2> <p>For searches with JSON responses, the API returns a JSON object with the fields listed below. For searches with XML responses, the API returns a <B>&lt;response&gt;</B> XML element with the subelements listed below, UTF-8 encoded.</p> <TABLE> <TR class="headrow"> <TD><B>Name</B></TD> <TD><B>Explanation</B></TD> <TD><B>Present?</B></TD> <TD><B>Example</B></TD> </TR> <TR> <TD><B>query</B></TD> <TD>URL searched</TD> <TD>If a URL search</TD> <TD><B>http://mydomain.com/ page.html</B></TD> </TR> <TR> <TD><B>error</B></TD> <TD>Reason for API request failure</TD> <TD>If request failed</TD> <TD><B>No credits remaining</B></TD> </TR> <TR> <TD><B>querywords</B></TD> <TD>Number of words checked</TD> <TD>If succeeded</TD> <TD><B>583</B></TD> </TR> <TR> <TD><B>cost</B></TD> <TD>Cost in dollars of this search</TD> <TD>If succeeded</TD> <TD><B>0.09</B></TD> </TR> <TR> <TD><B>count</B></TD> <TD>Number of results found</TD> <TD>If succeeded</TD> <TD><B>6</B></TD> </TR> <TR> <TD><B>allwordsmatched</B></TD> <TD>Number of source words matched</TD> <TD NOWRAP>If succeeded and <B>c</B>>=<B>3</B><BR>and <B>o</B> is not <B>cpsearch</B></TD> <TD><B>387</B></TD> </TR> <TR> <TD><B>allpercentmatched</B></TD> <TD>Percentage of source words matched</TD> <TD NOWRAP>If succeeded and <B>c</B>>=<B>3</B><BR>and <B>o</B> is not <B>cpsearch</B></TD> <TD><B>56</B></TD> </TR> <TR> <TD><B>alltextmatched</B></TD> <TD>Full extract of source text matched</TD> <TD NOWRAP>If succeeded and <B>c</B>>=<B>3</B><BR>and <B>o</B> is not <B>cpsearch</B></TD> <TD><B>When in the Course of human events...</B></TD> </TR> <TR> <TD><B>allviewurl</B></TD> <TD>URL for viewing found results</TD> <TD NOWRAP>If succeeded and<BR><B>o</B> is <B>csearch</B></TD> <TD><B>http://view.copyscape.com/ search/a1b2c3d4e5</B></TD> </TR> </TABLE> <SMALL> <p>The <B>query</B> value may differ from the original URL you supplied if there was a frameset or redirection.</p> <p>The <B>allwordsmatched</B>, <B>allpercentmatched</B> and <B>alltextmatched</B> values are based on full comparisons performed between the source text and the top (up to 10) results found. They summarize the portion of the source text that was matched in any of these full comparisons &ndash; <A HREF="#full">more info</A>. They are present if the <B>c</B> parameter is <B>3</B> or more, and the search was not performed against both the Internet and your private index simultaneously.</p> <p>The <B>allviewurl</B> value can be used to display the list of results in an iframe or window. If used, the contents of this page must be displayed in full, without modification. Please note that these links are temporary, and are valid for no longer than a few weeks, after which they expire.</p> </SMALL> <p><br>For successful searches with JSON responses, the top-level object contains a <B>result</B> array of zero or more objects, each describing one result that was found. For successful searches with XML responses, the top-level <B>&lt;response&gt;</B> element contains zero or more <B>&lt;result&gt;</B> subelements, each describing one result that was found. In either case, each result has the fields below:</p> <TABLE> <TR class="headrow"> <TD><B>Name</B></TD> <TD><B>Explanation</B></TD> <TD><B>Present?</B></TD> <TD><B>Example</B></TD> </TR> <TR> <TD><B>index</B></TD> <TD>Position in results</TD> <TD>Yes</TD> <TD><B>1</B></TD> </TR> <TR> <TD><B>url</B></TD> <TD>URL of found page or source URL of page in private index</TD> <TD>Yes</TD> <TD><B>http://www.law.indiana.edu/ uslawdocs/declaration.html</B></TD> </TR> <TR> <TD><B>handle</B></TD> <TD>Handle of found article</TD> <TD NOWRAP>If private index</TD> <TD><B>SIA_1_4487334_3978624</B></TD> </TR> <TR> <TD><B>id</B></TD> <TD>ID of found article</TD> <TD NOWRAP>If private index</TD> <TD><B>MY_ARTICLE_123</B></TD> </TR> <TR> <TD><B>articlewords</B></TD> <TD>Number of words in found article</TD> <TD>If private index</TD> <TD><B>639</B></TD> </TR> <TR> <TD><B>added</B></TD> <TD>When the found article was added (GMT)</TD> <TD>If private index</TD> <TD><B>2025-02-18 20:06:15</B></TD> </TR> <TR> <TD><B>title</B></TD> <TD>Title of the found web page or article in your private index</TD> <TD>Yes</TD> <TD><B>Declaration of Independence</B></TD> </TR> <TR> <TD><B>textsnippet</B></TD> <TD>Text snippet showing some of the matching text</TD> <TD>Yes</TD> <TD><B>... separate and equal station to which ...</B></TD> </TR> <TR> <TD><B>htmlsnippet</B></TD> <TD>HTML version of snippet for display in web pages</TD> <TD>Yes</TD> <TD><B>&lt;font&nbsp;color=&quot;#777777&quot;&gt;...&lt;/font&gt; &lt;font color=&quot;#000000&quot;&gt;separate and equal station&lt;/font&gt;</B></TD> </TR> <TR> <TD><B>minwordsmatched</B></TD> <TD>Minimum number of words matching</TD> <TD>Yes</TD> <TD><B>96</B></TD> </TR> <TR> <TD><B>viewurl</B></TD> <TD>URL for viewing found page</TD> <TD>If Internet result</TD> <TD><B>http://view.copyscape.com/ compare/a1b2c3d4e5/1</B></TD> </TR> </TABLE> <SMALL> <p>The <B>minwordsmatched</B> value is an <I>approximate</I> and <I>relative</I> measure of the amount of matching content found for each result. For an <I>exact</I> count of matching words in the top results, use the <B>c</B> API parameter to request full comparisons &ndash; <A HREF="#full">more info</A>.</p> <p>The <B>viewurl</B> value can be used to display the found page, with the matching content highlighted, in an iframe or window. If used, the contents of this page must be displayed in full, without modification.</p> </SMALL> <p><br>If a <A HREF="#full">full comparison</A> was performed for a result, it may also contain:</p> <TABLE> <TR class="headrow"> <TD><B>Name</B></TD> <TD><B>Explanation</B></TD> <TD><B>Present?</B></TD> <TD><B>Example</B></TD> </TR> <TR> <TD><B>urlwords</B></TD> <TD>Number of words in found page</TD> <TD>If Internet page retrieved OK</TD> <TD><B>950</B></TD> </TR> <TR> <TD><B>wordsmatched</B></TD> <TD>Exact number of words matching</TD> <TD>If page retrieved OK</TD> <TD><B>133</B></TD> </TR> <TR> <TD><B>percentmatched</B></TD> <TD>Percentage of submitted content matched on page</TD> <TD>If page retrieved OK</TD> <TD><B>13</B></TD> </TR> <TR> <TD><B>textmatched</B></TD> <TD>Matching text in full</TD> <TD>If page retrieved OK</TD> <TD><B>When in the Course of human events...</B></TD> </TR> <TR> <TD><B>urlerror</B></TD> <TD>Error retrieving URL</TD> <TD>If Internet page not retrieved</TD> <TD><B>The document could not be retrieved - error code 404</B></TD> </TR> </TABLE> <p>Please note that additional fields may be added in future, so your JSON or XML parser must safely ignore any that are not recognized.</p> <H2><A NAME="html">HTML Search Response</A></H2> <p>For HTML responses, the API returns UTF-8 encoded content with minimal HTML formatting.</p> <p>If the search request succeeded, the title of the HTML page contains the URL queried (if appropriate) and the number of results found. The body of the page includes a series of paragraphs, one for each result, for example:</p> <TABLE style="border: 1px solid;"><TR><TD> <a href="http://www.law.indiana.edu/uslawdocs/declaration.html">Declaration of Independence : Indiana Law</a> <br> <font color="#777777">... </font><font color="#000000">for opposing with manly firmness his invasions on the rights of the people. ... </font><font color="#777777"></font><font color="#000000">For transporting us beyond Seas to be tried for pretended offences: ... </font><font color="#777777"></font><font color="#000000">He has plundered our seas, ravaged our Coasts, burnt our towns, and destroyed the ... </font><font color="#777777"></font><font color="#000000">He has excited domestic insurrections amongst us, and has endeavoured to bring on ... </font><font color="#777777"></font><font color="#000000">the merciless Indian Savages, whose known rule of warfare, ... </font><font color="#777777"></font><font color="#000000">by their legislature to extend an unwarrantable jurisdiction over us. ... </font><font color="#777777"></font><font color="#000000">which, would inevitably interrupt our connections and correspondence. ... </font><font color="#777777">by the </font><font color="#000000">Authority of the good People of these Colonies, solemnly publish and declare, ... </font> <br> <font color="#006600">http://www.law.indiana.edu/uslawdocs/declaration.html</font> </TD></TR></TABLE> <p>If the API request failed, the HTML response will contain some red text describing the error.</p> <p>The HTML format may change in the future, so you should not rely on its structure. The HTML also contains less information than the JSON and XML formats, and excludes full comparisons. To show more information or ensure consistent formatting, please use the JSON or XML response format and build your own HTML based on the information in the JSON or XML responses.</p> <H2><A NAME="addurl">URL Add to Private Index Request</A></H2> <p><I>This API operation requires a private index to be created for your account.</I></p> <p>To add the content from a URL to your private index, send an <B>HTTP GET</B> request to either of these URLs:</p> <p><B>http://www.copyscape.com/api/<br/>https://www.copyscape.com/api/</B></p> <p>Parameters are specified on the URL (using ? and &amp;) as follows:</p> <TABLE> <TR class="headrow"> <TD><B>Parameter</B></TD> <TD><B>Explanation</B></TD> <TD><B>Value</B></TD> <TD><B>Required?</B></TD> <TD><B>Default</B></TD> </TR> <TR> <TD><B>u</B></TD> <TD>Your username</TD> <TD><I>[your username]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>k</B></TD> <TD>Your API key</TD> <TD><I>[your API key]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>o</B></TD> <TD>API operation</TD> <TD><B>pindexadd</B></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>q</B></TD> <TD>Source URL</TD> <TD><I>[urlencoded URL]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>i</B></TD> <TD>Article ID</TD> <TD><I>[ID for private index]</I></TD> <TD>No</TD> <TD><I>[none]</I></TD> <TR> <TD><B>f</B></TD> <TD>Response format</TD> <TD><B>json</B> or <B>xml</B> or <B>html</B></TD> <TD>No</TD> <TD><B>xml</B></TD> </TR> </TR> </TABLE> <SMALL> <p>Source URL (<B>q</B>) and Article ID (<B>i</B>): These parameters must be <A HREF="http://www.w3.org/International/O-URL-code.html">urlencoded</A>. For example, <B>?</B> should be replaced by <B>%3F</B>, <B>&</B> by <B>%26</B> and space by <B>+</B> or <B>%20</B>. Most languages provide a built-in function for urlencoding - see examples in <a href="http://www.php.net/manual/en/function.urlencode.php">PHP</a>, <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/net/URLEncoder.html">Java</a> and <a href="http://www.w3schools.com/asp/met_urlencode.asp">ASP</a>.</p> </SMALL> <p>The title of the article in your private index is taken from the web page at the URL provided. The request returns a <A HREF="#addresp">response</A> confirming if the operation was successful.</p> <H2><A NAME="addtext">Text Add to Private Index Request</A></H2> <p><I>This API operation requires a private index to be created for your account.</I></p> <p>To add some text to your private index, send an <B>HTTP POST</B> request to either of these URLs:</p> <p><B>http://www.copyscape.com/api/<br/>https://www.copyscape.com/api/</B></p> <p>The text to be added and other parameters can be specified in one of two ways:</p> <UL> <LI><B>Form Encoded</B>. Provide all parameter values as form-urlencoded data within the HTTP POST payload. This is how web browsers submit forms over HTTP, and will usually be easiest. If your scripting language lets you set up an HTTP POST request with a list of parameter values, it will probably build this form-urlencoded payload automatically.</LI> <LI><B>Raw POST</B>. Provide all parameters except the text to be added (parameter <B>t</B>) on the URL (using urlencoding and ? and &amp;, as if this was an HTTP GET). Provide the text itself in the raw HTTP POST payload data with no parameter name and no urlencoding. This method may be easier if you are building HTTP requests at a lower level, or using a command-line tool such as <A HREF="http://curl.haxx.se/">curl</A>.</LI> </UL> <p>The parameters are as follows:</p> <TABLE> <TR class="headrow"> <TD><B>Parameter</B></TD> <TD><B>Explanation</B></TD> <TD><B>Value</B></TD> <TD><B>Required?</B></TD> <TD><B>Default</B></TD> </TR> <TR> <TD><B>u</B></TD> <TD>Your username</TD> <TD><I>[your username]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>k</B></TD> <TD>Your API key</TD> <TD><I>[your API key]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>o</B></TD> <TD>API operation</TD> <TD><B>pindexadd</B></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>e</B></TD> <TD>Text encoding</TD> <TD><I>[encoding name]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>t</B></TD> <TD>Text to be added</TD> <TD><I>[the text]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>a</B></TD> <TD>Article title</TD> <TD><I>[title for private index]</I></TD> <TD>No</TD> <TD><I>[none]</I></TD> </TR> <TR> <TD><B>i</B></TD> <TD>Article ID</TD> <TD><I>[ID for private index]</I></TD> <TD>No</TD> <TD><I>[none]</I></TD> </TR> <TR> <TD><B>f</B></TD> <TD>Response format</TD> <TD><B>json</B> or <B>xml</B> or <B>html</B></TD> <TD>No</TD> <TD><B>xml</B></TD> </TR> </TABLE> <SMALL> <p>Text encoding (<B>e</B>): Use an <A HREF="http://www.iana.org/assignments/character-sets">IANA name</A>, such as <B>UTF-8</B> (Unicode), <B>ISO-8859-1</B> (Latin-1) or <B>WINDOWS-1251</B> (Cyrillic).</p> <p>Text to be added (<B>t</B>): If you are using the <B>Raw POST</B> method, as described above, the raw text should be supplied in the POST payload without a parameter name and without any urlencoding.</p> </SMALL> <p>The request returns a <A HREF="#addresp">response</A> confirming if the operation was successful.</p> <H2><A NAME="addresp">Add to Private Index Response</A></H2> <p>For JSON responses, the API returns a JSON object with the fields listed below. For XML responses, the API returns a <B>&lt;response&gt;</B> XML element with the subelements listed below, UTF-8 encoded.</p> <TABLE> <TR class="headrow"> <TD><B>Name</B></TD> <TD><B>Explanation</B></TD> <TD><B>Present?</B></TD> <TD><B>Example</B></TD> </TR> <TR> <TD><B>url</B></TD> <TD>URL whose content was added</TD> <TD>If succeeded and URL specified</TD> <TD><B>http://mydomain.com/ page.html</B></TD> </TR> <TR> <TD><B>words</B></TD> <TD>Number of words in content added</TD> <TD>If succeeded</TD> <TD><B>472</B></TD> </TR> <TR> <TD><B>handle</B></TD> <TD>Reference for article created</TD> <TD>If succeeded</TD> <TD><B>SIA_1_4487334_3978624</B></TD> </TR> <TR> <TD><B>id</B></TD> <TD>Article ID from API request</TD> <TD>If succeeded and ID provided</TD> <TD><B>Article 123</B></TD> </TR> <TR> <TD><B>title</B></TD> <TD>Title of article added</TD> <TD>If succeeded and title available</TD> <TD><B>Declaration of Independence</B></TD> </TR> <TR> <TD><B>cost</B></TD> <TD>Cost of operation in dollars</TD> <TD>If succeeded</TD> <TD><B>0.01</B></TD> </TR> <TR> <TD><B>error</B></TD> <TD>Explanation of problem</TD> <TD>If failed</TD> <TD><B>A private index has not been created</B></TD> </TR> </TABLE> <SMALL> <p>The <B>handle</B> returned may contain up to 32 ASCII characters and can be used to <A HREF="#delete">delete the article</A> in the future.</p> <p>The <B>title</B> is taken from the web page, if a URL was specified. Otherwise it contains the title provided in the API request.</p> </SMALL> <p>Please note that additional fields may be added in future, so your JSON or XML parser must safely ignore any that are not recognized.</p> <p>For HTML responses, the API will return a message confirming whether the content was added successfully.</p> <H2><A NAME="delete">Delete from Private Index Request and Response</A></H2> <p><I>This API operation requires a private index to be created for your account.</I></p> <p>To delete an item of content from your private index, send an <B>HTTP GET</B> request to either of these URLs:</p> <p><B>http://www.copyscape.com/api/<br/>https://www.copyscape.com/api/</B></p> <p>Parameters are specified on the URL (using ? and &amp;) as follows:</p> <TABLE> <TR class="headrow"> <TD><B>Parameter</B></TD> <TD><B>Explanation</B></TD> <TD><B>Value</B></TD> <TD><B>Required?</B></TD> <TD><B>Default</B></TD> </TR> <TR> <TD><B>u</B></TD> <TD>Your username</TD> <TD><I>[your username]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>k</B></TD> <TD>Your API key</TD> <TD><I>[your API key]</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>o</B></TD> <TD>API operation</TD> <TD><B>pindexdel</B></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>h</B></TD> <TD>Handle</TD> <TD><I>Handle of article</I></TD> <TD>Yes</TD> <TD>-</TD> </TR> <TR> <TD><B>f</B></TD> <TD>Response format</TD> <TD><B>json</B> or <B>xml</B> or <B>html</B></TD> <TD>No</TD> <TD><B>xml</B></TD> </TR> </TABLE> <p>For JSON responses, the API returns a JSON object with the fields listed below. For XML responses, the API returns a <B>&lt;response&gt;</B> XML element with the subelements listed below, UTF-8 encoded.</p> <TABLE> <TR class="headrow"> <TD><B>Name</B></TD> <TD><B>Explanation</B></TD> <TD><B>Present?</B></TD> <TD><B>Example</B></TD> </TR> <TR> <TD><B>handle</B></TD> <TD>Handle of deleted article</TD> <TD>If succeeded</TD> <TD><B>SIA_1_4487334_3978624</B></TD> </TR> <TR> <TD><B>id</B></TD> <TD>ID of deleted article</TD> <TD>If succeeded</TD> <TD><B>MY_ARTICLE_123</B></TD> </TR> <TR> <TD><B>error</B></TD> <TD>Explanation of problem</TD> <TD>If failed</TD> <TD><B>An article with this handle could not be found</B></TD> </TR> </TABLE> <p>For HTML responses, a textual description of the result of the request is returned as basic HTML.</p> <p>There is no charge for deleting articles from your private index.</p> <H2><A NAME="balance">Check Balance Request and Response</A></H2> <p>To check how much credit you have remaining, send an <B>HTTP GET</B> request to either of these URLs:</p> <p><B>http://www.copyscape.com/api/<br/>https://www.copyscape.com/api/</B></p> <p>Parameters are specified on the URL (using ? and &amp;) as follows:</p> <TABLE> <TR class="headrow"> <TD><B>Parameter name</B></TD> <TD><B>Explanation</B></TD> <TD><B>Value</B></TD> <TD><B>Required?</B></TD> </TR> <TR> <TD><B>u</B></TD> <TD>Your username</TD> <TD><I>[your username]</I></TD> <TD>Yes</TD> </TR> <TR> <TD><B>k</B></TD> <TD>Your API key</TD> <TD><I>[your API key]</I></TD> <TD>Yes</TD> </TR> <TR> <TD><B>o</B></TD> <TD>Name of operation</TD> <TD><B>balance</B></TD> <TD>Yes</TD> </TR> <TR> <TD><B>f</B></TD> <TD>Response format</TD> <TD><B>json</B> or <B>xml</B> or <B>html</B></TD> <TD>No - <B>xml</B> by default</TD> </TR> </TABLE> <p>For JSON responses, the API returns a JSON object with the fields listed below. For XML responses, the API returns a <B>&lt;remaining&gt;</B> XML element with the subelements listed below, UTF-8 encoded.</p> <TABLE> <TR class="headrow"> <TD><B>Name</B></TD> <TD><B>Explanation</B></TD> <TD><B>Example</B></TD> </TR> <TR> <TD><B>value</B></TD> <TD>Monetary value of your remaining credit in dollars</TD> <TD><B>999.50</B></TD> </TR> <TR> <TD><B>today</B></TD> <TD>Number of Internet searches remaining today</TD> <TD><B>9990</B></TD> </TR> </TABLE> <SMALL> <p>For backwards compatibility, the response also contains a <B>total</B> field, but this no longer has a valid meaning. In the past, Copyscape Premium had a fixed price per search, so it was possible to know how many searches were available for a given balance. With the current <A HREF="price-change-2018.php">per-word pricing</A>, this is no longer possible.</p> </SMALL> <p>For HTML responses, a textual description of your balance is returned as basic HTML.</p> <H2>Getting Assistance</H2> <p>If you have any questions or problems regarding the API, please <A HREF="contact.php">contact us</A>.</p> </div> <button class="scroll-to-top"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-chevron-up"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M6 15l6 -6l6 6" /> </svg> </button> <!-- footer area start --> <footer class="footer_area" style="margin-top:40px;"> <div class="container"> <div class="row g-4"> <div class="col-lg-3 align-self-center"> <a class="footer_logo" href="./"> <img src="img/copyscape-logo-304x49.svg" alt="Copyscape"> </a> </div> <div class="col-lg-9"> <div class="text-start text-lg-end"> <p style="font-size:12px;"> Copyscape 漏 2025 Indigo Stream Technologies, providers of <a href="http://www.gigaalert.com" style="color:#808080">Giga Alert</a>聽and <a href="http://www.siteliner.com/" style="color:#808080">Siteliner</a>. All rights reserved. </p> <p style="font-size:12px;"> <a href="terms.php" style="color:#808080"><b>Terms of Use</b></a> </p> </div> </div> </div> </div> </footer> <!-- footer area end --> <!-- all js link --> <script src="js/jquery-3.6.0.min.js"></script> <script src="js/bootstrap.bundle.min.js"></script> <script src="js/slick.min.js"></script> <script src="js/owl-carousel.js"></script> <script src="js/script.js"></script> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10