QannasAPI

La salle des machines

← qannasapi.com

Une clé. Tout le catalogue. Un reçu sur chaque réponse.

QannasAPI est l’API unifiée de données du web public qui alimente les jobs clé en main de notre page d’accueil. Un POST, un jeton bearer, une enveloppe JSON — personnes, entreprises, contacts, sites web, SERP, publicités, cartes et les petites annonces du Golfe. Estimez n’importe quel appel gratuitement, ne payez que les résultats, et lisez le montant exact facturé dans les headers de réponse.

Crédits offerts une seule fois · les clés qk_test_ ne facturent jamais · un appel sans résultat renvoie data: null et facture 0

Pas développeur ? Les jobs de notre page d’accueil exécutent ces mêmes endpoints — sans écrire de code.

Aperçu

Ce que vous obtenez derrière une seule clé

La plomberie qu’une équipe data devrait sinon construire et maintenir — déjà derrière le même jeton bearer.

Une clé, une facture, un schéma

Chaque action renvoie la même enveloppe : { status, request_id, data }. Le code écrit pour votre premier appel fonctionne encore au dix-millième.

Facturation au succès

Un appel sans résultat renvoie HTTP 200 avec data: null et X-Credits-Charged: 0. Les pannes en amont ne sont jamais facturées et peuvent être relancées sans risque.

Des estimations gratuites sur tout

POST /v1/data/{action}:estimate chiffre le coût en crédits et ne facture rien. Les workflows acceptent aussi dry_run: true.

Workflows côté serveur

Six jobs chaînés s’exécutent de notre côté avec une facturation au succès étape par étape — un appel au lieu de cinq, et vous ne payez que les étapes qui ont produit des données.

Démarrage rapide

Premier appel en trois étapes

Pas de proxies à faire tourner, pas de navigateurs headless à surveiller, pas de parsers à réparer.

  1. 1. Créez une cléCréez un espace de travail, confirmez votre e-mail, puis créez une clé qk_live_ ou qk_test_. Chaque requête porte Authorization: Bearer.
  2. 2. Estimez gratuitementPOST /v1/data/{action}:estimate renvoie le coût en crédits de l’appel que vous vous apprêtez à faire et ne facture rien.
  3. 3. Lancez l’appelLa même enveloppe à chaque fois. Lisez X-Credits-Charged et X-Credits-Balance dans les headers de réponse pour savoir exactement ce que cela a coûté.
estimate-then-call.sh
# 1 — what will this cost? (free)
curl -X POST https://api.qannasapi.com/v1/data/contacts/find-email:estimate \
  -H "Authorization: Bearer $QANNAS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "Jane Doe, Acme Logistics"}'

# 2 — run it. Same envelope, every time.
curl -X POST https://api.qannasapi.com/v1/data/contacts/find-email \
  -H "Authorization: Bearer $QANNAS_API_KEY" \
  -d '{"query": "Jane Doe, Acme Logistics"}'

# < 200 OK
# < X-Credits-Charged: 5
# < X-Credits-Balance: 95
# {"status":"OK","request_id":"...","data":{...}}

Les clés qk_test_ ne débitent aucun crédit et sont soumises à un quota par espace de travail. Les chaînes touchant une source payante renvoient des fixtures déterministes ; les chaînes entièrement de première partie peuvent renvoyer des données en direct.

MCP & agents

Un serveur MCP hébergé, en lecture seule à périmètre défini

Le même catalogue, exposé aux agents IA via Streamable HTTP JSON-RPC 2.0 — y compris les six workflows, chacun avec un devis dry_run gratuit.

Endpoint

POSThttps://api.qannasapi.com/mcp

Streamable HTTP · JSON-RPC 2.0 · 34 tools · 13 read-only scopes

34 outils à périmètre défini

28 outils de données et d’utilisation plus les 6 outils de workflow. Appelez tools/list pour découvrir l’ensemble actuel pour votre jeton plutôt que de vous fier à une liste copiée.

Lecture seule par construction

Les 13 périmètres sont tous en lecture. Il n’existe aucun périmètre d’écriture à retenir — un jeton peut consulter des informations et ne peut jamais rien modifier, envoyer ou supprimer.

Des jetons en refus par défaut

Les jetons qm_ sont affichés une seule fois, stockés sous forme d’empreinte SHA-256, créés par les propriétaires et administrateurs de l’espace de travail, et révoqués instantanément (la requête suivante échoue).

Coût rapporté dans la réponse

Chaque résultat d’outil porte _credits_charged et _credits_balance, pour qu’un agent puisse dire à l’utilisateur ce qu’un appel a coûté sans requête supplémentaire.

Authentification : lisez ceci avant de planifier une intégration

L’endpoint MCP accepte actuellement un jeton bearer statique — il n’y a pas encore d’OAuth, même si c’est sur la feuille de route. En pratique, cela signifie que tout client disposant d’un champ d’en-tête personnalisé peut se connecter dès aujourd’hui, tandis que les annuaires de connecteurs hébergés exigeant un flux de connexion OAuth ne le peuvent pas encore. Nous ne désignons aucun client comme pris en charge tant qu’il n’a pas passé nos propres tests de validation en staging.

Lacunes connues — listées délibérément

  • Les curseurs delta (since_cursor / track_delta) sont réservés au REST et ne sont pas transmis aux outils MCP.
  • Les contacts vérifiés par consensus, les petites annonces et les signaux de recrutement sont réservés au REST. Les workflows d’agents y accèdent via une recette, pas via un appel d’outil.
  • Les appels MCP dépensent toujours de vrais crédits — il n’existe pas de bac à sable avec clé de test sur le chemin des jetons qm_.

Tout client MCP dont les réglages acceptent une URL et un en-tête personnalisé peut se connecter : nom d’en-tête Authorization, valeur Bearer suivie de votre jeton. Des configurations à copier-coller pour chaque client sont publiées au fur et à mesure que chacun passe nos tests de validation.

SDK & outillage

Générez un client, ou lisez simplement la spécification

Le document OpenAPI 3.1 est le contrat ; tout le reste en est généré.

OpenAPI 3.1

La spécification publique complète, hébergée sur ce site et prête à être pointée par un générateur.

Référence interactive

Chaque endpoint, schéma et exemple, consultable — avec les corps de requête que vous enverrez réellement.

Collections Postman

La collection API plus les collections de recettes, générées à partir de la même spécification pour qu’elles ne puissent pas diverger.

Adaptateurs d’automatisation

Les nœuds et connecteurs pour les plateformes d’automatisation courantes sont construits ; les publications sur les marketplaces sont en cours.

Tarifs & mesure

Vous pouvez auditer chaque facturation depuis la réponse

Des crédits, des prix publics par action, et trois headers qui vous disent exactement où vous en êtes.

Des headers sur chaque appel de données

X-Credits-Charged, X-Credits-Balance et X-Price-Book. Pas de rapprochement en fin de mois, pas de devinettes.

Prix par résultat sur les recherches

Les recherches facturent par contact trouvé, pas par tentative. Une recherche plus large coûte plus cher parce qu’elle renvoie davantage.

Évaluation gratuite

Une dotation de crédits offerte une seule fois à l’inscription, plus des clés qk_test_ qui ne facturent jamais et sont soumises à un quota par espace de travail.

Volume et enterprise

Grilles de prix personnalisées, paliers de limites de débit supérieurs et plafonds de dépense provisionnés pour les équipes qui opèrent à grande échelle.

Grille publique des prix

Prix en crédits par action

Voici les tarifs publics standard du site, par action. Les actions facturées par résultat le sont pour chaque résultat renvoyé ; toutes les autres le sont par appel. Pas de résultat = pas de frais, toujours. Le portail affiche le prix exact appliqué à votre espace de travail, qui peut différer si vous bénéficiez d’une tarification personnalisée.

Contacts & enrichissement

  • Email findfind_email5 cr
  • Email verifyverify_email1 cr
  • Phone findfind_phone10 cr
  • Person enrichenrich_person3 cr
  • Company enrichenrich_company3 cr
  • Reverse lookupreverse_lookup1 cr
  • People searchsearch_people1 cr / résultat
  • Company searchsearch_companies1 cr / résultat
  • Lead searchsearch_leads1 cr / résultat
  • Company employees searchsearch_company_employees1 cr / résultat
  • Lookalike searchsearch_lookalikes1 cr
  • Competitor followerscompetitor_followers1 cr / résultat

Dubizzle / petites annonces MENA

  • Classifieds listing searchlistings_search2 cr
  • Listing detailslisting_details2 cr
  • Agent listingsagent_listings2 cr
  • Listing phone reveallisting_phone15 cr

SERP & SEO

  • SERP (Google results)serp1 cr
  • Keywordskeywords1 cr
  • Backlinksbacklinks1 cr
  • Trendstrends1 cr
  • Ads searchads_search1 cr
  • Ads detailsads_details1 cr

Cartes & données locales

  • Maps placesmaps_places1 cr
  • Maps reviewsmaps_reviews1 cr

Intelligence des sites web

  • Website intelligencewebsite_intelligence1 cr
  • Tech stackwebsite_tech_stack1 cr
  • Website contactswebsite_contacts1 cr
  • Social linkswebsite_social_links1 cr
  • Domain resolvewebsite_resolve1 cr
  • Tracking pixelswebsite_pixels1 cr
  • Page scrapewebsite_scrape1 cr
  • Sitemapwebsite_sitemap1 cr
  • Meta tagswebsite_meta_tags1 cr
  • JSON-LDwebsite_json_ld1 cr
  • Traffic snapshotwebsite_traffic1 cr

Réseaux sociaux, posts & signaux

  • Posts searchposts_search1 cr
  • Posts & activitiesposts_activities1 cr
  • Funding roundsfunding1 cr
  • Signal: funding eventssignals_funding_events1 cr
  • Signal: headcount growthsignals_headcount_growth1 cr
  • Signal: job changessignals_job_changes1 cr

YouTube

  • YouTube searchyoutube_search1 cr
  • YouTube videoyoutube_video1 cr
  • YouTube channelyoutube_channel1 cr
  • Channel videosyoutube_channel_videos1 cr

Emplois & IA

  • Job searchsearch_jobs1 cr
  • AI enrichai_enrich1 cr
  • AI personalityai_personality1 cr

Catalogue en direct : GET /v1/meta/actions · Estimations de coût par appel : POST /v1/data/{action}:estimate · Performance réelle par action : GET /v1/meta/hit-rates

Fiabilité

Jugez-nous sur nos chiffres

Des taux de réussite publiés

GET /v1/public/hit-rates renvoie des statistiques anonymisées et protégées par cohorte sur la fréquence à laquelle nous renvoyons réellement des données. Aucune clé requise.

Les estimations ne coûtent rien

Chiffrez n’importe quelle action ou n’importe quel workflow avant de le lancer, aussi souvent que vous le souhaitez, pour zéro crédit.

Des échecs honnêtes

Une chaîne non routée renvoie 501 not_implemented plutôt qu’un résultat vide plausible — et les erreurs en amont ne sont jamais facturées.

Commencez par une estimation gratuite.

Créez une clé, chiffrez un appel, et constatez tout le contrat par vous-même avant de dépenser un crédit.