CSV Upload Guide
Upload and validate CSV files through the GTMAPIs dashboard or the public signed-upload API flow. Dashboard uploads are designed for interactive CSV jobs; API integrations that need larger files should use the signed-upload flow in Async Validation Jobs.Prerequisites
Before uploading a CSV:- Create an account
- Generate an API key
- Ensure you have sufficient credits
Step-by-Step Process
1
Prepare Your CSV
Your CSV must contain an email column. Other columns are preserved in the output.
2
Upload to Dashboard
Go to Dashboard and click “Upload CSV”
3
Map Email Column
Select which column contains email addresses
4
Start Validation
Click “Validate” to begin processing
5
Receive Results
Download CSV with validation results or receive via email
CSV Format Requirements
Supported Formats
- File type:
.csvonly - Dashboard max size: 10,000 emails per upload
- API large-file flow: use signed upload preparation and start-processing endpoints
- Encoding: UTF-8 recommended
- Delimiter: Comma (
,)
Example Input CSV
Column Mapping
During upload, you’ll select which column contains emails:- Preview shows first 5 rows
- Click on the column header to select
- System validates format before processing
Output Format
Added Validation Columns
Your output CSV includes 11 new columns with validation results. These are the CSV Result Adapter field names;email_status, credits_consumed, is_domain_catch_all, and b2b_quality are compatibility aliases for the canonical validation result contract.
Example Output CSV
Processing Details
Batch Processing
The system processes emails in batches:- Deduplication: Removes duplicate emails (case-insensitive)
- Batch size: 100 emails per API request
- Delay: 500ms between batches to avoid rate limits
- Retry logic: Automatic retry on transient failures
Processing Time
Processing time varies based on DNS caching, SMTP responsiveness, provider budgets, and job size. Use the dashboard or job status endpoint to monitor progress instead of assuming fixed completion times.Email Notification
When validation completes:- Email sent to your account address
- CSV file attached
- Summary statistics included
Credit Usage
How Credits Are Reserved and Finalized
CSV jobs reserve credits before validation starts, then finalize the charge after results are known:- Upload CSV
- System reserves credits for unique emails
- System validates all emails
- Counts high-quality results
- Charges only for
result: "valid"+b2b_outbound_quality: "high" - Refunds the unused reserved credits
- Returns results
Example Credit Usage
Uploaded CSV: 1,000 emails
The job may reserve up to the unique email count before processing, but the final charge is 400 credits.
Insufficient Credits
If you don’t have enough credits to reserve the upload:- Upload is rejected before processing starts
- Error message shows required vs available
- No partial processing (all-or-nothing)
Best Practices
Before Uploading
Clean Your Data
Clean Your Data
Remove obvious invalids and duplicates locally:
Verify CSV Format
Verify CSV Format
Check your CSV before uploading:
- Proper comma delimiters
- No missing headers
- Consistent column count per row
- UTF-8 encoding (especially for international names)
- No BOM (Byte Order Mark) issues
Test With Small Sample
Test With Small Sample
Before processing 10,000 emails:
- Extract first 100 rows
- Upload test batch
- Review results quality
- Adjust source or filters if needed
- Process full list
After Validation
Filter by Quality
Filter by Quality
Separate emails by B2B quality:
Track Validation History
Track Validation History
Keep records of validations:
- Original upload date
- Source of emails
- Validation results summary
- Credits consumed
- Campaign performance per quality tier
Measure ROI
Measure ROI
Compare campaign performance by quality:
Common Issues
CSV Upload Fails
Problem: “Invalid CSV format” error Causes:- Non-UTF-8 encoding
- Inconsistent column counts
- Missing headers
- Special characters in data
- Open CSV in text editor
- Check for encoding issues
- Verify all rows have same column count
- Remove special characters or escape properly
No Email Column Detected
Problem: System can’t find email column Causes:- Column named something other than “email”
- Emails in wrong format
- Empty column
- Rename column to “email” (lowercase)
- Verify emails are in
user@domain.comformat - Check first few rows have valid data
Processing Takes Too Long
Problem: Validation stuck or timing out Causes:- Large batch size
- Many slow SMTP servers
- Network issues
- Check processing status in dashboard
- Wait for email notification
- If > 30 minutes, contact support
- Try smaller batches (< 5,000 emails)
Unexpected Credit Charges
Problem: Charged more credits than expected Causes:- Misunderstanding of credit system
- More high-quality emails than estimated
- Duplicates not removed
- Check CSV for duplicate emails
- Review validation results
- Filter by
credits_chargedcolumn - Only
valid+b2b_outbound_quality: "high"are charged
Programmatic CSV Validation
For automation, use the API directly:Next Steps
Upload CSV Now
Start validating your email list
API Integration
Integrate validation into your app