curl \ --user YOUR_API_KEY: \ --header 'Content-Type: application/json' \ --data '{"url": "https://toscrape.com", "httpResponseBody": true}' \ --compressed \ https://api.zyte.com/v1/extract
from base64 import b64decode import requests api_response = requests.post( 'https://api.zyte.com/v1/extract', auth=('YOUR_API_KEY', ''), json={ 'url': 'https://toscrape.com', 'httpResponseBody': True, }, ) http_response_body: bytes = b64decode( api_response.json()['httpResponseBody'] )
# Prerequisite: install scrapy-zyte-api and configure it in transparent mode # https://github.com/scrapy-plugins/scrapy-zyte-api from scrapy import Spider class ToScrapeSpider(Spider): name = "toscrape_com" start_urls = ["https://toscrape.com"] def parse(self, response): http_response_text: str = response.text
const axios = require('axios') axios.post( 'https://api.zyte.com/v1/extract', { url: 'https://toscrape.com', httpResponseBody: true }, { auth: { username: 'YOUR_API_KEY' } } ).then((response) => { const httpResponseBody = Buffer.from( response.data.httpResponseBody, 'base64' ) })
$client = new GuzzleHttp\Client(); $response = $client->request('POST', 'https://api.zyte.com/v1/extract', [ 'auth' => ['YOUR_API_KEY', ''], 'headers' => ['Accept-Encoding' => 'gzip'], 'json' => [ 'url' => 'https://toscrape.com', 'httpResponseBody' => true, ], ]); $data = json_decode($response->getBody()); $http_response_body = base64_decode($data->httpResponseBody);