Skip to main content

Smart Credit System

GTMAPIs uses a smart credit system that only charges for high-value personal emails. Role-based, catch-all, and invalid emails are completely free.

How Credits Work

1 Credit

Valid personal emailHigh B2B outbound value

0 Credits

Everything elseRole-based, catch-all, invalid, unknown

What Gets Charged?

Charged (1 Credit) ✅

Only emails that meet ALL these criteria:
  • ✅ Passes syntax validation
  • ✅ Domain has MX records
  • ✅ Mailbox verified via SMTP
  • NOT role-based (info@, support@, etc.)
  • NOT catch-all domain
  • ✅ Has b2b_outbound_quality: "high"
Examples:
// john@company.com - Personal email
{
  "result": "valid",
  "b2b_outbound_quality": "high",
  "credits_charged": 1
}

// sarah.williams@startup.io - Personal email
{
  "result": "valid",
  "b2b_outbound_quality": "high",
  "credits_charged": 1
}

Free (0 Credits) 🆓

Everything else is completely FREE:

Role-Based Emails

// info@company.com
{
  "result": "valid_role_based",
  "b2b_outbound_quality": "low",
  "credits_charged": 0,
  "charge_reason": "Role-based email - free for low B2B value"
}

Catch-All Domains

// anyone@catchall.com
{
  "result": "risky",
  "b2b_outbound_quality": "none",
  "credits_charged": 0,
  "charge_reason": "Catch-all domain - cannot verify individual mailbox"
}

Invalid Emails

// notreal@fake123.com
{
  "result": "invalid",
  "b2b_outbound_quality": "none",
  "credits_charged": 0,
  "charge_reason": "Domain has no MX records"
}

Unknown Verification

// blocked@restrictive.com
{
  "result": "unknown",
  "b2b_outbound_quality": "none",
  "credits_charged": 0,
  "charge_reason": "SMTP verification not permitted by server"
}

Real-World Example

Uploaded CSV: 1,000 emails
CategoryCountCreditsCost @ $0.001/credit
Personal emails (high quality)350350$0.35
Role-based (info@, support@)2500$0.00
Catch-all domains2000$0.00
Invalid emails1500$0.00
Unknown/unverifiable500$0.00
Total1,000350$0.35
Competitor pricing: 1,000 emails × 0.001=0.001 = **1.00** Your savings: $0.65 (65% less) 💰

Credit Balance Tracking

Your dashboard shows:
{
  "balance": 9650,           // Current available credits
  "total_purchased": 10000,  // All-time purchased
  "total_consumed": 350      // All-time consumed
}

Credit Purchase Tiers

Pricing coming soon! Currently in beta with free credits for early users.
Planned pricing tiers:
TierCreditsPricePer Credit
Starter10,000$10$0.001
Growth100,000$80$0.0008
Pro500,000$350$0.0007
EnterpriseCustomCustomNegotiable

Credit Deduction Flow

Deduction Timing

Credits are deducted AFTER successful validation:
  1. ✅ Upload CSV
  2. ✅ Check sufficient balance (estimate: all emails)
  3. ✅ Perform validation
  4. ✅ Count high-quality emails
  5. ✅ Deduct only charged emails
  6. ✅ Return results
You’re never charged upfront - only after we know exactly which emails are high-quality.

Insufficient Credits

If you don’t have enough credits:
{
  "error": "Insufficient credits",
  "required": 1000,
  "available": 500,
  "shortage": 500,
  "message": "You need 500 more credits to process this request"
}
Solutions:
  • Reduce batch size
  • Purchase more credits
  • Process in multiple batches

Test vs Live Mode

ModeAPI Key FormatCredits
Testgtm_test_*Unlimited (not charged)
Livegtm_live_*Deducted from balance
Test mode credits are NOT deducted from your real balance. Use test keys for development.

Credit Audit Trail

Every validation is tracked in credit_transactions:
{
  "id": "txn_123",
  "user_id": "user_456",
  "amount": -350,           // Negative = deduction
  "balance_after": 9650,
  "transaction_type": "validation",
  "metadata": {
    "validation_id": "val_789",
    "emails_processed": 1000,
    "emails_charged": 350,
    "email_types": {
      "high_quality": 350,
      "role_based": 250,
      "catch_all": 200,
      "invalid": 150,
      "unknown": 50
    }
  },
  "created_at": "2025-01-02T10:30:00Z"
}

Free Provider Emails

Question: Do you charge for Gmail/Yahoo/Outlook emails? Answer: Yes, if they’re personal and valid.
// john@gmail.com - Still charged
{
  "email": "john@gmail.com",
  "result": "valid",
  "is_free_provider": true,
  "is_role_based": false,
  "b2b_outbound_quality": "high",
  "credits_charged": 1,
  "charge_reason": "Valid personal email with high B2B outbound quality"
}
Why? Many freelancers and small business owners use personal emails for business. They’re still valuable for B2B outreach.

API Response Fields

Every validation includes credit information:
interface ValidationResult {
  // ... other fields
  credits_charged: 0 | 1;
  charge_reason: string;
  b2b_outbound_quality: 'high' | 'low' | 'none';
}

Best Practices

Optimize Credit Usage

  1. Deduplicate first - Remove duplicates before uploading
  2. Filter obvious invalids - Basic syntax checks locally
  3. Batch processing - Upload all at once for efficiency
  4. Use test mode - Develop with test keys first

Monitor Credit Usage

  1. Check dashboard regularly - Track balance and consumption
  2. Set up alerts - Get notified at low balance
  3. Review transactions - Audit credit deductions
  4. Analyze quality distribution - Understand your list quality

Maximize ROI

  1. Focus on high-quality - Prioritize charged emails in campaigns
  2. Track conversion rates - Measure ROI per quality tier
  3. Improve list sources - Buy from quality sources
  4. Clean regularly - Keep lists fresh

Next Steps