Accessibility Tools

  • Content scaling 100%
  • Font size 100%
  • Line height 100%
  • Letter spacing 100%
  • Manifeste
  • Simplifier l'entreprise
  • Outils
  • Mieux travailler
  • Contact
Menu
  • Manifeste
  • Simplifier l'entreprise
  • Outils
  • Mieux travailler
  • Contact

Oui Monitor

Non défini

7 minute de lecture
SEO monitoring, keyword tracking, backlink analysis, competitor intelligence, and comprehensive site audits.

Sur cette page

  • Overview
  • Authentication
  • GET /api/health
  • Response
  • Domain Endpoints
  • GET /api/domains
  • Response
  • GET /api/domains/{id}
  • Parameters
  • Response
  • GET /api/domains/{id}/summary
  • Response
  • SEO Data Endpoints
  • GET /api/domains/{id}/seo/history
  • Parameters
  • Response
  • GET /api/domains/{id}/seo/keywords
  • Parameters
  • Response
  • GET /api/domains/{id}/seo/urls
  • Parameters
  • Response
  • GET /api/domains/{id}/seo/competitors
  • Parameters
  • Response
  • GET /api/domains/{id}/seo/opportunities
  • Parameters
  • Response
  • GET /api/domains/{id}/seo/opportunities/stored
  • Parameters
  • Response
  • GET /api/domains/{id}/seo/backlinks
  • Response
  • Rankings & Progression
  • GET /api/domains/{id}/seo/rankings
  • Parameters
  • Response
  • GET /api/domains/{id}/seo/keyword-history
  • Parameters
  • Response
  • SERP Data
  • GET /api/serp
  • Parameters
  • Response
  • GET /api/domains/{id}/seo/serps
  • Parameters
  • Response
  • Site Audits
  • GET /api/audit/quick
  • Parameters
  • Response
  • GET /api/audit/full
  • Parameters
  • GET /api/audit/history
  • Parameters
  • Response
  • GET /api/domains/{id}/audit/quick
  • GET /api/domains/{id}/audit/full
  • Error Handling

Autres documents

  • Oui Compose
  • Oui Device
  • Oui Humans
  • Oui Incoming
  • Oui Outgoing
  • Work
  • Oui Engage
  • Oui Chat
  • Oui Answer
  • Oui Create
  • Gestion des cookies
SEO monitoring, keyword tracking, backlink analysis, competitor intelligence, and comprehensive site audits.

SEO monitoring, keyword tracking, backlink analysis, competitor intelligence, and comprehensive site audits.

Base URL: https://oui-monitor:8890/api

Overview

Authentication

GET /api/health

Response

{
  "status": "ok",
  "timestamp": "2025-12-30T15:31:59+01:00",
  "version": "1.0.0"
}

Domain Endpoints

GET /api/domains

Retrieve all domains accessible to the API key.

Response

{
  "success": true,
  "message": "Success",
  "data": [
    {
      "id": 1,
      "name": "Example Site",
      "domain": "example.com",
      "force_path": "domaine",
      "is_active": 1,
      "last_sync_at": "2025-12-30 10:00:00"
    }
  ]
}

GET /api/domains/{id}

Parameters

ParameterTypeDescription
idintegerRequired Domain ID

Response

{
  "success": true,
  "data": {
    "id": 1,
    "name": "Example Site",
    "domain": "example.com",
    "force_path": "domaine",
    "is_active": 1,
    "created_at": "2025-01-01 00:00:00",
    "last_sync_at": "2025-12-30 10:00:00"
  }
}

GET /api/domains/{id}/summary

Get comprehensive summary statistics for a domain.

Response

{
  "success": true,
  "data": {
    "seo": {
      "estimated_traffic": 1500,
      "total_keywords": 209,
      "keywords_top10": 31
    },
    "keywords": {
      "total": 209,
      "pos1": 2,
      "top3": 7,
      "top10": 31,
      "total_traffic": 249
    },
    "backlinks": {
      "trust_flow": 25,
      "citation_flow": 30,
      "backlinks_count": 150,
      "referring_domains": 45
    },
    "competitors_count": 12
  }
}

SEO Data Endpoints

GET /api/domains/{id}/seo/history

Parameters

ParameterTypeDefaultDescription
limitinteger100Max records to return

Response

{
  "success": true,
  "data": [
    {
      "Date": "2025-12",
      "Est": 1500,
      "Nbkw": 209,
      "kw1": 2,
      "kw3": 7,
      "kw10": 31,
      "kw20": 85,
      "Nburl": 45,
      "Rank": 125000
    }
  ]
}

GET /api/domains/{id}/seo/keywords

Parameters

ParameterTypeDefaultDescription
pageinteger1Page number
per_pageinteger50Results per page (max 100)
searchstring-Filter by keyword
position_maxinteger-Filter by max position
sortstringpositionSort by: position, volume, traffic

Response

{
  "success": true,
  "data": [
    {
      "id": 1,
      "keyword": "example keyword",
      "url": "https://example.com/page",
      "position": 5,
      "previous_position": 7,
      "search_volume": 1200,
      "estimated_traffic": 150,
      "cpc": "1.50",
      "seo_difficulty": 45,
      "last_checked_at": "2025-12-30"
    }
  ],
  "meta": {
    "total": 209,
    "page": 1,
    "per_page": 50,
    "total_pages": 5
  }
}

GET /api/domains/{id}/seo/urls

Parameters

ParameterTypeDefaultDescription
limitinteger100Max URLs to return

Response

{
  "success": true,
  "data": [
    {
      "Url": "https://example.com/page",
      "Est": 500,
      "Nbkw": 15,
      "GtPot": 200
    }
  ]
}

GET /api/domains/{id}/seo/competitors

Parameters

ParameterTypeDefaultDescription
limitinteger100Max competitors to return

Response

{
  "success": true,
  "data": [
    {
      "Conc": "competitor.com",
      "Ind": 85,
      "Est": 5000,
      "Nbkw": 500,
      "kw10": 150,
      "kw1": 25,
      "Nburl": 80
    }
  ]
}

GET /api/domains/{id}/seo/opportunities

Parameters

ParameterTypeDefaultDescription
typestringshort_termshort_term or long_term
limitinteger50Max opportunities

Response

{
  "success": true,
  "data": [
    {
      "Kw": "target keyword",
      "Rx": 15,
      "RxPot": 5,
      "Vol": 2400,
      "Est": 50,
      "EstPot": 300,
      "GtPot": 250,
      "cpc": "2.50",
      "SeoKd": 35
    }
  ]
}

GET /api/domains/{id}/seo/opportunities/stored

Parameters

ParameterTypeDefaultDescription
typestring-short_term, long_term, or omit for both
limitinteger50Max results (max 200)
sortstringtraffic_gainSort by: traffic_gain, volume, position, potential

Response

{
  "success": true,
  "data": {
    "domain": "example.com",
    "count": 25,
    "opportunities": [
      {
        "id": 1,
        "type": "short_term",
        "keyword": "target keyword",
        "current_position": 15,
        "potential_position": 5,
        "search_volume": 2400,
        "current_traffic": 50,
        "potential_traffic": 300,
        "traffic_gain": 250,
        "cpc": "2.50",
        "seo_difficulty": 35
      }
    ]
  }
}

GET /api/domains/{id}/seo/backlinks

Response

{
  "success": true,
  "data": {
    "trust_flow": 25,
    "citation_flow": 30,
    "backlinks_count": 1500,
    "referring_domains": 450,
    "dofollow_count": 1200,
    "nofollow_count": 300
  }
}

Rankings & Progression

GET /api/domains/{id}/seo/rankings

Parameters

ParameterTypeDefaultDescription
daysinteger30Time period (max 365)

Response

{
  "success": true,
  "data": {
    "domain": "example.com",
    "current": {
      "total_keywords": 219,
      "pos1": 2,
      "top3": 7,
      "top10": 35,
      "top20": 85,
      "avg_position": 26.99,
      "total_traffic": 249
    },
    "history": [
      {
        "date": "2025-12-01",
        "total_keywords": 200,
        "keywords_pos1": 1,
        "keywords_top3": 5,
        "keywords_top10": 30,
        "keywords_top20": 75,
        "avg_position": 28.5,
        "total_traffic": 220
      }
    ]
  }
}

GET /api/domains/{id}/seo/keyword-history

Parameters

ParameterTypeDefaultDescription
keywordstring-Required Keyword to track
daysinteger90Time period (max 365)

Response

{
  "success": true,
  "data": {
    "keyword": "target keyword",
    "current": {
      "id": 123,
      "keyword": "target keyword",
      "url": "https://example.com/page",
      "position": 5,
      "previous_position": 7,
      "search_volume": 2400,
      "estimated_traffic": 300
    },
    "history": [
      {
        "date": "2025-10-01",
        "position": 12,
        "url": "https://example.com/page",
        "search_volume": 2400,
        "estimated_traffic": 100
      }
    ]
  }
}

SERP Data

GET /api/serp

Parameters

ParameterTypeDefaultDescription
keywordstring-Required Keyword to search
locationstringfrCountry code (fr, us, uk, etc.)

Response

{
  "success": true,
  "data": [
    {
      "position": 1,
      "url": "https://result1.com/page",
      "title": "Page Title",
      "description": "Meta description..."
    },
    {
      "position": 2,
      "url": "https://result2.com/page",
      "title": "Page Title 2",
      "description": "Meta description..."
    }
  ]
}

GET /api/domains/{id}/seo/serps

Parameters

ParameterTypeDefaultDescription
position_maxinteger10Only keywords in top N positions (max 100)
limitinteger20Max keywords to check (max 50)
locationstringfrCountry code

Response

{
  "success": true,
  "data": {
    "domain": "example.com",
    "count": 15,
    "position_max": 10,
    "location": "fr",
    "serps": [
      {
        "keyword": "keyword 1",
        "our_position": 3,
        "our_url": "https://example.com/page1",
        "search_volume": 2400,
        "estimated_traffic": 400,
        "serp": [
          {"position": 1, "url": "https://competitor1.com/..."},
          {"position": 2, "url": "https://competitor2.com/..."},
          {"position": 3, "url": "https://example.com/page1"}
        ]
      }
    ],
    "errors": []
  }
}

Site Audits

GET /api/audit/quick

Fast audit with essential checks - ideal for prospects.

Parameters

ParameterTypeDescription
urlstringRequired Website URL to audit

Response

{
  "success": true,
  "data": {
    "url": "https://example.com",
    "type": "quick",
    "timestamp": "2025-12-30T15:00:00+01:00",
    "score": 96,
    "max_score": 100,
    "grade": "A",
    "duration_ms": 691,
    "summary": {
      "passed": 6,
      "warnings": 0,
      "failed": 0,
      "total_issues": 1
    },
    "checks": {
      "ssl": {
        "score": 100,
        "status": "pass",
        "https": true,
        "issues": []
      },
      "performance": {
        "score": 100,
        "status": "pass",
        "load_time_ms": 450,
        "page_size_kb": 256,
        "compressed": true,
        "issues": []
      },
      "seo": {
        "score": 85,
        "status": "pass",
        "data": {
          "title": "Example Site - Homepage",
          "description": "This is the meta description...",
          "h1": "Welcome to Example"
        },
        "issues": ["Title too short (35 chars)"]
      },
      "mobile": {
        "score": 100,
        "status": "pass",
        "has_viewport": true,
        "mobile_optimized": true
      },
      "social": {
        "score": 100,
        "status": "pass",
        "data": {
          "og_title": "Example Site",
          "og_image": "https://example.com/image.jpg",
          "twitter_card": "summary_large_image"
        }
      },
      "security": {
        "score": 100,
        "status": "pass",
        "headers": {
          "x-frame-options": "DENY",
          "x-content-type-options": "nosniff"
        }
      }
    }
  }
}

GET /api/audit/full

Comprehensive audit with all checks.

Parameters

ParameterTypeDescription
urlstringRequired Website URL to audit

GET /api/audit/history

Parameters

ParameterTypeDefaultDescription
urlstring-Required Website URL
limitinteger10Max results (max 50)

Response

{
  "success": true,
  "data": {
    "url": "https://example.com",
    "count": 5,
    "history": [
      {
        "id": 10,
        "url": "https://example.com",
        "type": "full",
        "score": 91,
        "grade": "A",
        "summary": {"passed": 9, "warnings": 1, "failed": 0},
        "duration_ms": 2458,
        "created_at": "2025-12-30 15:31:59"
      }
    ]
  }
}

GET /api/domains/{id}/audit/quick

Same as /api/audit/quick but uses domain URL from database.

GET /api/domains/{id}/audit/full

Same as /api/audit/full but uses domain URL from database.

Error Handling

CodeMeaning
400Bad Request - Missing or invalid parameters
401Unauthorized - Missing or invalid API key
403Forbidden - No permission for resource
404Not Found - Resource not found
429Rate Limit Exceeded - Too many requests
500Server Error - Internal server error
{
  "success": false,
  "message": "Error message here",
  "code": 400
}

Et vous ?

Mieux travailler Discutons de vos besoins
  • Mentions légales
  • Confidentialité des données
  • Cgv

Oui © 2026

Merci de soutenir le projet


Ce projet ne peut pas exister sans votre soutien
Télécharger Soutenir