If your scraping request was successful, the API will respond with the raw HTML data of your target web page URL.
If you have enabled HTTP headers, your API response will also contain the HTTP headers sent along with your original API request.
If you inspect your API response headers, you will notice some custom headers that will give you more details about the request you made.
The API request below is the simplest invocation that you can make by specifying the URL only.
GET https://scrape.shifter.io/v1?api_key=api_key&url=https://example.com
cURL NodeJS Python PHP Golang Java .NET Ruby
Copy curl --request GET --url "https://scrape.shifter.io/v1?api_key=api_key&url=https://example.com"
Copy const http = require ( "https" );
const options = {
"method" : "GET" ,
"hostname" : "scrape.shifter.io"
"port" : null ,
"path" : "/v1?api_key=api_key&url=https://example.com" ,
"headers" : {}
};
const req = http .request (options , function (res) {
const chunks = [];
res .on ( "data" , function (chunk) {
chunks .push (chunk);
});
res .on ( "end" , function () {
const body = Buffer .concat (chunks);
console .log ( body .toString ());
});
});
req .end ();
Copy import http . client
conn = http . client . HTTPSConnection ( "scrape.shifter.io" )
conn . request ( "GET" , "/v1?api_key=api_key&url=https://example.com" )
res = conn . getresponse ()
data = res . read ()
print (data. decode ( "utf-8" ))
Copy <? php
$curl = curl_init () ;
curl_setopt_array ( $curl , [
CURLOPT_URL => "https://scrape.shifter.io/v1?api_key=api_key&url=https://example.com" ,
CURLOPT_RETURNTRANSFER => true ,
CURLOPT_ENCODING => "" ,
CURLOPT_MAXREDIRS => 10 ,
CURLOPT_TIMEOUT => 30 ,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1 ,
CURLOPT_CUSTOMREQUEST => "GET" ,
] ) ;
$response = curl_exec ( $curl ) ;
$err = curl_error ( $curl ) ;
curl_close ( $curl ) ;
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Copy package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main () {
url := "https://scrape.shifter.io/v1?api_key=api_key&url=https://example.com"
req, _ := http. NewRequest ( "GET" , url, nil )
res, _ := http.DefaultClient. Do (req)
defer res.Body. Close ()
body, _ := ioutil. ReadAll (res.Body)
fmt. Println (res)
fmt. Println ( string (body))
Copy HttpResponse < String > response = Unirest . get ( "https://scrape.shifter.io/v1?api_key=api_key&url=https://example.com" )
Copy var client = new RestClient("https://scrape.shifter.io/v1?api_key=api_key&url=https://example.com")
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Copy require 'uri'
require 'net/http'
require 'openssl'
url = URI ( "https://scrape.shifter.io/v1?api_key=api_key&url=https://example.com" )
http = Net :: HTTP . new (url . host , url . port)
http . use_ssl = true
http . verify_mode = OpenSSL :: SSL :: VERIFY_NONE
request = Net :: HTTP :: Get . new (url)
response = http . request(request)
puts response . read_body
Copy <!doctype html>
<html>
<head>
<title>Example Domain</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type="text/css">
body {
background-color: #f0f0f2;
margin: 0;
padding: 0;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
div {
width: 600px;
margin: 5em auto;
padding: 2em;
background-color: #fdfdff;
border-radius: 0.5em;
box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
}
a:link, a:visited {
color: #38488f;
text-decoration: none;
}
@media (max-width: 700px) {
div {
margin: 0 auto;
width: auto;
}
}
</style>
</head>
<body>
<div>
<h1>Example Domain</h1>
<p>This domain is for use in illustrative examples in documents. You may use this
domain in literature without prior coordination or asking for permission.</p>
<p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>