Quick Start
Get your first human QA test running in under 5 minutes. Need to find your API keys? Visit the API Keys dashboard.
Step 1: Run Your First Test
Choose your integration method: REST API | MCP for AI Agents | GitHub Actions
REST API
Make an HTTP request to create a test and wait for results:
The request blocks until a human tester completes the test (typically 2-5 minutes).
MCP for AI Agents
Add Runhuman to Claude Code, Cursor, or VS Code with one command:
Then ask your agent:
“Use Runhuman to test the login flow on staging.myapp.com”
GitHub Actions
Add human QA testing to your CI/CD pipeline:
Test a URL directly:
name: QA Test
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: volter-ai/runhuman-qa-test-action@v0.0.1
with:
api-key: ${{ secrets.RUNHUMAN_API_KEY }}
url: https://staging.myapp.com
description: Verify the homepage loads correctly
output-schema: '{"loads":{"type":"boolean","description":"Page loads?"}}'
Auto-test linked issues after deploy:
# .github/workflows/test-issues.yml
# Required: Secret RUNHUMAN_API_KEY, Variable RUNHUMAN_TESTING_URL
name: Test Linked Issues
on:
workflow_run:
workflows: [CI] # Change to your deploy workflow name
types: [completed]
branches: [main]
jobs:
test-issues:
if: github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.workflow_run.head_sha }}
- uses: volter-ai/runhuman-issue-tester-action@0.0.6
with:
api-key: ${{ secrets.RUNHUMAN_API_KEY }}
test-url: ${{ vars.RUNHUMAN_TESTING_URL }}
Read the full GitHub Actions guide
Step 2: Understand the Results
Every test returns:
| Field | Description |
|---|---|
| result.data | Structured data matching your outputSchema |
| result.explanation | GPT-4o’s interpretation of the test |
| testerResponse | Raw feedback from the human tester |
| testerData | Screenshots, video, console logs, network requests |
| costUsd | What the test cost |
Example response:
{
"status": "completed",
"result": {
"success": true,
"explanation": "Page loaded correctly with visible heading",
"data": {
"pageLoads": true,
"headingVisible": true
}
},
"costUsd": 0.18,
"testDurationSeconds": 100
}
Next Steps
| Want to… | Read |
|---|---|
| Integrate with your backend | REST API |
| Use with AI coding agents | MCP |
| Add to CI/CD pipelines | GitHub Actions |
| See practical recipes | Cookbook |
| Look up technical details | Reference |