Textfocus API documentation

Contents

Introduction

The Textfocus APIs allow you to perform various SEO and semantic analyses. This documentation explains how to call them, their parameters and their usefulness. APIs are available to subscribers of the "Classic" and "Comfort" packs.

API calls are limited to 1 call per second.

Each request consumes a credit on your account.

You can find your API key at your account.

These APIs have been public since March 2025. We know how important it is for APIs to be responsive and answer without error.
If, despite our vigilance, you encounter any error codes with the APIs, please contact us. We'll do our best to get back to you as soon as possible.

List of available language codes

Description : Provides a list of available languages. The identifiers returned (id field) give the value of the language and target market, to be used in the "lang" parameters of apis calls.

Endpoint : https://www.textfocus.net/apis/tf_langs/

Method : POST

Parameters :

1. API tf_keyword

Description : Provides data on a given keyword (search volume, cost per click, etc.).

Endpoint : https://www.textfocus.net/apis/tf_keyword/

Method : POST

Parameters :

Answer

Example of a JSON response :

{
    "version": "1.0.3",
    "params": {
        "lang": "fr",
        "keyword": "agence en référencement",
        "key": "Your API key"
    },
    "result": {
        "infos": {
            "id": "agence en référencement",
            "lang": "fr",
            "cost": 0.00,
            "concurrency": 0.00,
            "volume": 10,
            "difficulty": 87
        }
    },
    "response": 200,
    "message": "ok",
    "timing": 0.020776,
    "creditUsed": 1,
    "method": "tf_keyword",
    "credits": 2948
}

2. API tf_related

Description : Provides terms related to a given keyword.

Endpoint : https://www.textfocus.net/apis/tf_related/

Method : POST

Answer

Example of a JSON response :

{
    "version": "1.0.3",
    "params": {
        "lang": "fr",
        "keyword": "agence seo",
        "key": "Your API key"
    },
    "result": {
        "semantic": {
            "0": { 
                "id" : "agence seo",
                "keyword" : "meilleure agence seo",
                "lang" : "fr",
                "type" : "match",
                "ngram" : "3",
                "cost" : "0.00",
                "concurrency" : "2",
                "volume" : "22200",
                "intent" : "navigational",
                "difficulty" : "19"
		},
			"1": { 
                "id" : "agence seo",
                "keyword" : "agence seo lyon",
                "lang" : "fr",
                "type" : "match",
                "ngram" : "3",
                "cost" : "6.11",
                "concurrency" : "18",
                "volume" : "1600",
                "intent" : "commercial",
                "difficulty" : "56"
		},
		// Up to 100 terms can be returned    },
    "response": 200,
    "message": "ok",
    "timing": 0.3334009999999999,
    "creditUsed": 1,
    "method": "tf_related",
    "credits": 2947
}

3. API tf_seo

Description : Performs a complete SEO analysis of a web page.

Endpoint : https://www.textfocus.net/apis/tf_seo/

Method : POST

Answer

Example of a JSON response :

{
    "version": "1.0.3",
    "params": {
        "lang": "fr",
        "keyword": "agence seo",
        "url": "https://beweb.fr/seo/",
        "key": "Your API key"
    },
    "result": {
    
    "packId": "14",
    "nbCompeteMax": "50",
    "url": "https://beweb.fr/seo/",
    "urlDecode": "https://beweb.fr/seo/",
    "nbH1": 1,
    "entitiesNotSupported": false,
    "typePage": "page",
    "jsonLdType": "WebPage",
    "firstWords": "vous cherchez [...] et une longue",
    "footerTxt": "On nous demande [...]",
    "host": "https://beweb.fr",
    "urlWords": " beweb  seo ",
    "contentBrut": "Skip to content . AGENCE SEO . Pilotez votre référencement naturel. [...].",
    "nbLinksOut": 16,
    "nbLinksOutExt": 5,
    "canon": "https://beweb.fr/seo/",
    "title": "Agence SEO France - Référencement Naturel Google | BEWEB",
    "description": "Besoin d'une agence SEO pour améliorer votre visibilité en ligne ? [...].",
    "robots": "index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1",
    "h1": "AGENCE SEO Pilotez votre référencement naturel",
    "h2": [
      "Les services de notre agence SEO Nos solutions pour développer votre référencement naturel",
      "Besoin d'une agence SEO ? Contactez nos consultants dès maintenant"
    ],
    "h3": [
      "Audit SEO Trouver les freins au référencement",
      "Recherche de mots clés Les bons mots pour être visible",
      "Accompagnement SEO Etre accompagné sur la durée",
      "Rédaction des balises Optimisation des balises SEO",
      "Refonte SEO Guide / cahier des charges SEO",
      "SEO Rennes Référencement en région rennaise",
      "Voici quelques avis de nos clients",
      "Ils font confiance à nos experts SEO",
      "Profitez de l'expérience d'une agence SEO Pour augmenter votre trafic naturel et vos conversions",
      "Référencement naturel de qualité Avec une agence proche de vous",
      "Améliorez la visibilité de vos sites dès maintenant !",
      "Nos dernières publications sur le SEO",
      "Stratégie SEO : les 14 méthodes de travail que nous utilisons le plus en 2024",
      "Stratégie SEO : les 14 méthodes de travail que nous utilisons le plus en 2024",
      "Utiliser Looker Studio pour analyser les performances de vos pages",
      "Utiliser Looker Studio pour analyser les performances de vos pages",
      "Quand faire un audit seo ?",
      "Quand faire un audit seo ?",
      "Pourquoi utiliser les services de notre agence SEO ?"
    ],
    "hn": [
      {
        "level": "1",
        "tag": "h1",
        "hn": " AGENCE SEO Pilotez votre référencement naturel"
      },
      {
        "level": "2",
        "tag": "h2",
        "hn": " Les services de notre agence SEO Nos solutions pour développer votre référencement naturel"
      },
      {
        "level": "3",
        "tag": "h3",
        "hn": "Audit SEOTrouver les freins au référencement"
      },
      {
        "level": "3",
        "tag": "h3",
        "hn": "Recherche de mots clés Les bons mots pour être visible"
      },
      {
        "level": "3",
        "tag": "h3",
        "hn": "Accompagnement SEO Etre accompagné sur la durée"
      },
      {
        "level": "3",
        "tag": "h3",
        "hn": "Rédaction des balises Optimisation des balises SEO"
      },
      {
        "level": "3",
        "tag": "h3",
        "hn": "Refonte SEO Guide / cahier des charges SEO"
      },
      {
        "level": "3",
        "tag": "h3",
        "hn": "Référencement en région rennaise"
      },
      {
        "level": "3",
        "tag": "h3",
        "hn": " Voici quelques avis de nos clients "
      },
      {
        "level": "3",
        "tag": "h3",
        "hn": " Ils font confiance à nos experts SEO "
      },
      {
        "level": "3",
        "tag": "h3",
        "hn": " Profitez de l'expérience d'une agence SEO Pour augmenter votre trafic naturel et vos conversions"
      },
      {
        "level": "3",
        "tag": "h3",
        "hn": " Référencement naturel de qualité Avec une agence proche de vous"
      },
      {
        "level": "3",
        "tag": "h3",
        "hn": " Améliorez la visibilité de vos sites dès maintenant ! "
      },
      {
        "level": "4",
        "tag": "h4",
        "hn": "Privacy Overview"
      }
    ],
    "anchors": [
      {
        "anchor": "consultant seo",
        "link": "https://beweb.fr/",
        "rel": "",
        "title": "Consultant SEO"
      },
      {
        "anchor": "services seo",
        "link": "https://beweb.fr/seo/",
        "rel": "",
        "title": "Services SEO"
      },
      {
        "anchor": "services web",
        "link": "https://beweb.fr/web/",
        "rel": "",
        "title": "Services Web"
      },
      {
        "anchor": "plan du site",
        "link": "https://beweb.fr/plan-du-site/",
        "rel": "",
        "title": ""
      },
      {
        "anchor": "contactez-nous",
        "link": "/contact/",
        "rel": "",
        "title": ""
      },
      {
        "anchor": "",
        "link": "#li-page-top",
        "rel": "",
        "title": ""
      },
      {
        "anchor": "",
        "link": "https://www.cookieyes.com/",
        "rel": "",
        "title": ""
      }
    ],
    "images": {
      "https://beweb.fr/wp-content/uploads/2020/09/beweb-logo-60.png": {
        "alt": "Consultant SEO : Expert référencement de site internet à Rennes",
        "title": "",
        "width": "",
        "height": ""
      },
      "https://beweb.fr/wp-content/uploads/2020/11/3249202edit.png": {
        "alt": "agence seo",
        "title": "",
        "width": "900",
        "height": "574"
      },
      "https://beweb.fr/wp-content/uploads/2020/11/ubiqus-logo.png": {
        "alt": "ubiqus logo",
        "title": "",
        "width": "261",
        "height": "100"
      },
      "https://beweb.fr/wp-content/uploads/2020/11/idaos-logo.png": {
        "alt": "idaos logo",
        "title": "",
        "width": "226",
        "height": "100"
      },
      "https://beweb.fr/wp-content/uploads/2016/07/orange_obs.jpg": {
        "alt": "",
        "title": "",
        "width": "194",
        "height": "100"
      },
      "https://beweb.fr/wp-content/uploads/2016/07/lylo_2015.png": {
        "alt": "",
        "title": "",
        "width": "121",
        "height": "100"
      },
      "https://beweb.fr/wp-content/uploads/2016/07/Creative-Ingenierie-logo_165X165.jpg": {
        "alt": "",
        "title": "",
        "width": "206",
        "height": "100"
      },
      "https://beweb.fr/wp-content/uploads/2020/11/augmentez-votre-trafic-naturel.png": {
        "alt": "Augmentez votre trafic naturel",
        "title": "",
        "width": "801",
        "height": "555"
      },
      "https://beweb.fr/wp-content/uploads/2020/11/3339159small.png": {
        "alt": "3339159small",
        "title": "",
        "width": "506",
        "height": "555"
      },
      "https://beweb.fr/wp-content/uploads/2023/01/strategie-seo-300x300.jpg": {
        "alt": "strategie seo",
        "title": "",
        "width": "",
        "height": ""
      },
      "https://beweb.fr/wp-content/uploads/2020/11/3497813-300x300.jpg": {
        "alt": "Utiliser Google Data Studio pour analyser les performances de vos pages",
        "title": "",
        "width": "",
        "height": ""
      },
      "https://beweb.fr/wp-content/uploads/2020/08/seo-793030_1280-300x199.jpg": {
        "alt": "Quand faire un audit seo",
        "title": "",
        "width": "",
        "height": ""
      },
      "https://beweb.fr/wp-content/plugins/cookie-law-info/legacy/public/images/logo-cookieyes.svg": {
        "alt": "CookieYes Logo",
        "title": "",
        "width": "",
        "height": ""
      }
    },
    "strong": [
      "agence en référencement",
      "stratégie de référencement",
      "expertise référencement naturel",
      "bons mots clés",
      "bonnes pratiques de Google",
      "mobile first",
      "Sites internet gérés, créés ou optimisés",
      "Sessions mensuelles cumulées sur nos sites",
      "Mots clés surveillés",
      "optimisation pour les moteurs de recherche",
      "stratégie de référencement sur mesure",
      "expérience",
      "savoir-faire",
      "équipe passionnée",
      "stratégies innovantes",
      "chaque entreprise est unique",
      "simple et accessible",
      "sur le long terme",
      "durables et évolutives,",
      "résultats qui durent"
    ],
    "em": "Jean-Joseph Lattuada, Ouest-France",
    "nbWords": 762,
    "nbWordsAll": 1414,
    "ratio": 6.91,
    "pertinence": 54,
    "nbWordsDistinct": 427,
    "beginWith": {
      "référencement": 19,
      "agence": 12,
      "seo": 8,
      "naturel": 5,
      "solutions": 5,
      "cookies": 5,
      "beweb": 5,
      "web": 5,
      "visibilité": 5,
      "optimisation": 4,
      "analyse": 4,
      "google": 4
    },
    "langs": {
      "country": "FR",
      "langOfPage": "fr",
      "headers-content-type": "text/html",
      "meta-charset": "utf-8",
      "headers-content-language": "non renseigné",
      "meta-content-language": "non renseigné",
      "meta-name-language": "non renseigné",
      "html-lang": "fr-FR"
    },
    "nbPhrases": 49,
    "nbPhrasesAll": 111,
    "entities": [
      {
        "id": 0,
        "type": [
          "Number"
        ],
        "matchingTokens": [
          2
        ],
        "entityId": "78",
        "confidenceScore": 0.5,
        "wikiLink": "",
        "matchedText": "78",
        "relevanceScore": 0,
        "entityEnglishId": "",
        "startingPos": 5,
        "endingPos": 7,
        "unit": "Number"
      },
      {
        "id": 1,
        "type": [
          "Number"
        ],
        "matchingTokens": [
          1
        ],
        "entityId": "6",
        "confidenceScore": 0.5,
        "wikiLink": "",
        "matchedText": "06",
        "relevanceScore": 0,
        "entityEnglishId": "",
        "startingPos": 2,
        "endingPos": 4,
        "unit": "Number"
      },
      {
        "id": 2,
        "matchingTokens": [
          792
        ],
        "entityId": "Algorithme",
        "freebaseTypes": [
          "/award/award_discipline",
          "/education/field_of_study",
          "/symbols/namesake",
          "/book/book_subject"
        ],
        "confidenceScore": 5.629,
        "wikiLink": "http://fr.wikipedia.org/wiki/Algorithme",
        "matchedText": "algorithmes",
        "freebaseId": "/m/0jpv",
        "relevanceScore": 0.2498,
        "entityEnglishId": "Algorithm",
        "startingPos": 5522,
        "endingPos": 5533,
        "wikidataId": "Q8366"
      },
      {
        "id": 3,
        "matchingTokens": [
          808
        ],
        "entityId": "Privacy",
        "freebaseTypes": [
          "/media_common/quotation_subject",
          "/film/film_subject",
          "/law/legal_subject",
          "/book/book_subject"
        ],
        "confidenceScore": 5.349,
        "wikiLink": "http://en.wikipedia.org/wiki/Privacy",
        "matchedText": "privacy",
        "freebaseId": "/m/06804",
        "relevanceScore": 0,
        "entityEnglishId": "Privacy",
        "startingPos": 5633,
        "endingPos": 5640,
        "wikidataId": "Q188728"
      },
      {
        "id": 4,
        "matchingTokens": [
          812
        ],
        "entityId": "Website",
        "freebaseTypes": [
          "/book/book_subject",
          "/business/industry",
          "/award/award_category",
          "/dataworld/information_source",
          "/fictional_universe/fictional_organization_type",
          "/organization/non_profit_organization",
          "/location/location",
          "/internet/website_category",
          "/award/award_discipline",
          "/organization/contact_category",
          "/business/business_location",
          "/education/school_category",
          "/organization/role",
          "/business/employer",
          "/organization/organization_sector"
        ],
        "confidenceScore": 10.45,
        "wikiLink": "http://en.wikipedia.org/wiki/Website",
        "matchedText": "website",
        "freebaseId": "/m/085n4",
        "relevanceScore": 0,
        "entityEnglishId": "Website",
        "startingPos": 5656,
        "endingPos": 5663,
        "wikidataId": "Q35127"
      },
      {
        "id": 5,
        "matchingTokens": [
          814
        ],
        "entityId": "Cookie (informatique)",
        "freebaseTypes": [
          "/book/book_subject"
        ],
        "confidenceScore": 3.079,
        "wikiLink": "http://fr.wikipedia.org/wiki/Cookie_(informatique)",
        "matchedText": "cookies",
        "freebaseId": "/m/0d18sk",
        "relevanceScore": 0.3457,
        "entityEnglishId": "HTTP cookie",
        "startingPos": 5669,
        "endingPos": 5676,
        "wikidataId": "Q178995"
      },
      {
        "id": 6,
        "matchingTokens": [
          892,
          893
        ],
        "entityId": "Option de retrait dans l'Union européenne",
        "confidenceScore": 1.016,
        "wikiLink": "http://fr.wikipedia.org/wiki/Option_de_retrait_dans_l'Union_européenne",
        "matchedText": "opt out",
        "freebaseId": "/m/03cfnlw",
        "relevanceScore": 0.1998,
        "entityEnglishId": "Opt-outs in the European Union",
        "startingPos": 6098,
        "endingPos": 6105,
        "wikidataId": "Q1349687"
      },
      {
        "id": 7,
        "matchingTokens": [
          899,
          900
        ],
        "entityId": "Opt-out (marketing)",
        "confidenceScore": 1.776,
        "wikiLink": "http://fr.wikipedia.org/wiki/Opt-out_(marketing)",
        "matchedText": "opting out",
        "freebaseId": "",
        "relevanceScore": 0.06177,
        "entityEnglishId": "Opt-out",
        "startingPos": 6128,
        "endingPos": 6138,
        "wikidataId": "Q1368455"
      },
      {
        "id": 8,
        "matchingTokens": [
          907
        ],
        "entityId": "Affect",
        "confidenceScore": 0.9559,
        "wikiLink": "http://fr.wikipedia.org/wiki/Affect",
        "matchedText": "affect",
        "freebaseId": "/m/09f7n8",
        "relevanceScore": 0.1276,
        "entityEnglishId": "Affect (psychology)",
        "startingPos": 6168,
        "endingPos": 6174,
        "wikidataId": "Q159904",
        "wikidataTypes": [
          "Q96634632/psychology term",
          "Q12812139/technical term"
        ]
      },
      {
        "id": 9,
        "matchingTokens": [
          928
        ],
        "entityId": "Analytics",
        "freebaseTypes": [
          "/organization/organization_sector",
          "/business/competitive_space",
          "/computer/software_genre",
          "/internet/website_category",
          "/book/book_subject",
          "/business/industry",
          "/media_common/quotation_subject"
        ],
        "confidenceScore": 2.001,
        "wikiLink": "http://en.wikipedia.org/wiki/Analytics",
        "matchedText": "analytics",
        "freebaseId": "/m/02gcn9",
        "relevanceScore": 0,
        "entityEnglishId": "Analytics",
        "startingPos": 6296,
        "endingPos": 6305,
        "wikidataId": "Q485396",
        "wikidataTypes": [
          "Q105948247/knowledge system",
          "Q1047113/specialty",
          "Q2198779/unit",
          "Q4671286/academic major",
          "Q26256810/matter",
          "Q11953984/linguistic unit",
          "Q11862829/academic discipline",
          "Q110403031/knowledge type",
          "Q115786086/linguistic form",
          "Q115372263/word or phrase",
          "Q1128340/subject heading"
        ]
      }
    ],
    "opengraph": {
      "og:locale": "fr_FR",
      "og:type": "article",
      "og:title": "Agence SEO France - Référencement Naturel Google | BEWEB",
      "og:description": "Besoin d",
      "og:url": "https://beweb.fr/seo/",
      "og:site_name": "Consultant SEO : Expert référencement de site internet à Rennes"
    },
    "twitter": [],
    "robotsTxtInfo": {
      "code": 200,
      "response": {},
      "content": "User-agent: *\r\nDisallow:\r\n\r\n#test o2"
    },
    "nbImg": 13,
    "nbImgNoAlt": 3,
    "firstPerson": {
      "notre": 10,
      "nos": 13,
      "nous": 31,
      "mes": 1,
      "me": 1,
      "je": 2,
      "ma": 1
    },
    "mykeyword": "",
    "verif_presence": 1,
    "words": {
      "agence": 18,
      "référencement": 27,
      "naturel": 9,
      "référencement naturel": 5,
      "google": 9,
      "beweb": 6,
      "france": 1,
      "besoin": 6,
      "solutions": 6,
      "accompagnement": 5,
      "rédaction": 4,
      "améliorer": 5,
      "visibilité": 7,
      "mesure": 3,
      "optimisation": 7,
      "audit": 7,
      "bonne": 3,
      "développer": 2,
      "optimisé": 2,
      "cherchez": 2,
      "croissance": 2,
      "saura": 1,
      "proposons": 2,
      "contact": 1,
      "contactez": 1,
      "rigueur": 1,
      "choisir": 1,
      "sérieux": 1,
      "confiez": 1,
      "large": 1,
      "laissons": 1,
      "proposé": 1,
      "panel": 1,
      "adaptées": 1,
      "temps": 1,
      "outils": 1,
      "tracking": 1,
      "paramétrage": 1,
      "longue": 1,
      "manager": 1,
      "contenu": 2,
      "client": 8,
      "stratégie": 8,
      "technique": 6,
      "recherche": 6,
      "analyse": 6,
      "experience": 6,
      "cookies": 6,
      "balises": 5,
      "travail": 5,
      "objectif": 4,
      "sites": 4,
      "place": 4,
      "these": 4,
      "performance": 4,
      "résultats": 4,
      "website": 4,
      "comprendre": 4,
      "aider": 4
    },
    "optimise": {
      "agence": 51,
      "référencement": 50,
      "naturel": 39,
      "google": 28,
      "beweb": 28,
      "france": 23,
      "besoin": 12,
      "solutions": 11,
      "audit": 7,
      "visibilité": 7
    },
    "wordsOptimiseFor": {
      "agence": 51,
      "référencement": 50,
      "naturel": 39,
      "google": 28,
      "beweb": 28,
      "france": 23,
      "besoin": 12,
      "solutions": 11,
      "audit": 7,
      "visibilité": 7,
      "améliorer": 7,
      "mesure": 7,
      "rédaction": 7,
      "optimisation": 7,
      "accompagnement": 7
    },
    "groupOptimiseFor": {
      "agence": 51,
      "référencement": 50,
      "naturel": 39,
      "google": 28,
      "beweb": 28,
      "france": 23,
      "besoin": 12,
      "solutions": 11,
      "audit": 7,
      "visibilité": 7,
      "améliorer": 7,
      "mesure": 7,
      "rédaction": 7,
      "optimisation": 7,
      "accompagnement": 7
    },
    "lexies": {
      "proposons": {
        "4": "proposition",
        "22": "viser",
        "24": "mesure",
        "26": "objectif",
        "33": "agence",
        "35": "contenu",
        "43": "sites",
        "47": "services",
        "53": "concurrence",
        "83": "option",
        "164": "projet",
        "197": "atteindre",
        "201": "client",
        "211": "découvrir",
        "214": "devis",
        "228": "gratuit",
        "277": "accompagnement"
      },
      "référencement": [
        "recherche",
        "optimisation",
        "visibilité",
        "contenu",
        "internet",
        "visible",
        "complexe",
        "optimisé"
      ],
      "solutions": [
        "optimisation",
        "analyse",
        "efficace",
        "simple",
        "optimiser",
        "amélioration",
        "performance",
        "référencement",
        "stratégie",
        "processus",
        "adaptées"
      ],
      "agence": {
        "14": "entreprise",
        "16": "client",
        "32": "objectif",
        "37": "secteur"
      },
      "naturel": {
        "38": "simple",
        "126": "migration",
        "187": "recherche",
        "195": "force"
      },
      "besoin": [
        "amélioration",
        "objectif",
        "qualité",
        "utile",
        "entreprise",
        "client",
        "disponible",
        "projet",
        "bonne",
        "adaptées"
      ],
      "développer": {
        "0": "croissance",
        "1": "secteur",
        "2": "trafic",
        "3": "processus",
        "4": "entreprise",
        "6": "améliorer"
      },
      "mesure": [
        "temps",
        "point",
        "secteur",
        "stade",
        "ligne",
        "force",
        "commun",
        "durée",
        "travail",
        "processus",
        "terme",
        "nouveau",
        "ensemble",
        "photographe",
        "studio",
        "performance",
        "ordinaire",
        "longue"
      ],
      "outils": {
        "8": "analyse",
        "75": "optimisation",
        "77": "ergonomie",
        "98": "guide",
        "111": "simple"
      },
      "confiez": {
        "7": "laisser",
        "8": "confiance",
        "24": "découvrir",
        "34": "choisir",
        "99": "enregistrer"
      },
      "rédaction": {
        "13": "projet",
        "14": "quotidien",
        "17": "cahier"
      },
      "contact": {
        "11": "direct"
      },
      "contactez": {
        "20": "aider",
        "54": "découvrir",
        "118": "proposer",
        "126": "rendre",
        "127": "répondre",
        "134": "savoir"
      },
      "sérieux": {
        "41": "confiance",
        "55": "gratuit"
      },
      "saura": {
        "51": "montre",
        "59": "commun",
        "64": "découvrir",
        "167": "disponibilité",
        "193": "force",
        "272": "point",
        "279": "processus"
      },
      "laissons": {
        "50": "cours",
        "69": "mettre",
        "88": "rendre",
        "97": "découvrir",
        "114": "maîtriser",
        "188": "place",
        "265": "aimons",
        "271": "appliquer"
      }
    },
    "listLexies": {
      "agence": {
        "ponderation": 51,
        "color": "264653"
      },
      "référencement": {
        "ponderation": 74,
        "color": "287271"
      },
      "naturel": {
        "ponderation": 39,
        "color": "2A9D8F"
      },
      "besoin": {
        "ponderation": 23,
        "color": "8AB17D"
      },
      "solutions": {
        "ponderation": 73,
        "color": "E9C46A"
      },
      "mesure": {
        "ponderation": 17,
        "color": "EFB366"
      },
      "rédaction": {
        "ponderation": 7,
        "color": "F4A261"
      },
      "développer": {
        "ponderation": 18,
        "color": "EE8959"
      },
      "contact": {
        "ponderation": 5,
        "color": "E76F51"
      },
      "contactez": {
        "ponderation": 5,
        "color": "E97C61"
      },
      "proposons": {
        "ponderation": 75,
        "color": "f45b5b"
      },
      "sérieux": {
        "ponderation": 5,
        "color": "e4d354"
      },
      "confiez": {
        "ponderation": 10,
        "color": "413775"
      },
      "saura": {
        "ponderation": 5,
        "color": "e91e63"
      },
      "laissons": {
        "ponderation": 5,
        "color": "9c27b0"
      },
      "outils": {
        "ponderation": 12,
        "color": "90ed7d"
      }
    },
    "lexiesOptimiseFor": {
      "proposons": 75,
      "référencement": 74,
      "solutions": 73,
      "agence": 51,
      "naturel": 39,
      "besoin": 23,
      "développer": 18,
      "mesure": 17,
      "outils": 12
    },
    "listPresence": {
      "title": {
        "référencement naturel": 1,
        "référencement": 1,
        "agence": 1,
        "google": 1,
        "naturel": 1,
        "beweb": 1,
        "france": 1
      },
      "h1": {
        "référencement naturel": 1,
        "référencement": 1,
        "agence": 1,
        "naturel": 1
      },
      "h2": {
        "référencement naturel": 1,
        "référencement": 1,
        "agence": 1,
        "naturel": 1,
        "solutions": 1,
        "services": 1,
        "développer": 1,
        "besoin": 1,
        "consultants": 1,
        "contact": 1,
        "contactez": 1
      },
      "strong": {
        "référencement naturel": 1,
        "référencement": 1,
        "agence": 1,
        "stratégie": 1,
        "naturel": 1,
        "google": 1,
        "pratiques": 1,
        "bonne": 1,
        "mobile": 1,
        "first": 1
      },
      "description": {
        "agence": 1,
        "stratégie": 1,
        "visibilité": 1,
        "besoin": 1,
        "améliorer": 1,
        "mesure": 1,
        "ligne": 1
      },
      "h3": {
        "référencement": 1,
        "audit": 1,
        "trouver": 1,
        "freins": 1,
        "recherche": 1,
        "visible": 1,
        "accompagnement": 1,
        "accompagné": 1,
        "durée": 1,
        "optimisation": 1,
        "balises": 1,
        "rédaction": 1,
        "charges": 1,
        "refonte": 1,
        "cahier": 1,
        "guide": 1,
        "rennes": 1,
        "région": 1,
        "rennaise": 1
      },
      "host": {
        "beweb": 1
      },
      "url": {
        "beweb": 1
      },
      "firstWords": {
        "référencement": 1,
        "agence": 1,
        "google": 1,
        "visibilité": 1,
        "audit": 1,
        "optimisation": 1,
        "besoin": 1,
        "beweb": 1,
        "solutions": 1,
        "accompagnement": 1,
        "améliorer": 1,
        "place": 1,
        "rédaction": 1,
        "bonne": 1,
        "mesure": 1,
        "proposer": 1,
        "concrètes": 1,
        "trafic": 1,
        "internet": 1,
        "cherchez": 1,
        "optimisé": 1,
        "contenu": 1,
        "hasard": 1,
        "proposons": 1,
        "croissance": 1,
        "rigueur": 1,
        "choisir": 1,
        "sérieux": 1,
        "confiez": 1,
        "saura": 1,
        "large": 1,
        "laissons": 1,
        "panel": 1,
        "adaptées": 1,
        "temps": 1,
        "outils": 1,
        "tracking": 1,
        "paramétrage": 1,
        "manager": 1,
        "proposé": 1,
        "longue": 1
      },
      "footerTxt": {
        "agence": 1,
        "besoin": 1,
        "beweb": 1,
        "experts": 1,
        "répondre": 1,
        "rennes": 1,
        "christophe": 1,
        "consultants": 1,
        "services": 1,
        "contact": 1,
        "contactez": 1,
        "répond": 1
      },
      "em": {
        "ouest": 1,
        "france": 1,
        "lattuada": 1,
        "joseph": 1
      }
    },
    "scoreSeo": 96.5,
    "hnInFooter": []
    },
    "response": 200,
    "message": "ok",
    "timing": 0.3334009999999999,
    "creditUsed": 1,
    "method": "tf_related",
    "credits": 2947
}

4. API tf_semantic

Description : Provides semantic analysis and semantic vocabulary.

Endpoint : https://www.textfocus.net/apis/tf_semantic/

Method : POST

Answer

Example of a JSON response :

{
    "version": "1.0.3",
    "params": {
        "lang": "fr",
        "keyword": "mini serre",
        "key": "Your API key"
    },
    "result": {
        
        "nbCompete": 34,
    "nbFound": 119,
    "nbWordsContentMoy": 904.6470588235294,
    "nbWordsTitleMoy": 6.0588235294117645,
    "semantic": {
      "0": {
        "id": "mini serre",
        "keyword": "semis",
        "kei": "100.00",
        "ngram": "1",
        "used": "82.35",
        "occ": "105",
        "omin": "1",
        "omax": "36",
        "omoy": "7.5",
        "osd": "8.1",
        "nbwmoy": "555",
        "intitle": "14.71",
        "inhn": "26.47",
        "frequency": "22.85",
        "tfidf": "0.0613",
        "context": "a:3:{i:0;s:16:\"mini serre semis\";i:1;s:21:\"fleurs légumes semis\";i:2;s:16:\"serre semis pots\";}"
      },
      "1": {
        "id": "mini serre",
        "keyword": "plantes",
        "kei": "99.11",
        "ngram": "1",
        "used": "73.53",
        "occ": "97",
        "omin": "1",
        "omax": "44",
        "omoy": "7.8",
        "osd": "11.1",
        "nbwmoy": "606",
        "intitle": "0.00",
        "inhn": "14.71",
        "frequency": "16.74",
        "tfidf": "0.0573",
        "context": "a:3:{i:0;s:23:\"plantes fleurs légumes\";i:1;s:23:\"serre hivernage plantes\";i:2;s:24:\"hivernage plantes fleurs\";}"
      },
      "2": {
        "id": "mini serre",
        "keyword": "jardin",
        "kei": "98.01",
        "ngram": "1",
        "used": "79.41",
        "occ": "140",
        "omin": "1",
        "omax": "54",
        "omoy": "12.0",
        "osd": "11.9",
        "nbwmoy": "605",
        "intitle": "20.59",
        "inhn": "38.24",
        "frequency": "30.33",
        "tfidf": "0.0694",
        "context": "a:3:{i:0;s:17:\"mini serre jardin\";i:1;s:19:\"petite serre jardin\";i:2;s:26:\"serre jardin polycarbonate\";}"
      },
      "3": {
        "id": "mini serre",
        "keyword": "culture",
        "kei": "95.93",
        "ngram": "1",
        "used": "76.47",
        "occ": 83,
        "omin": "1",
        "omax": "23",
        "omoy": "5.5",
        "osd": "5.2",
        "nbwmoy": "589",
        "intitle": "14.71",
        "inhn": "29.41",
        "frequency": "19.50",
        "tfidf": "0.0492",
        "context": "a:3:{i:0;s:18:\"mini serre culture\";i:1;s:23:\"serre culture plastique\";i:2;s:13:\"serre culture\";}"
      },
      "4": {
        "id": "mini serre",
        "keyword": "balcon",
        "kei": "77.62",
        "ngram": "1",
        "used": "47.06",
        "occ": "24",
        "omin": "1",
        "omax": "6",
        "omoy": "2.6",
        "osd": "1.6",
        "nbwmoy": "595",
        "intitle": "0.00",
        "inhn": "8.82",
        "frequency": "4.29",
        "tfidf": "0.0324",
        "context": "a:3:{i:0;s:15:\"balcon terrasse\";i:1;s:13:\"serres balcon\";i:2;s:12:\"serre balcon\";}"
      },
		// Up to 100 terms can be returned      
    }
        
        
    },
    "response": 200,
    "message": "ok",
    "timing": 0.020776,
    "creditUsed": 1,
    "method": "tf_keyword",
    "credits": 2948
}

5. Asynchronous response management

Some APIs, such as tf_semantic, may require asynchronous processing.
In this case, a callback can be defined to receive the response on your server.

<?php
	public function my_callback(){
    		log_message('error', 'Call of my_callback');
    		$payload = file_get_contents('php://input');
    		log_message('error', 'Content : '. $payload);
    		print_r($payload);
	}
?>