Expanded Limits, Across all tiers - Our Gift to you! Learn more →

AlterLab
SearchResearchPricingComparePlaygroundBlogDocsChangelog
    AlterLabAlterLab
    PricingComparePlaygroundBlogDocsChangelog
    IntroductionQuickstartInstallationYour First Request
    REST APICrawl APIMap APISearch APIResearch APINewSERP APINewExtract APIAIJob PollingDomain StatsNewGeocode APINewNews APIBatch ResultsNewAPI KeysSessions APINewEnterprise APIEnterprise
    AccountAutoAI VisibilityAutoAlertsAutoAuthAutoBillingAutoCrawlAutoExtractAutoIntegrationsAutoKeysAutoMapAutoMonitorsAutoOrganizationsAutoResearch SchedulesAutoRunsAutoSchedulesAutoScrapeAutoSearchAutoSearch SchedulesAutoSessionsAutoUser WebhooksAutoV1 EndpointsAutoAffiliatesAutoAgentAutoAgent OnboardingAutoAgent VisibilityAutoAnalyticsAutoApprovalsAutoArtifactsAutoAttributionAutoB2BAutoBatchAutoBeta FeaturesAutoBlogAutoBuyerAutoChatAutoConnectionsAutoConnectorsAutoContact ListsAutoCreatorAutoCross SellAutoDashboardAutoDefaultsAutoDomainsAutoEmail PreferencesAutoFcAutoHandsAutoHealthAutoJobsAutoListingsAutoMaintenanceAutoNewsAutoOauthAutoOauth GrantsAutoPage InspectAutoPlatformAutoPresetsAutoPricingAutoPrivacyAutoPublicAutoPublic PagesAutoReferralAutoReferralsAutoReportsAutoResearchAutoSecretsAutoSerpAutoSSOAutoStorefrontsAutoSupportAutoTemplatesAutoToolsAutoTrackAutoUsageAutoUsage TagsAutoUserAutoWorkflowsAutoWorkspacesAutoWebhooksAuto
    OverviewPythonNode.jsCLI
    Guides OverviewJavaScript RenderingBrowser ActionsOutput FormatsPDF & OCRCachingWebhooksJSON Schema FilteringWebSocket Real-TimeBring Your Own ProxyProSticky SessionsProAuthenticated ScrapingNewHTTP Methods & BodiesNewStructured ExtractionAIWeb SearchAgent and RAG GroundingResearch JobsAgent RunsSite MappingWeb CrawlingBatch ScrapingSchedulerData MarketplaceSelling DataAgent OnboardingEmbeddingsKeyword IdeasAI VisibilityWorkflowsChange DetectionCloud Storage ExportSpend LimitsOrganizations & TeamsScrape TemplatesCustom ConnectorsSecretsContact ListsPlatform Sub-AccountsReferrals & AffiliatesAlerts & NotificationsExtraction ProfilesAIBYOK ExtractionAIOAuth2 Machine-to-MachineSupport & TicketsUnsupported Targets
    Tutorials OverviewStructured ExtractionAIE-commerce ScrapingNews MonitoringPrice MonitoringMulti-Page CrawlingMonitoring DashboardAI Agent / MCPMCPAI Research AgentAISite CrawlingData Pipeline to Cloud
    E-commerceLead GenerationChange MonitoringRAG & AI PipelinesAIResearch
    Reference OverviewPricingRate LimitsReliabilityReliability ContractError CodesChangelogVersioning
    Migrations OverviewFrom FirecrawlFrom ApifyFrom ScrapingBee / ScraperAPIFrom Crawl4AIFrom SpiderSearch to SERPFirecrawl v0 API ReferenceLegacy
    OverviewMCP ServerAIn8n NodeLangChainAICrewAIAILlamaIndexAISupabaseChrome ExtensionSoon
    PlaygroundPricingStatus

    Up to 5,000 free requests · No credit card

    API Reference
    Auto-generated

    Contact Lists

    API reference for contact lists endpoints.

    Auto-generated

    This page was generated from the OpenAPI spec. Runmake generate-docs to refresh after spec changes.

    POST /api/v1/contact-lists

    POST
    /api/v1/contact-lists

    Create Contact List

    Parameters

    NameTypeRequiredDescription
    namestring
    Required
    Display name for the list
    descriptionstringOptionaldescription
    processor_notice_acceptedboolean
    Required
    Must be True. Owner acknowledges that AlterLab is a data processor under GDPR/CCPA and that the owner is responsible for lawful contact collection.
    auto_delete_daysintegerOptionalauto_delete_days

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/contact-lists \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "example_name",
        "processor_notice_accepted": false
      }'

    Response Example

    JSON
    {
      "status": "ok"
    }

    GET /api/v1/contact-lists

    GET
    /api/v1/contact-lists

    List Contact Lists

    Parameters

    NameTypeRequiredDescription
    pageintegerOptionalpageDefault: 1
    limitintegerOptionallimitDefault: 20
    qstringOptionalq

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/contact-lists \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "lists": [],
      "total": 0,
      "page": 0,
      "limit": 0,
      "total_pages": 0
    }

    DELETE /api/v1/contact-lists/erasure

    DELETE
    /api/v1/contact-lists/erasure

    Erase Contact

    Parameters

    NameTypeRequiredDescription
    emailstring
    Required
    Email address to erase

    Request Example

    Bash
    curl -X DELETE 'https://api.alterlab.io/api/v1/contact-lists/erasure?email=<email>' \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "email": "example",
      "contacts_deleted": 0,
      "lists_affected": 0
    }

    GET /api/v1/contact-lists/policy

    GET
    /api/v1/contact-lists/policy

    Get Processor Policy

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/contact-lists/policy \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    GET /api/v1/contact-lists/{list_id}

    GET
    /api/v1/contact-lists/{list_id}

    Get Contact List

    Parameters

    NameTypeRequiredDescription
    list_idstring
    Required
    list_id

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/contact-lists/<list_id> \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "id": "example",
      "name": "example",
      "description": "example",
      "processor_notice_accepted": true,
      "auto_delete_days": "example",
      "contact_count": 0
    }

    PATCH /api/v1/contact-lists/{list_id}

    PATCH
    /api/v1/contact-lists/{list_id}

    Update Contact List

    Parameters

    NameTypeRequiredDescription
    list_idstring
    Required
    list_id
    namestringOptionalname
    descriptionstringOptionaldescription
    auto_delete_daysintegerOptionalauto_delete_days

    Request Example

    Bash
    curl -X PATCH https://api.alterlab.io/api/v1/contact-lists/<list_id> \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "id": "example",
      "name": "example",
      "description": "example",
      "processor_notice_accepted": true,
      "auto_delete_days": "example",
      "contact_count": 0
    }

    DELETE /api/v1/contact-lists/{list_id}

    DELETE
    /api/v1/contact-lists/{list_id}

    Delete Contact List

    Parameters

    NameTypeRequiredDescription
    list_idstring
    Required
    list_id

    Request Example

    Bash
    curl -X DELETE https://api.alterlab.io/api/v1/contact-lists/<list_id> \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    POST /api/v1/contact-lists/{list_id}/contacts

    POST
    /api/v1/contact-lists/{list_id}/contacts

    Add Contact

    Parameters

    NameTypeRequiredDescription
    list_idstring
    Required
    list_id
    emailstring
    Required
    Email
    namestringOptionalname
    companystringOptionalcompany
    custom_fieldsobjectOptionalCustom Fields
    statusstringOptionalOne of: new/contacted/replied/converted/bounced/unsubscribedDefault: new
    tagsstring[]OptionalTags
    consent_basis"legitimate_interest" | "contract" | "consent" | "none"OptionalGDPR-lawful basis for sending marketing email.
    data_sourcestringOptionalHow this contact was collected: manual, csv_import, workflow, apiDefault: manual
    source_urlstringOptionalsource_url
    source_workflow_idstringOptionalsource_workflow_id

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/contact-lists/<list_id>/contacts \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "email": "example_email",
        "status": "example_status"
      }'

    Response Example

    JSON
    {
      "status": "ok"
    }

    GET /api/v1/contact-lists/{list_id}/contacts

    GET
    /api/v1/contact-lists/{list_id}/contacts

    List Contacts

    Parameters

    NameTypeRequiredDescription
    list_idstring
    Required
    list_id
    pageintegerOptionalpageDefault: 1
    limitintegerOptionallimitDefault: 50
    statusstringOptionalstatus
    qstringOptionalq

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/contact-lists/<list_id>/contacts \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "contacts": [],
      "total": 0,
      "page": 0,
      "limit": 0,
      "total_pages": 0
    }

    PATCH /api/v1/contact-lists/{list_id}/contacts/{contact_id}

    PATCH
    /api/v1/contact-lists/{list_id}/contacts/{contact_id}

    Update Contact

    Parameters

    NameTypeRequiredDescription
    list_idstring
    Required
    list_id
    contact_idstring
    Required
    contact_id
    namestringOptionalname
    companystringOptionalcompany
    custom_fieldsobjectOptionalcustom_fields
    statusstringOptionalstatus
    tagsstring[]Optionaltags
    consent_basis"legitimate_interest" | "contract" | "consent" | "none"OptionalGDPR-lawful basis for sending marketing email.

    Request Example

    Bash
    curl -X PATCH https://api.alterlab.io/api/v1/contact-lists/<list_id>/contacts/<contact_id> \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "id": "example",
      "list_id": "example",
      "email": "example",
      "name": "example",
      "company": "example",
      "custom_fields": {}
    }

    GET /api/v1/contact-lists/{list_id}/export

    GET
    /api/v1/contact-lists/{list_id}/export

    Export Contacts

    Parameters

    NameTypeRequiredDescription
    list_idstring
    Required
    list_id

    Request Example

    Bash
    curl -X GET https://api.alterlab.io/api/v1/contact-lists/<list_id>/export \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "status": "ok"
    }

    POST /api/v1/contact-lists/{list_id}/import

    POST
    /api/v1/contact-lists/{list_id}/import

    Import contacts from a CSV file

    Parameters

    NameTypeRequiredDescription
    list_idstring
    Required
    list_id

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/contact-lists/<list_id>/import \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "list_id": "example",
      "imported": 0,
      "skipped": 0,
      "errors": 0,
      "error_samples": [],
      "truncated": true
    }
    Last updated: June 2026

    On this page