SnoopScan
Endpoints

Posts

Every article from a blog or forum, hundreds at a time, for a content aggregator, a newsroom feed or a training set.

POST /v1/posts

Request

Send a JSON body with a URL (or a list) and any options. The response holds data and what the call cost.

import requestsr = requests.post(    'https://api.snoopscan.com/v1/posts',    headers={'Authorization': 'Bearer sk_YOUR_KEY'},    json={        'url': 'https://blog.example.com',        'limit': 200    },)print(r.json())
const r = await fetch('https://api.snoopscan.com/v1/posts', {  method: 'POST',  headers: { Authorization: 'Bearer sk_YOUR_KEY', 'Content-Type': 'application/json' },  body: JSON.stringify({      "url": "https://blog.example.com",      "limit": 200  }),});console.log(await r.json());
curl -X POST https://api.snoopscan.com/v1/posts \  -H 'Authorization: Bearer sk_YOUR_KEY' \  -H 'Content-Type: application/json' \  -d '{    "url": "https://blog.example.com",    "limit": 200}'
Returns posts · full text · dates · authors · 1 credit a page.

Parameters

FieldTypeDefaultWhat it does
url required string — The store or blog to read, e.g. https://shop.example.com.
limit integer 500 The most items to return, 1 to 10,000.

Response

A success returns {"success": true, "data": {…}}. data holds the formats you asked for, the page's metadata, and a cost object with what the call was charged. A failure returns {"success": false, "error": {…}} with an error code. See Errors.

Failed requests are not charged. Re-reading a page you already fetched, within maxAge, is free. See Credits for every rate.