SSpiderIQ
SSpiderIQ

Docs / api-reference/bulk-lead-sourcing

Bulk Lead Sourcing

1 endpoints from the published OpenAPI import.

POST/api/v1/bulk-lead-sourcing/submit

Submit a bulk lead-sourcing run

Source leads in bulk from a provider: ONE provider job covering many search terms and locations, returning one flat result set that is then deduplicated and fanned out one job per lead.

The provider is not contacted during this request. A manifest row is created and returned immediately; the bulk worker drives it through submit -> poll -> fetch -> parse -> dedup -> fan-out. Poll GET /api/v1/jobs/{job_id}/status for progress.

settings.workflow chooses which downstream stages each sourced lead runs through; source.source_kind bounds which of them are eligible (a LinkedIn company has no address, so it can never feed VayaPin).

Runs are size-checked before anything is spent: a submission whose estimated record count exceeds your per-job ceiling — or whose estimated cost would cross your 24-hour spend cap — is refused with 429 and nothing is charged.

Try it

Examples

cURL
curl -X POST 'https://spideriq.ai/api/v1/bulk-lead-sourcing/submit' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "source": {
    "provider": "string",
    "source_kind": "string",
    "queries": [
      "string"
    ],
    "upload": {
      "upload_id": "string"
    },
    "selection": {
      "selection_id": "string"
    },
    "geo": [
      {
        "label": "string",
        "latitude": 0.0,
        "longitude": 0.0,
        "country_code": "string",
        "region": "string"
      }
    ],
    "limits": {
      "max_records_per_query": 0,
      "max_total_records": 0
    },
    "filters": {},
    "language": "en"
  },
  "settings": {
    "workflow": {
      "spidersite": {
        "enabled": {},
        "mode": {},
        "max_pages": {},
        "crawl_strategy": {},
        "target_pages": {},
        "enable_spa": {},
        "spa_timeout": {},
        "extract_team": {},
        "extract_company_info": {},
        "extract_pain_points": {},
        "product_description": {},
        "icp_description": {},
        "compendium": {},
        "timeout": {}
      },
      "spiderverify": {
        "enabled": {},
        "check_gravatar": {},
        "check_dnsbl": {},
        "smtp_timeout_secs": {},
        "max_emails_per_business": {}
      },
      "vayapin": {
        "enabled": {}
      },
      "social_media_enrichment": {
        "enabled": {}
      },
      "smartlead": {
        "enabled": {},
        "connection_id": {},
        "remote_campaign_id": {},
        "remote_campaign_name": {},
        "limit": {},
        "only_with_vayapin_seo": {},
        "only_with_vayapin_pin": {},
        "field_map": {}
      },
      "filter_social_media": true,
      "filter_review_sites": true,
      "filter_directories": true,
      "filter_maps": true
    }
  },
  "priority": 5,
  "test": false
}'
Python
import httpx

resp = httpx.post(
    "https://spideriq.ai/api/v1/bulk-lead-sourcing/submit",
    headers={"Authorization": "Bearer <token>", "Content-Type": "application/json"},
    json={"source": {"provider": "string", "source_kind": "string", "queries": ["string"], "upload": {"upload_id": "string"}, "selection": {"selection_id": "string"}, "geo": [{"label": "string", "latitude": 0.0, "longitude": 0.0, "country_code": "string", "region": "string"}], "limits": {"max_records_per_query": 0, "max_total_records": 0}, "filters": {}, "language": "en"}, "settings": {"workflow": {"spidersite": {"enabled": {}, "mode": {}, "max_pages": {}, "crawl_strategy": {}, "target_pages": {}, "enable_spa": {}, "spa_timeout": {}, "extract_team": {}, "extract_company_info": {}, "extract_pain_points": {}, "product_description": {}, "icp_description": {}, "compendium": {}, "timeout": {}}, "spiderverify": {"enabled": {}, "check_gravatar": {}, "check_dnsbl": {}, "smtp_timeout_secs": {}, "max_emails_per_business": {}}, "vayapin": {"enabled": {}}, "social_media_enrichment": {"enabled": {}}, "smartlead": {"enabled": {}, "connection_id": {}, "remote_campaign_id": {}, "remote_campaign_name": {}, "limit": {}, "only_with_vayapin_seo": {}, "only_with_vayapin_pin": {}, "field_map": {}}, "filter_social_media": true, "filter_review_sites": true, "filter_directories": true, "filter_maps": true}}, "priority": 5, "test": false},
)
resp.raise_for_status()
print(resp.json())
JavaScript
const resp = await fetch("https://spideriq.ai/api/v1/bulk-lead-sourcing/submit", {
  method: "POST",
  headers: { "Authorization": "Bearer <token>", "Content-Type": "application/json" },
  body: JSON.stringify({"source": {"provider": "string", "source_kind": "string", "queries": ["string"], "upload": {"upload_id": "string"}, "selection": {"selection_id": "string"}, "geo": [{"label": "string", "latitude": 0.0, "longitude": 0.0, "country_code": "string", "region": "string"}], "limits": {"max_records_per_query": 0, "max_total_records": 0}, "filters": {}, "language": "en"}, "settings": {"workflow": {"spidersite": {"enabled": {}, "mode": {}, "max_pages": {}, "crawl_strategy": {}, "target_pages": {}, "enable_spa": {}, "spa_timeout": {}, "extract_team": {}, "extract_company_info": {}, "extract_pain_points": {}, "product_description": {}, "icp_description": {}, "compendium": {}, "timeout": {}}, "spiderverify": {"enabled": {}, "check_gravatar": {}, "check_dnsbl": {}, "smtp_timeout_secs": {}, "max_emails_per_business": {}}, "vayapin": {"enabled": {}}, "social_media_enrichment": {"enabled": {}}, "smartlead": {"enabled": {}, "connection_id": {}, "remote_campaign_id": {}, "remote_campaign_name": {}, "limit": {}, "only_with_vayapin_seo": {}, "only_with_vayapin_pin": {}, "field_map": {}}, "filter_social_media": true, "filter_review_sites": true, "filter_directories": true, "filter_maps": true}}, "priority": 5, "test": false})
});
const data = await resp.json();
console.log(data);
Go
package main

import (
	"net/http"
	"strings"
)

func main() {
	body := strings.NewReader(`{"source": {"provider": "string", "source_kind": "string", "queries": ["string"], "upload": {"upload_id": "string"}, "selection": {"selection_id": "string"}, "geo": [{"label": "string", "latitude": 0.0, "longitude": 0.0, "country_code": "string", "region": "string"}], "limits": {"max_records_per_query": 0, "max_total_records": 0}, "filters": {}, "language": "en"}, "settings": {"workflow": {"spidersite": {"enabled": {}, "mode": {}, "max_pages": {}, "crawl_strategy": {}, "target_pages": {}, "enable_spa": {}, "spa_timeout": {}, "extract_team": {}, "extract_company_info": {}, "extract_pain_points": {}, "product_description": {}, "icp_description": {}, "compendium": {}, "timeout": {}}, "spiderverify": {"enabled": {}, "check_gravatar": {}, "check_dnsbl": {}, "smtp_timeout_secs": {}, "max_emails_per_business": {}}, "vayapin": {"enabled": {}}, "social_media_enrichment": {"enabled": {}}, "smartlead": {"enabled": {}, "connection_id": {}, "remote_campaign_id": {}, "remote_campaign_name": {}, "limit": {}, "only_with_vayapin_seo": {}, "only_with_vayapin_pin": {}, "field_map": {}}, "filter_social_media": true, "filter_review_sites": true, "filter_directories": true, "filter_maps": true}}, "priority": 5, "test": false}`)
	req, _ := http.NewRequest("POST", "https://spideriq.ai/api/v1/bulk-lead-sourcing/submit", body)
	req.Header.Set("Authorization", "Bearer <token>")
	req.Header.Set("Content-Type", "application/json")
	resp, _ := http.DefaultClient.Do(req)
	defer resp.Body.Close()
}

Responses

StatusDescription
202Successful Response
201Job created and queued successfully
401Authentication failed
403Client account is inactive
422Validation error - Invalid payload
429Rate limit exceeded
500Internal server error
503Queue service unavailable