RankVectorsRankVectors
    FeaturesPricing
    Log in →
    • Introduction
    • Quickstart
    • Authentication
    • Syncing Content
    • Generating Link Suggestions
    • Implementing Links
    • Integrations Overview
    • JavaScript SDK
    • TypeScript SDK
    • Python SDK
    • Go SDK
    • PHP SDK
    • C# SDK
    • Ruby SDK
    • Rust SDK
    • API Reference Overview
    • Projects API
    • Pages API
    • Suggestions API
    • Implementations API
    • Analytics API
    • Integrations Overview
    • WordPress Integration
    • Shopify Integration
    • Vercel Integration
    • Custom Integration

    Custom Integration

    Build your own RankVectors integration

    Overview

    Build a custom integration using the RankVectors REST API or SDKs for any platform or CMS.

    Using the REST API

    Authentication

    Include your API key in all requests:

    Authorization: Bearer YOUR_API_KEY
    

    Sync Content

    curl -X POST https://api.rankvectors.com/api/projects/{projectId}/pages/batch \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '[
        {
          "url": "https://example.com/page1",
          "content": "Content...",
          "title": "Page 1"
        }
      ]'
    

    Generate Suggestions

    curl -X POST https://api.rankvectors.com/api/projects/{projectId}/suggestions \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "sourcePageUrl": "https://example.com/page",
        "limit": 10
      }'
    

    Using SDKs

    JavaScript/TypeScript

    import { RankVectors } from '@rankvectors/rankvectors-javascript'
    
    const client = new RankVectors({
      apiKey: 'YOUR_API_KEY'
    })
    
    // Sync content
    await client.pages.sync(projectId, {
      url: 'https://example.com/page',
      content: 'Content...'
    })
    

    Python

    from rankvectors import RankVectors
    
    client = RankVectors(api_key="YOUR_API_KEY")
    
    # Sync content
    client.pages.sync(project_id, {
        "url": "https://example.com/page",
        "content": "Content..."
    })
    

    Webhooks

    Set up webhooks to sync content automatically:

    // Your webhook endpoint
    app.post('/webhook/rankvectors', async (req, res) => {
      const { url, content, title } = req.body
      
      // Sync to RankVectors
      await client.pages.sync(projectId, {
        url,
        content,
        title
      })
      
      res.json({ success: true })
    })
    

    Implementation

    Implement links programmatically:

    // Get suggestions
    const suggestions = await client.suggestions.list(projectId)
    
    // Implement links in your CMS
    for (const suggestion of suggestions) {
      await updatePage(suggestion.sourcePageUrl, {
        content: addLink(content, suggestion)
      })
      
      // Mark as implemented
      await client.suggestions.update(projectId, suggestion.id, {
        status: 'implemented'
      })
    }
    

    Best Practices

    ℹ️

    Use batch endpoints for multiple pages to reduce API calls.

    1. Batch operations: Use batch sync for multiple pages
    2. Error handling: Implement retry logic for failed requests
    3. Rate limiting: Respect API rate limits
    4. Webhooks: Use webhooks for real-time updates
    5. Caching: Cache content when appropriate

    Example Integrations

    Headless CMS

    // Sync content from headless CMS
    async function syncFromCMS(projectId) {
      const pages = await fetchPagesFromCMS()
      
      await client.pages.batchSync(projectId, pages.map(page => ({
        url: page.url,
        content: page.content,
        title: page.title
      })))
    }
    

    Custom CMS

    // Custom CMS integration
    class CustomCMSIntegration {
      constructor(apiKey, projectId) {
        this.client = new RankVectors({ apiKey })
        this.projectId = projectId
      }
      
      async sync(page) {
        return this.client.pages.sync(this.projectId, {
          url: page.url,
          content: page.content,
          title: page.title
        })
      }
      
      async getSuggestions(sourceUrl) {
        return this.client.suggestions.generate(this.projectId, {
          sourcePageUrl: sourceUrl,
          limit: 10
        })
      }
    }
    

    Support

    For help building custom integrations, contact support at support@rankvectors.com.

    PreviousVercel Integration
    RankVectorsRankVectors

    AI-powered internal linking optimization. Improve your SEO with intelligent semantic analysis and automated link recommendations.

    XGitHubLinkedIn

    Product

    • Features
    • Pricing
    • Documentation
    • Integrations

    Support

    • Documentation
    • Quick Start
    • API Reference
    • Contact

    Company

    • About
    • Blog
    • Contact
    • Partners

    Legal

    • Privacy Policy
    • Terms of Service
    • Cookie Policy

    © 2025 RankVectors. All rights reserved.