Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/gridar-app:gridar-app-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: Gridar API
version: '2026-11-10'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-10: 27 operation(s) read from 13 public documentation page(s) (each
operation names its page in x-source). This is not the provider''s published contract; Gridar has published no machine-readable contract that
the pipeline could find. Engine: local.'
x-evidence-tiers:
code-example: 7
documentation: 20
pages-with-code: 6
pages-read: 13
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-11-10'
x-generator: generate-contract-from-docs.py
x-engine: local
x-sources:
- https://gridar.app/docs/api
- https://gridar.app/docs/connect/external
- https://gridar.app/docs/connect/wordpress
- https://gridar.app/docs/connect/webflow
- https://gridar.app/docs/editor
- https://gridar.app/docs/translation
- https://gridar.app/docs/images
- https://gridar.app/docs/seo-tools
- https://gridar.app/docs/research
- https://gridar.app/docs/gsc
- https://gridar.app/docs/multi-domain
- https://gridar.app/docs/integrations
- https://gridar.app/docs/faq
servers:
- url: https://api.gridar.app
paths:
/api/backlinks/{url}:
post:
operationId: post_api_backlinks_url
tags:
- Api
summary: Discover backlinks to a given URL using Bing, Common Crawl and Serper sources.
x-source: https://gridar.app/docs/seo-tools
parameters:
- name: url
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiBacklinksUrlResponse'
x-evidence:
kind: documentation
/api/generate-image/JSON:
post:
operationId: post_api_generate_image_JSON
tags:
- Api
summary: IA gen
x-source: https://gridar.app/docs/images
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiGenerateImageJsonRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/generate-tags/{content}:
post:
operationId: post_api_generate_tags_content
tags:
- Api
summary: Generate 4‑6 relevant tags for an article based on its content.
x-source: https://gridar.app/docs/seo-tools
parameters:
- name: content
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiGenerateTagsContentResponse'
x-evidence:
kind: documentation
/api/hreflang-check:
post:
operationId: post_api_hreflang_check
tags:
- Api
summary: Hreflang check
description: Tool that crawls your articles and verifies that all pages in each translation_group reference each other, that hreflang codes
are valid, that there are no loops or references to non‑existent pages, and that an x‑default is defined. Returns a score (0‑100) and
a list of errors with suggested fixes.
x-source: https://gridar.app/docs/translation
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiHreflangCheckResponse'
x-evidence:
kind: documentation
/api/hreflang-check/Page:
post:
operationId: post_api_hreflang_check_Page
tags:
- Api
summary: Validate hreflang links across translation groups and return a score with errors and suggested fixes.
x-source: https://gridar.app/docs/seo-tools
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiHreflangCheckPageRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiHreflangCheckPageResponse'
x-evidence:
kind: documentation
/api/image-suggest/JSON:
post:
operationId: post_api_image_suggest_JSON
tags:
- Api
summary: Génère un alt‑text
x-source: https://gridar.app/docs/images
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiImageSuggestJsonRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/images/{uuid}/:
get:
operationId: get_api_images_uuid
tags:
- Api
summary: Serve une image stockée
x-source: https://gridar.app/docs/images
parameters:
- name: uuid
in: path
required: true
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/page-speed/{url}:
post:
operationId: post_api_page_speed_url
tags:
- Api
summary: Hit Google PageSpeed Insights API for a URL of your site and retrieve performance scores and suggestions.
x-source: https://gridar.app/docs/seo-tools
parameters:
- name: url
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiPageSpeedUrlResponse'
x-evidence:
kind: documentation
/api/pexels/search:
get:
operationId: get_api_pexels_search
tags:
- Api
summary: Search Pexels
x-source: https://gridar.app/docs/images
parameters:
- name: query
in: query
required: true
schema:
type: string
description: Mot‑clé de recherche
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/plagiarism-check/{content}:
post:
operationId: post_api_plagiarism_check_content
tags:
- Api
summary: Push article content to Originality.ai and retrieve originality score, AI‑detection and matching sources.
x-source: https://gridar.app/docs/seo-tools
parameters:
- name: content
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiPlagiarismCheckContentResponse'
x-evidence:
kind: documentation
/api/readability/{content, language}:
post:
operationId: post_api_readability_content_language
tags:
- Api
summary: Calculate readability score for given content and language using appropriate formulas.
x-source: https://gridar.app/docs/seo-tools
parameters:
- name: content, language
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiReadabilityContentLanguageResponse'
x-evidence:
kind: documentation
/api/seo-audit/Audit:
post:
operationId: post_api_seo_audit_Audit
tags:
- Api
summary: Run an SEO audit on a single article and receive a detailed checklist with scores.
x-source: https://gridar.app/docs/seo-tools
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiSeoAuditAuditRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiSeoAuditAuditResponse'
x-evidence:
kind: documentation
/api/seo-fix/Audit:
post:
operationId: post_api_seo_fix_Audit
tags:
- Api
summary: Automatically apply recommended SEO fixes to an article without altering narrative content.
x-source: https://gridar.app/docs/seo-tools
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiSeoFixAuditRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiSeoFixAuditResponse'
x-evidence:
kind: documentation
/api/seo-synonyms/{term, language}:
post:
operationId: post_api_seo_synonyms_term_language
tags:
- Api
summary: Suggest 5‑10 SEO‑friendly synonyms for a given term in the specified language.
x-source: https://gridar.app/docs/seo-tools
parameters:
- name: term, language
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiSeoSynonymsTermLanguageResponse'
x-evidence:
kind: documentation
/api/serper/images:
get:
operationId: get_api_serper_images
tags:
- Api
summary: Search Google Images
x-source: https://gridar.app/docs/images
parameters:
- name: query
in: query
required: true
schema:
type: string
description: Mot‑clé de recherche
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/upload-image/multipart/form-data:
post:
operationId: post_api_upload_image_multipart_form_data
tags:
- Api
summary: Upload une image
x-source: https://gridar.app/docs/images
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/v1/brief/Cannibalisation:
post:
operationId: post_api_v1_brief_Cannibalisation
tags:
- Api
summary: Generate a content brief that includes intent, outline, entities, FAQ and EEAT signals for a target keyword.
x-source: https://gridar.app/docs/seo-tools
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiV1BriefCannibalisationRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiV1BriefCannibalisationResponse'
x-evidence:
kind: documentation
/api/v1/me:
get:
operationId: get_api_v1_me
tags:
- Api
summary: GET /api/v1/me
x-source: https://gridar.app/docs/api
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -H \"Authorization: Bearer btb_xxx\" https://api.gridar.app/api/v1/me/\n Réponse : \n { \n \"username\": \"darius\", \n\
\ \"email\": \"tokamdarius@gmail.com\", \n \"plan\": \"pro\", \n \"rate_limit_per_hour\": 30, \n \"usage\": { \n \"articles_this_month\"\
: 47, \n \"articles_per_month_limit\": 60, \n \"month_key\": \"2026-05\" \n } \n}\n Endpoints \n GET /api/v1/me/ \n Sanity check : retourne\
\ ton plan + ta rate-limit + ton usage du m"
/api/v1/multi-domain-stats:
get:
operationId: get_api_v1_multi_domain_stats
tags:
- Api
summary: GET /api/v1/multi-domain-stats
x-source: https://gridar.app/docs/multi-domain
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -H \"Authorization: Bearer btb_xxx\" https://api.gridar.app/api/v1/multi-domain-stats/\n Retourne le JSON équivalent du\
\ tableau comparatif. Pratique pour brancher dans un dashboard client custom (Notion / Airtable / Google Sheets via Zapier). \n Limites\
\ de plan \n Agence (199.99$) Enterprise Sites comparables 5 sur mesure Bulk audits / mois 100 sur mesure Rapports PDF white-label illimités\
\ illimi"
/api/v1/multi-domain-stats/chaque:
get:
operationId: get_api_v1_multi_domain_stats_chaque
tags:
- Api
summary: Reporting mensuel automatisé
description: Used to retrieve multi‑domain statistics for automated monthly reporting.
x-source: https://gridar.app/docs/multi-domain
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/v1/paa:
post:
operationId: post_api_v1_paa
tags:
- Api
summary: POST /api/v1/paa
x-source: https://gridar.app/docs/research
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiV1PaaRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -X POST -H \"Authorization: Bearer btb_xxx\" -H \"Content-Type: application/json\" -d '{\"keyword\": \"meilleur crm pme\
\ québec\"}' https://api.gridar.app/api/v1/paa/\n 3. Search Trends (Google Trends FR-CA) \n Sidebar → Tendances de recherche \n Google\
\ Trends géo-restreint au Canada (FR/EN) ou à un pays au choix. Pour un terme : \n Graphique 30j / 90j / 12 mois / 5 ans \n Mots-clés\
\ associés en hausse ("
/api/v1/sites/{siteid}/gsc/queries:
get:
operationId: get_api_v1_sites_siteid_gsc_queries
tags:
- Api
summary: GET /api/v1/sites/{siteId}/gsc/queries
x-source: https://gridar.app/docs/gsc
parameters:
- name: siteid
in: path
required: true
schema:
type: string
- name: days
in: query
required: false
schema:
type: string
- name: page_url
in: query
required: false
schema:
type: string
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -H \"Authorization: Bearer btb_xxx\" \"https://api.gridar.app/api/v1/sites/12/gsc/queries/?days=28&page_url=https://tonsite.ca/blog/article-slug\"\
\n Réponse : \n { \n \"page_url\": \"https://tonsite.ca/blog/article-slug\", \n \"days\": 28, \n \"queries\": [ \n { \"query\": \"crm\
\ pme québec\", \"clicks\": 47, \"impressions\": 1284, \"ctr\": 0.037, \"position\": 8.2 }, \n { \"query\": \"meilleur crm canadien\"\
, \"clicks\": 23, \"i"
/api/v1/sites/{siteid}/keywords/snapshot:
post:
operationId: post_api_v1_sites_siteid_keywords_snapshot
tags:
- Api
summary: POST /api/v1/sites/{siteId}/keywords/snapshot
x-source: https://gridar.app/docs/api
parameters:
- name: siteid
in: path
required: true
schema:
type: string
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -X POST -H \"Authorization: Bearer $BLOG_DASHBOARD_TOKEN\" https://api.gridar.app/api/v1/sites/12/keywords/snapshot/\n\
\ n8n : générer un article quand on ajoute une row Airtable \n Trigger Airtable → HTTP Request node : \n Method : POST \n URL : https://api.gridar.app/api/v1/sites/12/generate/\
\ \n Auth : Bearer {{ $env.BLOG_DASHBOARD_TOKEN }} \n Body : {\"topic\": \"{{ $json.topic }}\", \"type\": \"guide\", \""
/api/v1/sites/{siteid}/translate:
post:
operationId: post_api_v1_sites_siteid_translate
tags:
- Api
summary: POST /api/v1/sites/{siteId}/translate
x-source: https://gridar.app/docs/translation
parameters:
- name: siteid
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiV1SitesSiteidTranslateRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -X POST -H \"Authorization: Bearer btb_xxx\" -H \"Content-Type: application/json\" -d '{\"slug\": \"article-fr-original\"\
, \"target_language\": \"en\"}' https://api.gridar.app/api/v1/sites/12/translate/\n Réponse : nouveau slug + URL de l'article traduit.\
\ Le translation_group est lié auto. \n Note : la traduction consomme 1 quota mensuel ou 1 crédit (comme une génération normale). \n\
\ Limites \n 3 langues "
/articles/en:
post:
operationId: post_articles_en
tags:
- Articles
summary: Éditeur d'articles (écriture manuelle)
description: Utilisé pour importer du contenu existant via l'API.
x-source: https://gridar.app/docs/editor
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/audit-incoming:
post:
operationId: post_audit_incoming
tags:
- Audit Incoming
summary: Webhook (POST /audit-incoming)
x-source: https://gridar.app/docs/integrations
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostAuditIncomingRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/wp-json/dans:
get:
operationId: get_wp_json_dans
tags:
- Wp Json
summary: GET /wp-json/dans
x-source: https://gridar.app/docs/connect/wordpress
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: curl https://tonsite.ca/wp-json/dans un terminal. Article publié mais 404 Permalinks pas flushés WordPress Admin → Réglages →
Permalinks → cliquer "Save" (sans rien changer) flush la rewrite table. Gridar Le SaaS SEO bilingue FR-CA, conçu et opéré au Québec.
Pour les PME québécoises qui veulent ranker. Aucun investisseur, aucun pivot prévu. Outils gratuits Audit SEO + GEO AI Visibility Checker
Com
components:
schemas:
PostApiBacklinksUrlResponse:
type: object
properties:
backlinks:
type: array
description: List of detected backlinks.
domain:
type: string
description: Source domain of the backlink.
sourceUrl:
type: string
description: Exact URL where the backlink was found.
anchorText:
type: string
description: Anchor text of the backlink.
crawlDate:
type: string
description: Date the backlink was crawled.
domainRating:
type: number
description: Estimated domain rating.
PostApiGenerateImageJsonRequest:
type: object
properties:
prompt:
type: string
description: Description de l'image en anglais
style:
type: string
description: Style souhaité (photo réaliste, illustration, 3D, vector)
required:
- prompt
PostApiGenerateTagsContentResponse:
type: object
properties:
tags:
type: array
description: List of suggested tags.
PostApiHreflangCheckResponse:
type: object
properties:
score:
type: integer
description: Score from 0 to 100
errors:
type: array
description: List of validation errors with suggested fixes
PostApiHreflangCheckPageRequest:
type: object
properties:
siteId:
type: string
description: Identifier of the site to check.
required:
- siteId
PostApiHreflangCheckPageResponse:
type: object
properties:
score:
type: integer
description: Overall hreflang integrity score (0‑100).
errors:
type: array
description: List of hreflang issues with suggested corrections.
PostApiImageSuggestJsonRequest:
type: object
properties:
image_url:
type: string
description: URL de l'image à analyser
context:
type: string
description: Contexte de l'article pour le SEO
required:
- image_url
PostApiPageSpeedUrlResponse:
type: object
properties:
performanceScore:
type: integer
description: Score Performance (0‑100) for mobile and desktop.
coreWebVitals:
type: object
description: LCP, FID/INP, CLS values.
suggestions:
type: array
description: Google optimisation suggestions (compress images, defer JS, etc.).
PostApiPlagiarismCheckContentResponse:
type: object
properties:
originalityScore:
type: integer
description: Score from 0‑100 (100 = fully unique).
aiDetection:
type: integer
description: Probability that the text was generated by AI.
matches:
type: array
description: List of sources with URL and similarity percentage.
PostApiReadabilityContentLanguageResponse:
type: object
properties:
readabilityScore:
type: integer
description: Score according to Kandel‑Moles (FR) or Flesch (EN).
gradeLevel:
type: string
description: Interpretation of the score (e.g., very easy, easy, medium, difficult).
suggestions:
type: array
description: Optional AI‑generated rewrites for low‑scoring paragraphs.
PostApiSeoAuditAuditRequest:
type: object
properties:
content:
type: string
description: Full article content to audit.
metadata:
type: string
description: Optional title, meta description, etc.
required:
- content
PostApiSeoAuditAuditResponse:
type: object
properties:
score:
type: integer
description: Overall SEO score out of 100.
issues:
type: object
description: Detailed checklist (title length, meta description, heading hierarchy, keyword density, links, images, reading time, schema,
EEAT, etc.).
PostApiSeoFixAuditRequest:
type: object
properties:
content:
type: string
description: Article content to be fixed.
required:
- content
PostApiSeoFixAuditResponse:
type: object
properties:
fixedContent:
type: string
description: Article after applying SEO fixes (title, meta, structure, schema, etc.).
appliedChanges:
type: array
description: List of changes that were made.
PostApiSeoSynonymsTermLanguageResponse:
type: object
properties:
synonyms:
type: array
description: List of suggested synonyms / LSI keywords.
PostApiV1BriefCannibalisationRequest:
type: object
properties:
keyword:
type: string
description: Target keyword for which to generate the brief.
required:
- keyword
PostApiV1BriefCannibalisationResponse:
type: object
properties:
intent:
type: string
description: Search intent classification.
outline:
type: array
description: Suggested H2/H3 structure.
entities:
type: array
description: People, places, organizations to mention.
faq:
type: array
description: People Also Ask questions with short answers.
eeatSignals:
type: array
description: Recommended EEAT elements.
PostApiV1PaaRequest:
type: object
properties:
keyword:
type: string
PostApiV1SitesSiteidTranslateRequest:
type: object
properties:
slug:
type: string
target_language:
type: string
PostAuditIncomingRequest:
type: object
properties:
title:
type: string
content:
type: string
required:
- title
- content
securitySchemes:
bearer:
type: http
scheme: bearer
security:
- bearer: []
tags:
- name: Api
- name: Articles
- name: Audit Incoming
- name: Wp Json