CSV Upload Guide
Upload and validate CSV files containing up to 10,000 emails through the GTMAPIs web dashboard.Prerequisites
Before uploading a CSV:- Create an account
- Generate an API key
- Ensure you have sufficient credits
Step-by-Step Process
Upload to Dashboard
Go to Dashboard and click “Upload CSV”
CSV Format Requirements
Supported Formats
- File type:
.csvonly - Max size: 10,000 emails per upload
- 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 8 new columns with validation results:| Column | Description | Example Values |
|---|---|---|
result | Validation result | valid, valid_role_based, risky, invalid, unknown |
reason | Explanation of result | ”Valid personal email”, “Role-based email address” |
is_role_based | Role-based flag | true, false |
is_free_provider | Free provider flag | true, false |
is_catch_all | Catch-all flag | true, false |
b2b_outbound_quality | B2B quality score | high, low, none |
credits_charged | Credits used | 0, 1 |
charge_reason | Charge explanation | ”Valid personal email with high B2B outbound quality” |
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
| Emails | Estimated Time |
|---|---|
| 100 | ~10 seconds |
| 1,000 | ~1-2 minutes |
| 5,000 | ~5-10 minutes |
| 10,000 | ~10-20 minutes |
Email Notification
When validation completes:- Email sent to your account address
- CSV file attached
- Summary statistics included
- Notification usually arrives within 1 minute
Credit Usage
How Credits Are Deducted
Credits are deducted AFTER validation:- Upload CSV (no charge yet)
- System validates all emails
- Counts high-quality results
- Deducts only for
result: "valid"+b2b_outbound_quality: "high" - Returns results
Example Credit Usage
Uploaded CSV: 1,000 emails| Result | Count | Credits |
|---|---|---|
| Valid personal | 400 | 400 |
| Role-based | 250 | 0 (FREE) |
| Catch-all | 200 | 0 (FREE) |
| Invalid | 150 | 0 (FREE) |
| Total | 1,000 | 400 |
Insufficient Credits
If you don’t have enough credits:- Upload is rejected before processing
- 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