New New Scravity Scraping Browser is now live. Read the docs

Documentation

Everything you need to integrate Scravity into your application. Authenticate with your API key, make requests to any endpoint, and handle responses.

Browse the Interactive API Docs
Authenticate

Include your API key in the X-API-KEY header of every request.

Send Request

POST your parameters as JSON to any endpoint. We handle the rest.

Get Results

Receive structured JSON with your data. Credits are deducted per request.

Overview

Scravity provides a RESTful API for data extraction. Every request is authenticated with your API key, processed through our infrastructure, and returned as structured JSON. Each endpoint has its own rate limits, credit costs, and cache duration.

Endpoint Method Description
/v1/users/credits GET Get your current credit balance
/v1/email/company-email-finder POST Find public emails for a company

Authentication

All API requests require authentication via an API key passed in the X-API-KEY header. Your API key always starts with scravity. You can generate and manage API keys from your dashboard.

Header Format
X-API-KEY: scravity_k8xP2mN9qR7w...

Keep your key secret

Never expose your API key in client-side code, public repositories, or unsecured environments. If a key is compromised, rotate it immediately from your dashboard.

Base URL

All endpoints share a common base URL. Append the specific endpoint path to construct your full request URL.

Production
https://api.scravity.com

Error Handling

These errors apply to all endpoints globally. Individual endpoints may return additional error codes specific to their functionality — those are documented on each endpoint's page.

Status Description
401 Invalid or missing API key
429 Rate limit exceeded. The response body contains the specific limit that was hit.

Invalid API key response (401):

401 Unauthorized
{ "detail": "Invalid API Key" }

Rate limit response (429):

429 Too Many Requests
{ "detail": "120 per 1 minute" }

Get Credit Balance

GET

Returns your current available credit balance. Use this endpoint to check how many credits you have remaining before making requests to paid endpoints.

Cost Rate Limit Cache
Free
Endpoint
GET https://api.scravity.com/v1/users/credits

Response:

Response — 200 OK
{ "credits": 4750 }

Example:

cURL
curl https://api.scravity.com/v1/users/credits \ -H "X-API-KEY: scravity_k8xP2mN9qR7w..."

Company Email Finder

POST

Find public email addresses for a given company domain. Returns verified public emails associated with the company, along with processing logs for transparency.

Cost Rate Limit Cache
5 credits 120 req/min, 2 req/sec 15 days

Credits and caching

You are only charged for successful, non-cached results. If the domain has been queried within the last 15 days, the cached result is returned at no cost. Check your balance first using the Credit Balance endpoint.

Request

Send a POST request with a JSON body containing the company domain.

Endpoint
POST https://api.scravity.com/v1/email/company-email-finder

Parameters

Parameter Type Required Description
domain string Yes The company website domain (e.g. stripe.com)

Response

On success, returns 200 OK with the found emails in the content field and processing details in logs.

Field Type Description
success boolean Whether the request was processed successfully
domain string The domain that was queried
content object The found email addresses and associated data
logs string[] Processing log messages describing what the endpoint did

Successful response example:

Response — 200 OK
{ "success": true, "domain": "stripe.com", "content": { "emails": [ "support@stripe.com", "info@stripe.com" ] }, "logs": [ "Resolving domain: stripe.com", "Scanning for public email addresses", "Found 2 email addresses" ] }

Errors

In addition to the global errors, this endpoint may return:

Status Description
404 Domain not found — the provided domain could not be resolved
422 Validation Error — missing or invalid request parameters, includes a detail array with field-level errors
500 Internal server error — unexpected failure. Contact support if persistent
502 External service error — a dependency the endpoint relies on failed

Domain not found (404):

404 Not Found
{ "success": false, "error": "Domain not found", "domain": "thisdomaindoesnotexist123.xyz", "details": null }

Validation error (422):

422 Unprocessable Entity
{ "detail": [ { "loc": ["body", "domain"], "msg": "Field required", "type": "missing" } ] }

Examples

cURL
curl -X POST https://api.scravity.com/v1/email/company-email-finder \ -H "X-API-KEY: scravity_k8xP2mN9qR7w..." \ -H "Content-Type: application/json" \ -d '{ "domain": "stripe.com" }'
JavaScript
const response = await fetch("https://api.scravity.com/v1/email/company-email-finder", { method: "POST", headers: { "X-API-KEY": "scravity_k8xP2mN9qR7w...", "Content-Type": "application/json" }, body: JSON.stringify({ domain: "stripe.com" }) }); const data = await response.json(); console.log(data.content); // { emails: ["support@stripe.com", "info@stripe.com"] }
Python
import requests response = requests.post( "https://api.scravity.com/v1/email/company-email-finder", headers={ "X-API-KEY": "scravity_k8xP2mN9qR7w...", "Content-Type": "application/json" }, json={ "domain": "stripe.com" } ) data = response.json() print(data["content"]) # {'emails': ['support@stripe.com', 'info@stripe.com']}

Ready to integrate?

Get your API key and start making requests in under a minute. No subscriptions, no commitments.

Get API Key