Skip to main content
Get SERP Traffic

Developer API

Get SERP Traffic API

Launch pay-as-you-go campaigns with prepaid credits. One credit equals one click — debited when the campaign starts. Standard and GSC verified traffic use separate balances.

Authentication

Generate an API key from your dashboard. Send it on every request:

Authorization: Bearer gst_live_…

Keys are shown once at creation. Revoke compromised keys immediately from the dashboard.

Credits & pricing

Buy prepaid packs in the dashboard. Each API campaign costs 1 credit per click (101000 clicks per request).

Standard packs

  • 100 standard clicks$1.49
  • 500 standard clicks$6.49
  • 1,000 standard clicks$9.99

GSC verified packs

  • 100 GSC verified clicks$13.99
  • 250 GSC verified clicks$32.99
  • 500 GSC verified clicks$64.99

If fulfillment fails after credits are debited, they are automatically refunded.

Base URL

https://getserptraffic.com/api/v1
GET/account

Check credit balances and API limits for the authenticated account.

Response

{
  "email": "you@example.com",
  "credits": { "standard": 500, "gsc": 100 },
  "limits": { "clicksMin": 10, "clicksMax": 1000 }
}
POST/campaigns

Create and start a campaign. Credits are spent immediately; the campaign is fulfilled on our worker.

Request body

{
  "websiteUrl": "https://example.com",   // required
  "clicks": 100,                          // 10–1000, required
  "country": "US",                        // ISO code, default US
  "pages": ["https://example.com/page"],  // optional, defaults to websiteUrl
  "trafficTypes": ["organic"],            // optional: organic, social, direct, referral
  "durationDays": 7,                      // 1–30, default 7
  "gscVerified": false,                   // true = uses GSC credits
  "keyword": "your target keyword"        // recommended when gscVerified is true
}

Response

{
  "campaign": {
    "orderId": "uuid",
    "campaignId": "worker-id",
    "status": "active",
    "clicks": 100,
    "creditsSpent": 100,
    "creditType": "standard",
    "creditsRemaining": 400
  }
}

Errors

  • 400 — invalid body (URL, clicks range, country, etc.)
  • 401 — missing or invalid API key
  • 402 — insufficient credits for the requested click count
  • 500 — fulfillment error (credits refunded if debited)

Example — standard campaign

curl -X POST https://getserptraffic.com/api/v1/campaigns \
  -H "Authorization: Bearer gst_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "websiteUrl": "https://example.com",
    "clicks": 100,
    "country": "US",
    "trafficTypes": ["organic"],
    "durationDays": 7
  }'

Example — GSC verified campaign

Set gscVerified: true and provide a keyword. Comma-separated keywords are supported (each runs the full SERP fallback chain).

curl -X POST https://getserptraffic.com/api/v1/campaigns \
  -H "Authorization: Bearer gst_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "websiteUrl": "https://example.com",
    "clicks": 50,
    "gscVerified": true,
    "keyword": "best widgets",
    "country": "US",
    "durationDays": 7
  }'
GET/campaigns/{orderId}

Poll campaign progress by order ID returned from POST /campaigns.

Response

{
  "campaign": {
    "orderId": "uuid",
    "status": "active",
    "clicks": 100,
    "clicksDelivered": 42,
    "progressPercent": 42,
    "isComplete": false,
    "gscVerified": false,
    "delivery": { "visitsToday": 12, "jobs": { "pending": 58, ... } }
  }
}

Supported countries

Use ISO 3166-1 alpha-2 codes: US, CA, GB, DE, FR, AU, IN, BR, MX, JP, NL, IT, ES, KR, AE

Need help?

Email support@getserptraffic.com for integration questions or higher-volume pricing.