GUÍA DE INICIO · UNOS 5 MINUTOS
Tu primera llamada a la API
Obtén una clave gratuita, busca noticias sobre «climate» y muestra los titulares. Solo necesitas una terminal.
Obtén una clave API gratuita
Inicia sesión, abre API keys en la consola y crea una clave. Cópiala enseguida: solo se muestra completa una vez. Las claves empiezan por
gna_live_.El plan Free no necesita tarjeta. Consulta los planes para ver los créditos y funciones incluidos.
Guárdala en una variable de entorno
Mantén la clave fuera del código para que no acabe en Git.
export NEWSSEARCHAPI_API_KEY="gna_live_your_key_here"$env:NEWSSEARCHAPI_API_KEY = "gna_live_your_key_here"Haz una solicitud
Busca artículos en inglés que mencionen «climate», empezando por los más recientes:
curl "https://apis.newssearchapi.com/v1/articles?q=climate&language=en&page_size=5" \ -H "X-Api-Key: $NEWSSEARCHAPI_API_KEY"// Node.js 18+ (built-in fetch) const response = await fetch("https://apis.newssearchapi.com/v1/articles?q=climate&language=en&page_size=5", { headers: { "X-Api-Key": process.env.NEWSSEARCHAPI_API_KEY }, }); const body = await response.json(); if (body.status !== "ok") throw new Error(`${body.code}: ${body.message}`); for (const article of body.articles) console.log(article.title);import os import requests response = requests.get( "https://apis.newssearchapi.com/v1/articles?q=climate&language=en&page_size=5", headers={"X-Api-Key": os.environ["NEWSSEARCHAPI_API_KEY"]}, timeout=10, ) body = response.json() if body["status"] != "ok": raise RuntimeError(f"{body['code']}: {body['message']}") for article in body["articles"]: print(article["title"])qbusca todas las palabras en el título o la descripción, sin distinguir mayúsculas de minúsculas. Añade filtros comocountry,category,sourceofrom; la referencia de búsqueda de artículos (inglés) los enumera y permite probarlos.Lee la respuesta
Las respuestas correctas incluyen
"status": "ok", los resultados enarticlesy los campostotalResults,pageypageSizepara la paginación:200 OK{ "status": "ok", "totalResults": 1342, "page": 1, "pageSize": 10, "articles": [ { "id": "-4210765838120375291", "title": "Central bank holds rates steady amid cooling inflation", "description": "Policymakers voted 7–2 to keep the benchmark rate unchanged.", "content": "Policymakers voted 7–2 on Thursday to keep the benchmark rate unchanged, citing a steady decline in core inflation over the past quarter. The decision was widely expected by markets. …", "contentTruncated": true, "url": "https://www.dailyledger.example/business/rates-hold", "imageUrl": "https://cdn.dailyledger.example/img/rates.jpg", "author": "Jane Smith", "publishedAt": "2026-10-31T09:15:00Z", "language": "en", "country": "gb", "region": "Europe", "categories": [ "business", "economy" ], "source": { "name": "The Daily Ledger", "domain": "dailyledger.example" }, "indexedAt": "2026-10-31T09:15:02Z", "storyId": "story-2026-10-31-001", "trustScore": 0.94, "corroboratedBy": 8 } ] }¿Algo salió mal?401 apiKeyMissingoapiKeyInvalidindica que no llegó la cabecera o que la clave está mal escrita; comprueba que la variable esté definida en la misma terminal.429indica que alcanzaste el límite de velocidad o la cuota diaria. Consulta los códigos de error (inglés).