QannasAPI

La sala de máquinas

← qannasapi.com

Una clave. Todo el catálogo. Un comprobante en cada respuesta.

QannasAPI es la API unificada de datos de la web pública que está debajo de los trabajos llave en mano de nuestra portada. Un POST, un token bearer, un sobre JSON — personas, empresas, contactos, sitios web, SERP, anuncios, mapas y los clasificados del Golfo. Estima cualquier llamada gratis, paga solo por resultados y lee el cargo exacto en los headers de la respuesta.

Créditos gratis, una sola vez · Las claves qk_test_ nunca facturan · Sin resultado devuelve data: null y cobra 0

¿No eres desarrollador? Los trabajos de nuestra portada ejecutan estos mismos endpoints — sin necesidad de código.

Resumen

Qué obtienes detrás de una clave

La infraestructura que un equipo de datos tendría que construir y mantener — ya detrás del mismo token bearer.

Una clave, una factura, un esquema

Cada acción devuelve el mismo sobre: { status, request_id, data }. El código que escribes para tu primera llamada sigue funcionando en la diezmilésima.

Facturación solo por resultados

Una llamada que no devuelve resultado es HTTP 200 con data: null y X-Credits-Charged: 0. Los fallos de origen nunca se facturan y se pueden reintentar sin riesgo.

Estimaciones gratis en todo

POST /v1/data/{action}:estimate cotiza el costo en créditos y no cobra nada. Los workflows también aceptan dry_run: true.

Workflows del lado del servidor

Seis trabajos encadenados se ejecutan de nuestro lado con facturación solo por resultados por paso — una llamada en lugar de cinco, y pagas solo por los pasos que produjeron datos.

Quickstart

Primera llamada en tres pasos

Sin proxies que rotar, sin navegadores headless que vigilar, sin parsers que reparar.

  1. 1. Crea una claveCrea un espacio de trabajo, confirma tu correo electrónico y luego crea una clave qk_live_ o qk_test_. Cada solicitud lleva Authorization: Bearer.
  2. 2. Estima gratisPOST /v1/data/{action}:estimate devuelve el costo en créditos de la llamada que estás por hacer y cobra cero.
  3. 3. LlamaEl mismo sobre cada vez. Lee X-Credits-Charged y X-Credits-Balance en los headers de la respuesta para saber exactamente cuánto costó.
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":{...}}

Las claves qk_test_ cuestan cero créditos y están sujetas a la cuota del espacio de trabajo. Las cadenas que tocan una fuente de pago devuelven fixtures deterministas; las cadenas totalmente de primera parte pueden devolver datos en vivo.

MCP y agentes

Un servidor MCP alojado, de solo lectura y con alcance limitado

El mismo catálogo, expuesto a agentes de IA sobre Streamable HTTP JSON-RPC 2.0 — incluidos los seis workflows, cada uno con una cotización dry_run gratuita.

Endpoint

POSThttps://api.qannasapi.com/mcp

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

34 herramientas con alcance limitado

28 herramientas de datos y de uso más las 6 herramientas de workflows. Llama a tools/list para descubrir el conjunto vigente para tu token en lugar de confiar en una lista copiada.

Solo lectura por construcción

Los 13 alcances son de lectura. No hay alcance de escritura que retener — un token puede consultar cosas y nunca puede cambiar, enviar ni eliminar nada.

Tokens con denegación por defecto

Los tokens qm_ se muestran una sola vez, se almacenan como un digest SHA-256, los crean los propietarios y administradores del espacio de trabajo y se revocan al instante (la siguiente solicitud falla).

Reporte de costos dentro de la respuesta

Cada resultado de herramienta lleva _credits_charged y _credits_balance, así que un agente puede decirle al usuario cuánto costó una llamada sin una segunda solicitud.

Autenticación: lee esto antes de planear una integración

El endpoint MCP actualmente acepta un token bearer estático — todavía no hay OAuth, aunque está en la hoja de ruta. En la práctica eso significa que cualquier cliente con un campo de header personalizado se conecta hoy, mientras que los directorios de conectores alojados que exigen un flujo de inicio de sesión OAuth aún no pueden. No declaramos un cliente como compatible hasta que ha superado nuestra propia prueba de humo en staging.

Limitaciones conocidas — listadas a propósito

  • Los cursores delta (since_cursor / track_delta) son solo REST y no se exponen a través de las herramientas MCP.
  • Los contactos verificados por consenso, los anuncios de clasificados y las señales de contratación son solo REST. Los workflows de agentes llegan a ellos a través de una receta, no de una llamada a herramienta.
  • Las llamadas MCP siempre gastan créditos reales — no hay sandbox de claves de prueba en la ruta de tokens qm_.

Cualquier cliente MCP cuya configuración acepte una URL más un header personalizado se conectará: nombre del header Authorization, valor Bearer seguido de tu token. Las configuraciones listas para copiar y pegar de clientes individuales se publican a medida que cada uno supera nuestra prueba de humo.

SDKs y herramientas

Genera un cliente, o simplemente lee la especificación

El documento OpenAPI 3.1 es el contrato; todo lo demás se genera a partir de él.

OpenAPI 3.1

La especificación pública completa, alojada en este sitio y lista para apuntarle un generador.

Referencia interactiva

Cada endpoint, esquema y ejemplo, navegable — con los cuerpos de solicitud que realmente vas a enviar.

Colecciones de Postman

La colección de la API más las colecciones de recetas, generadas desde la misma especificación para que no puedan desincronizarse.

Adaptadores de automatización

Los nodos y conectores para las plataformas de automatización más comunes están construidos; los listados en los marketplaces están en curso.

Precios y medición

Puedes auditar cada cargo desde la respuesta

Créditos, precios públicos por acción y tres headers que te dicen exactamente en qué punto estás.

Headers en cada llamada de datos

X-Credits-Charged, X-Credits-Balance y X-Price-Book. Sin conciliación a fin de mes, sin adivinanzas.

Precio por resultado en las búsquedas

Las búsquedas cobran por contacto encontrado, no por intento. Una búsqueda más grande cuesta más porque devuelve más.

Evaluación gratuita

Una asignación única de créditos al registrarte, más claves qk_test_ que nunca facturan y están sujetas a la cuota del espacio de trabajo.

Volumen y enterprise

Listas de precios personalizadas, niveles de límite de tasa más altos y topes de gasto aprovisionados para equipos que operan a escala.

Lista pública de precios

Precios en créditos por acción

Estas son las tarifas públicas estándar por acción del sitio web. Las acciones por resultado se facturan por cada resultado devuelto y las demás por llamada; solo se cobra si la acción tiene éxito. El portal muestra el precio exacto aplicable a tu espacio de trabajo, que puede diferir si tienes precios personalizados.

Contactos y enriquecimiento

  • 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 / resultado
  • Company searchsearch_companies1 cr / resultado
  • Lead searchsearch_leads1 cr / resultado
  • Company employees searchsearch_company_employees1 cr / resultado
  • Lookalike searchsearch_lookalikes1 cr
  • Competitor followerscompetitor_followers1 cr / resultado

Dubizzle / clasificados de MENA

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

SERP y SEO

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

Maps y local

  • Maps placesmaps_places1 cr
  • Maps reviewsmaps_reviews1 cr

Inteligencia de sitios 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

Social, publicaciones y señales

  • 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

Empleos e IA

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

Catálogo en vivo: GET /v1/meta/actions · Estimaciones de costo por llamada: POST /v1/data/{action}:estimate · Rendimiento real por acción: GET /v1/meta/hit-rates

Fiabilidad

Júzganos por nuestros números

Tasas de éxito publicadas

GET /v1/public/hit-rates devuelve estadísticas anonimizadas y protegidas por cohortes sobre la frecuencia con la que realmente devolvemos datos. Sin clave necesaria.

Las estimaciones no cuestan nada

Cotiza cualquier acción o workflow antes de ejecutarlo, tantas veces como quieras, por cero créditos.

Fallos honestos

Una cadena sin ruta devuelve 501 not_implemented en lugar de un resultado vacío verosímil — y los errores de origen nunca se cobran.

Empieza con una estimación gratis.

Crea una clave, cotiza una llamada y comprueba todo el contrato por ti mismo antes de gastar un crédito.