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

    Connections

    API reference for connections endpoints.

    Auto-generated

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

    GET /api/v1/connections

    GET
    /api/v1/connections

    List active OAuth2 connections

    Request Example

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

    Response Example

    JSON
    {
      "connections": []
    }

    GET /api/v1/connections/callback/{provider}

    GET
    /api/v1/connections/callback/{provider}

    Handle OAuth2 authorization callback

    Parameters

    NameTypeRequiredDescription
    providerstring
    Required
    provider
    codestring
    Required
    Authorization code from provider
    statestring
    Required
    State token echoed from initiation

    Request Example

    Bash
    curl -X GET 'https://api.alterlab.io/api/v1/connections/callback/<provider>?code=<code>&state=<state>' \
      -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "id": "example",
      "provider": "example",
      "display_name": "example",
      "scopes": [],
      "connected_at": "example",
      "updated_at": "example"
    }

    POST /api/v1/connections/connect/{provider}

    POST
    /api/v1/connections/connect/{provider}

    Initiate OAuth2 PKCE flow for a provider

    Parameters

    NameTypeRequiredDescription
    providerstring
    Required
    provider
    scopesstringOptionalSpace-separated scope override

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/connections/connect/<provider> \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "authorization_url": "example",
      "state": "example",
      "provider": "example"
    }

    DELETE /api/v1/connections/{connection_id}

    DELETE
    /api/v1/connections/{connection_id}

    Disconnect an OAuth2 provider

    Parameters

    NameTypeRequiredDescription
    connection_idstring
    Required
    connection_id

    Request Example

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

    Response Example

    JSON
    {
      "disconnected": true,
      "provider": "example"
    }

    POST /api/v1/connections/{connection_id}/refresh

    POST
    /api/v1/connections/{connection_id}/refresh

    On-demand refresh of an OAuth2 access token

    Parameters

    NameTypeRequiredDescription
    connection_idstring
    Required
    connection_id

    Request Example

    Bash
    curl -X POST https://api.alterlab.io/api/v1/connections/<connection_id>/refresh \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json"

    Response Example

    JSON
    {
      "id": "example",
      "provider": "example",
      "display_name": "example",
      "scopes": [],
      "connected_at": "example",
      "updated_at": "example"
    }
    Last updated: June 2026

    On this page