Quickstart: TypeScript
Integrate ReachScore into your TypeScript or Node.js application.
1
Install the SDK
Install the official ReachScore SDK using npm or yarn:
npm install @reachscore/sdk # or yarn add @reachscore/sdk
2
Initialize the client
Create a new client instance with your API key:
import ReachScore from '@reachscore/sdk';
const reachscore = new ReachScore({
apiKey: process.env.REACHSCORE_API_KEY,
});3
Create a test
Create a new deliverability test:
const test = await reachscore.tests.create({
from_address: 'notifications@yourcompany.com',
subject: 'Test email deliverability',
});
console.log('Send your email to:', test.test_address);
// test.test_address = "test_7xK2mN9p@inbound.reachscore.co"4
Get the results
After sending your email, retrieve the test results:
// Poll for results (or use webhooks)
const result = await reachscore.tests.get(test.id);
if (result.status === 'completed') {
console.log('Deliverability Score:', result.score);
console.log('Grade:', result.grade);
console.log('SPF:', result.auth_results.spf);
console.log('DKIM:', result.auth_results.dkim);
console.log('DMARC:', result.auth_results.dmarc);
}Complete Example
Here is a full working example that creates a test and waits for results:
import ReachScore from '@reachscore/sdk';
async function runDeliverabilityTest() {
const reachscore = new ReachScore({
apiKey: process.env.REACHSCORE_API_KEY,
});
// Create the test
const test = await reachscore.tests.create({
from_address: 'notifications@yourcompany.com',
subject: 'Weekly newsletter',
});
console.log(`Test created: ${test.id}`);
console.log(`Send email to: ${test.test_address}`);
// Wait for results (in production, use webhooks instead)
let result = test;
while (result.status !== 'completed' && result.status !== 'failed') {
await new Promise(resolve => setTimeout(resolve, 5000));
result = await reachscore.tests.get(test.id);
console.log(`Status: ${result.status}`);
}
if (result.status === 'completed') {
console.log(`Score: ${result.score}/100 (Grade: ${result.grade})`);
console.log(`Auth: SPF=${result.auth_results.spf}, DKIM=${result.auth_results.dkim}, DMARC=${result.auth_results.dmarc}`);
}
}
runDeliverabilityTest();TypeScript Types
The SDK includes full TypeScript definitions for all API responses:
import type { Test, TestResult, AuthResults } from '@reachscore/sdk';
const test: Test = await reachscore.tests.create({ /* ... */ });
// Full autocomplete and type checking
if (test.auth_results) {
const spfResult: 'pass' | 'fail' | 'softfail' | 'neutral' = test.auth_results.spf;
}