The AddPipe Platform is now SOC 2 Type I attested. Read the announcement

Home/Use cases/Video interviews

The one-way interview recorder your platform doesn't have to build.

Candidates record answers inside your ATS or interviewing product. AddPipe handles the browser, the upload, the transcoding and the storage, and hands your backend an mp4 and a webhook.

Desktop and mobile browsers, including iOS Safari. No app, no plugin, no download for the candidate.

payload: cand_48812 · job_207
iPhone · Safari 19
video_converted → your webhook

The recording layer behind interviewing and assessment platforms

VidCruiter SmartRecruiters softgarden eSkill Vireup 10K Humans Energy Talent Viddi

Recording a candidate in a browser is a product. You'd be building a second one.

MediaRecorder gets you a first demo in an afternoon. Everything after that is on you, and none of it is what your customers are paying for.

AddPipe is the recording client and the ingest pipeline as one service, maintained for ten years against every browser release, so that list on the right stays off your roadmap.

AddPipe vs building your own

Browser and device quirksCamera permissions, iOS Safari, Android WebViews, codec support that changes per release.ongoing
Unreliable candidate connectionsRecording on a phone over mobile data, with the upload surviving tab switches and drops.ongoing
TranscodingWebM, MP4 and rotated mobile captures normalized to one mp4 that plays everywhere reviewers are.infra + cost
Storage and deliveryBuckets, retention, signed URLs, regions for EU candidates.infra + cost
Support"My camera didn't work" tickets, with no device logs to answer them.every week
With AddPipeone embed, one webhook, $50/mo to start

Where AddPipe sits in your product.

The candidate never leaves your interface. Your backend never touches a raw browser stream.

Your UI

Candidate records

The AddPipe client is embedded in your interview screen, styled to match, with your question and time limit.

Pipe

Ingest and transcode

Streamed or uploaded to the nearest region, then converted to a rotated, normalized mp4.

Your storage

Delivered to your bucket

Pushed to your S3, GCS, R2, Dropbox or Box, or kept on AddPipe's storage if you'd rather not run any.

Your backend

Webhook to your ATS

A video_converted event with the file URL, duration and the candidate ID you attached.

Proven at HR-tech scale.

Interview platforms have been running on AddPipe since 2016. Peak recruiting season on your side is a normal Tuesday on ours.

0kRecordings per day, per region
2Recording regions, EU and US, each with two availability zones
0 yearsOf browser releases handled in the recording client

The parts of the recorder that matter for interviews.

All configurable per embed or from the JavaScript API, so each customer, job or question can behave differently.

Time-boxed answers

Set a maximum recording time per question with mrt. The candidate sees the limit; you get consistent lengths.

Review and retake

Candidates can play back their answer and record again. Decide in your UI how many attempts to allow.

Question on screen

Show the prompt above the camera or scroll it as a teleprompter. See the teleprompter demo.

Face positioning guide

An on-screen outline helps candidates frame themselves before they start, so reviewers get usable footage.

Candidate and job IDs travel with the file

Pass any string as payload. It comes back in the webhook and REST API, so matching recordings to applications is a lookup, not a guess.

Device logs for support

User agent, camera and microphone names, codecs and getUserMedia errors are stored with every recording, so "it didn't work" has an answer.

Your interface, not ours

Hide the default controls and drive record, stop and playback from your own buttons with the JS control API.

EU or US, your choice

Pick the ingestion region per environment. EU candidates' recordings can stay in Europe end to end.

SOC 2 Type I

Encrypted in transit and at rest, and a report you can hand to your own security reviewers. Request it.

An afternoon to integrate, not a quarter.

Embed the client on your interview page, attach the candidate to the recording, and listen for the webhook. That's the whole integration.

// npm i @addpipe/pipe-recording-client
import PipeSDK from "@addpipe/pipe-recording-client";

PipeSDK.insert("answer", {
  size: { width: 640, height: 390 },
  qualityurl: "avq/720p.xml",
  accountHash: "YOUR_ACCOUNT_HASH",
  eid: "YOUR_ENV_ID",
  mrt: 120,                       // 2-minute answers
  payload: "cand_48812:job_207:q3"  // your IDs
}, (recorder) => {
  recorder.onSaveOk = (id, name, duration) => {
    markAnswered("q3", { name, duration });
  };
});

Embed code or npm

Plain embed code for server-rendered pages, the npm package for SPAs, a React hook if that's your stack.

Environments per customer

Separate settings, storage and recordings per tenant or per product line, each with its own webhook and region.

REST API for everything else

List, fetch and delete recordings as JSON, for retention policies and candidate data requests. REST API docs.

Transcription when you want it

Tutorials for Amazon Transcribe, ElevenLabs Scribe and Whisper, triggered from the same webhook.

Talk to an engineer

Integration questions go to the people who built the client. Contact us.

Questions engineering teams ask before switching.

Does the candidate see AddPipe branding?

No. The client renders inside your page, the default UI can be hidden entirely and replaced with your own controls, and recordings are delivered to your storage under your domain.

What happens if a candidate's connection drops mid-answer?

The recording client is built around bad connections: it streams or uploads as the candidate records rather than waiting for the end, and the dashboard logs every upload so you can see exactly what arrived. Ask us for details on the current behavior for your target browsers.

Which browsers and devices are supported?

Current desktop browsers and mobile Safari and Chrome, including in-app browsers where the platform allows camera access. The client is updated with each browser release; the changelog shows the cadence.

Can we keep EU candidates' data in the EU?

Yes. Choose the EU ingestion region for an environment and point it at an EU bucket you own. Details on our GDPR page.

How do we delete a candidate's recordings?

Through the REST API or the dashboard. Recordings pushed to your own storage are yours to delete directly; you can also run retention rules on your side.

We already use Ziggeo or a similar service. How hard is a switch?

The integration surface is the same shape: an embed, a JS API and a webhook. Most teams run both in parallel on one environment first. See AddPipe vs Ziggeo.

What does it cost?

Plans start at $50 per month, and every plan begins with a 14-day free trial with no card required. Pricing.

Something else? Email us and an engineer will reply.

Ship one-way video interviews this sprint.

Embed the recorder, record a test answer, watch the webhook land. Free for 14 days, no card required, $50/mo after that.