Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/screenshotone/jssdk
A JavaScript (and TypeScript) SDK for the ScreenshotOne.com API to take screenshots of any URL
https://github.com/screenshotone/jssdk
javascript javascript-library javascript-package node nodejs screenshot screenshot-api screenshot-as-a-service screenshot-bot screenshot-comparison screenshot-comparison-tests screenshot-generator screenshot-library screenshot-taker screenshot-testing screenshot-utility screenshots typescript typescript-library typescript-package
Last synced: about 2 months ago
JSON representation
A JavaScript (and TypeScript) SDK for the ScreenshotOne.com API to take screenshots of any URL
- Host: GitHub
- URL: https://github.com/screenshotone/jssdk
- Owner: screenshotone
- License: mit
- Created: 2022-06-06T17:14:59.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-26T16:54:11.000Z (4 months ago)
- Last Synced: 2024-10-01T13:50:06.431Z (3 months ago)
- Topics: javascript, javascript-library, javascript-package, node, nodejs, screenshot, screenshot-api, screenshot-as-a-service, screenshot-bot, screenshot-comparison, screenshot-comparison-tests, screenshot-generator, screenshot-library, screenshot-taker, screenshot-testing, screenshot-utility, screenshots, typescript, typescript-library, typescript-package
- Language: TypeScript
- Homepage: https://screenshotone.com
- Size: 204 KB
- Stars: 14
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jssdk
[![Build](https://github.com/screenshotone/jssdk/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/screenshotone/jssdk/actions/workflows/build.yml)
[![NPM package](https://img.shields.io/npm/v/screenshotone-api-sdk.svg?branch=main)](https://www.npmjs.com/package/screenshotone-api-sdk)An official [Screenshot API](https://screenshotone.com/) client for JavaScript and TypeScript.
It takes minutes to start taking screenshots. Just [sign up](https://screenshotone.com/) to get access and secret keys, import the client, and you are ready to go.
The SDK client is synchronized with the latest [screenshot API options](https://screenshotone.com/docs/options/).
## Installation
```shell
npm install screenshotone-api-sdk --save
```## Usage
Generate a screenshot URL without executing the request. Or download the screenshot. It is up to you:
```javascript
import * as fs from 'fs';
import * as screenshotone from 'screenshotone-api-sdk';// create API client
const client = new screenshotone.Client("", "");// set up options
const options = screenshotone.TakeOptions
.url("https://example.com")
.delay(3)
.blockAds(true);// generate URL
const url = client.generateTakeURL(options);
console.log(url);
// expected output: https://api.screenshotone.com/take?url=https%3A%2F%2Fexample.com&delay=3&block_ads=true&access_key=%3Caccess+key%3E&signature=7f3419ece2c53ed2c7923c7d5deef290d662c3643822bf69ec8259ce10b3ea61// download the screenshot and handle potential API errors
try {
const imageBlob = await client.take(options);const buffer = Buffer.from(await imageBlob.arrayBuffer());
fs.writeFileSync("example.png", buffer);
} catch (error) {
if (error instanceof screenshotone.APIError) {
// An API error occurred with
// HTTP Status Code: error.httpStatusCode
// Error Code: error.errorCode
// Error Message: error.errorMessage
// Documentation URL: error.documentationUrl
} else {
// An unexpected error occurred
console.error("An unexpected error occurred:", error.message);
}
}
```## Build and publish (a manual for SDK developers)
To build and publish the SDK:
1. Bump the version property in the `package.json` file.
2. Run `npm run prepare`.
3. Run `npm publish`.## License
`screenshotone/jssdk` is released under [the MIT license](LICENSE).