API de contenido
Una API que ofrece contenido que nuestro equipo editorial crea junto con la IA y verifica según sus criterios, en formatos JSON, Markdown, TXT, HTML y JSON-LD, y en varios idiomas. La misma clave cubre además la búsqueda semántica, los metadatos de audio (TTS) y los conjuntos de datos para entrenamiento de modelos e indexación RAG (corpus de texto, pares instruction, paralelo multilingüe), mientras que los vectores de embedding originales y los archivos mp3 se ofrecen con el plan Pro. Obtenga una clave gratuita y empiece de inmediato.
5 formatos
El mismo contenido se sirve como JSON, Markdown, texto plano, HTML y JSON-LD de schema.org.
Multilingüe
Coreano, inglés, japonés y español, más idiomas de solo datos con traducción automática.
Garantía de contenido idéntico
Las páginas para personas y las respuestas de la API se generan desde el mismo original. Sin cloaking.
Planes
Free
0 USD
- 100 peticiones al mes
- Uso no comercial · atribución obligatoria
- Emisión inmediata tras verificar el correo
Pro
30,000 KRW al mes
- 10,000 peticiones al mes + pago por uso del exceso
- Licencia comercial
- Se prevén tarjetas coreanas y pagos internacionales
El precio de los planes de pago se publicará en esta página en el lanzamiento. Los precios para nuevas altas pueden subir cada mes; su precio de alta se mantiene mientras la suscripción siga activa.
Próxima subida de precio: desde 2026-09-01, las nuevas altas pagan 31,500 KRW/mes. Suscríbase ahora para fijar el precio actual.
Inicie o cancele la suscripción desde la página "Mi API de contenidos" tras iniciar sesión.
Prueba de la API
Llame a cada endpoint directamente desde su navegador con su clave de API o token de consulta, sin herramientas adicionales, y revise el código de estado, la cuota y el cuerpo de la respuesta.
Uso
Llame a la API con su clave en la cabecera Authorization. A continuación están los endpoints, parámetros, formatos de respuesta y ejemplos.
Endpoints
| Endpoint | Descripción |
|---|---|
| GET /api/v1/contents | Lista de contenido publicado (lang, category, tag, updated_since, paginación) |
| GET /api/v1/contents/{content_id} | Cuerpo de un contenido - formato indicado con el parámetro format (json|md|txt|html|jsonld, por defecto json) |
| GET /api/v1/contents/by-slug/{slug} | Cuerpo de un contenido (búsqueda por slug en lugar de content_id) |
| GET /api/v1/contents/{content_id}/images | Metadatos de imágenes (alt, leyendas, licencia) |
| GET /api/v1/categories | Lista de categorías (slug, nombre, número de contenidos) - descubre slugs para el filtro category |
| GET /api/v1/tags | Lista de etiquetas (slug, nombre, número de contenidos) - descubre slugs para el filtro tag |
| GET /api/v1/binders | Lista de binders (colecciones temáticas) (slug, nombre, número de contenidos) |
| GET /api/v1/binders/{slug} | Metadatos de un binder |
| GET /api/v1/binders/{slug}/contents | Contenido publicado de un binder (paginado) |
| GET /api/v1/sites | Lista de sitios (colecciones temáticas de servicio) (slug, nombre, número de contenidos) |
| GET /api/v1/sites/{slug} | Metadatos de un sitio |
| GET /api/v1/sites/{slug}/contents | Contenido publicado de un sitio (paginado) |
| GET /api/v1/search | Buscar contenido publicado (q, 2+ caracteres). Con mode=semantic, búsqueda semántica vectorial (con la API de embeddings activa). |
| GET /api/v1/contents/{content_id}/embeddings | Vectores de embedding del contenido (solo Pro, con la API de embeddings activa). Un idioma con lang, o todos los idiomas del modelo actual si se omite. |
| GET /api/v1/contents/{content_id}/audio | Metadatos del audio TTS del contenido (cuando la API de audio está activada): idioma, motor, duración, línea de tiempo por frase y ruta del mp3. |
| GET /api/v1/contents/{content_id}/audio/{lang} | Archivo mp3 del audio TTS del contenido (solo Pro, 3x créditos, cuando la API de audio está activada). |
| GET /api/v1/datasets | Catálogo de conjuntos de datos - tipos disponibles, campos del esquema, límites y reglas de crédito (con la API de conjuntos de datos activa). |
| GET /api/v1/datasets/corpus | Corpus de texto - registros con cuerpo, resumen y puntos clave, varios de una vez. Admite paginación y sincronización incremental (updated_since). |
| GET /api/v1/datasets/qa | Conjunto instruction - las FAQ del contenido expandidas en pares de mensajes de chat (user/assistant). |
| GET /api/v1/datasets/parallel | Corpus paralelo multilingüe - el mismo artículo alineado entre idiomas en una fila. Elige idiomas y estado de revisión con langs/status. |
| GET /api/v1/datasets/embeddings | Vectores de embedding en bloque (solo Pro, con la API de embeddings activa). Vectores incluidos por artículo. |
Conjuntos de datos (entrenamiento y RAG)
Para usos que necesitan muchos registros a la vez - entrenamiento de modelos, fine-tuning, indexación RAG - el contenido se normaliza en esquemas listos para entrenar. page, per_page, category, tag y updated_since funcionan igual que en las API de listado y de un solo elemento, y con format=jsonl entra directo en una pipeline de entrenamiento.
| Tipo | Descripción | Un registro | Créditos |
|---|---|---|---|
| corpus | Corpus con cuerpo, resumen, puntos clave, etiquetas, licencia y estado de traducción | artículo x idioma | ceil(per_page/10) |
| qa | Datos instruction que expanden las FAQ en pares de mensajes user/assistant | entrada FAQ x idioma | ceil(per_page/10) |
| parallel | Corpus paralelo que alinea un artículo entre idiomas en un solo registro | artículo | ceil(per_page/5) |
| embeddings | Vectores de embedding incluidos por artículo (solo Pro) | artículo | ceil(per_page/2) |
El tope de per_page es 10 en el plan Free y hasta 100 por tipo en Pro (20 para embeddings). Los créditos se calculan sobre el per_page solicitado, así que una llamada masiva cuesta menos que pedir el mismo volumen de uno en uno.
La API de conjuntos de datos no sustituye a los archivos de datos gratuitos. Las rutas sin autenticación que sirven artículos individuales en TXT, Markdown, JSON y JSON-LD siguen siendo gratuitas tal como están hoy. Guía de acceso a datos gratuitos
Idiomas disponibles
| Idioma | Valor (lang) | Nivel | Páginas web | Archivos de datos | Audio (TTS) | Embeddings |
|---|---|---|---|---|---|---|
| 한국어 | ko | Nivel 1 | ✓ | ✓ | ✓ | ✓ |
| English | en | Nivel 1 | ✓ | ✓ | ✓ | ✓ |
| 日本語 | ja | Nivel 1 | ✓ | ✓ | ✓ | ✓ |
| Español | es | Nivel 1 | ✓ | ✓ | ✓ | ✓ |
| Indonesio | id | Nivel 2 | - | ✓ | - | - |
| Portugués | pt | Nivel 2 | - | ✓ | - | - |
| Chino (tradicional) | zh-hant | Nivel 2 | - | ✓ | - | - |
| Alemán | de | Nivel 2 | - | ✓ | - | - |
- Nivel 1 - Idiomas cuya traducción ya está revisada. Se ofrece todo: páginas web legibles por personas, exposición en buscadores (sitemap y hreflang), audio con IA (TTS) y embeddings.
- Nivel 2 - Idiomas de solo datos con traducción automática. Se sirven únicamente por archivos de datos y la API: sin páginas web, sin exposición en buscadores, sin audio (TTS) y sin embeddings. Cada archivo lleva la etiqueta translation_status: machine para indicar que no ha sido revisado.
Pase estos valores directamente como parámetro lang de la API. Los endpoints de contenido individual y de conjuntos de datos aceptan idiomas de nivel 2, mientras que los de audio (TTS) y embeddings solo responden para idiomas de nivel 1.
Parámetros de consulta
| Parámetro | Descripción |
|---|---|
| lang | Idioma. Use los valores de la tabla de idiomas de arriba; por defecto ko. El contenido individual y los conjuntos de datos aceptan idiomas de nivel 2, mientras que el audio (TTS) y los embeddings solo responden para nivel 1 (ko, en, ja, es). |
| format | Formato de respuesta. El contenido individual acepta json, md, txt, html, jsonld; los conjuntos de datos aceptan json o jsonl. Por defecto json. |
| page, per_page | Paginación de lista. page (desde 1), per_page (1-100, por defecto 20). |
| category, tag, updated_since | Filtros de lista. category (slug de categoría), tag (slug de etiqueta), updated_since (modificado después de una fecha ISO 8601). |
| q | Consulta de búsqueda (solo búsqueda, 2+ caracteres). Coincidencia parcial en título, resumen, cuerpo y nombres de etiquetas. |
| mode | Modo de búsqueda (solo búsqueda). mode=semantic ejecuta búsqueda semántica vectorial; por defecto por palabra clave. La semántica funciona solo con la API de embeddings activa. |
| langs | Idiomas a incluir en el corpus paralelo (solo el conjunto parallel). Separados por comas; todos los idiomas si se omite. |
| status | Filtro de estado de traducción (solo el conjunto parallel). reviewed (solo revisadas), machine (solo traducción automática) o all (por defecto). |
| service | Filtro de servicio (dominio). **Opcional; por defecto se devuelve todo**: si lo omite, obtiene contenidos, carpetas y sitios de todos los servicios. Acepta el dominio (injoys.com) o la clave (injoys). Un valor desconocido devuelve 400. |
Formatos admitidos (format de contenido individual)
| format | Content-Type | Descripción |
|---|---|---|
| json | application/json | Datos estructurados (título, resumen, cuerpo, meta, etiquetas). Por defecto. |
| md | text/markdown | Cuerpo en Markdown. Ideal para LLM y documentación. |
| txt | text/plain | Cuerpo en texto plano. |
| html | text/html | Cuerpo HTML renderizado. Listo para mostrar o incrustar. |
| jsonld | application/ld+json | JSON-LD de schema.org (Article). Para búsqueda y grafos de conocimiento. |
Ejemplos
Autentíquese con la cabecera Authorization: Bearer o la cabecera X-Api-Key.
# Lista curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/contents?lang=ko&page=1&per_page=20" # Filtrar por categoría curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/contents?lang=ko&category=<CATEGORY_SLUG>" # Filtrar por etiqueta curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/contents?lang=ko&tag=<TAG_SLUG>" # Sincronización incremental (modificado desde una fecha) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/contents?updated_since=2026-01-01T00:00:00Z" # Solo un servicio (opcional; omítalo para todo) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/contents?lang=ko&service=<SERVICE>" # Contenido individual (formato HTML) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/contents/<CONTENT_ID>?lang=ko&format=html" # Buscar por slug (formato Markdown) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/contents/by-slug/<SLUG>?lang=ko&format=md" # Metadatos de imágenes curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/contents/<CONTENT_ID>/images" # Lista de categorías curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/categories?lang=ko" # Lista de etiquetas curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/tags?lang=ko" # Lista de binders curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/binders?lang=ko" # Contenido de un binder curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/binders/<BINDER_SLUG>/contents?lang=ko" # Lista de sitios curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/sites?lang=ko" # Contenido de un sitio curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/sites/<SITE_SLUG>/contents?lang=ko" # Buscar curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/search?q=<KEYWORD>&lang=ko" # Búsqueda semántica (significado vectorial) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/search?q=<KEYWORD>&mode=semantic&lang=ko" # Vectores de embedding (Pro) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/contents/<CONTENT_ID>/embeddings?lang=ko" # Metadatos de audio TTS curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/contents/<CONTENT_ID>/audio?lang=ko" # Audio TTS mp3 (Pro) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/contents/<CONTENT_ID>/audio/ko" # Catálogo de conjuntos de datos curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/datasets" # Corpus de texto (varios registros de una vez) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/datasets/corpus?lang=ko&per_page=100" # Corpus de texto en JSONL (para pipelines de entrenamiento) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/datasets/corpus?lang=ko&format=jsonl" # Sincronización incremental (solo lo modificado desde una fecha) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/datasets/corpus?updated_since=2026-01-01T00:00:00Z&format=jsonl" # Conjunto instruction (FAQ a pares de mensajes) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/datasets/qa?lang=ko&format=jsonl" # Corpus paralelo multilingüe (solo revisadas) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/datasets/parallel?langs=ko,en,ja&status=reviewed" # Vectores de embedding en bloque (Pro) curl -H "Authorization: Bearer <API_KEY>" \ "https://onbinder.com/api/v1/datasets/embeddings?lang=ko&per_page=20"
Opcional: en lugar de cabeceras puede usar un token de consulta (autenticación por URL). Añada la QUERY_KEY emitida en la página "Mi API de contenido" para llamar sin cabeceras. Puede quedar expuesta en URLs/registros, por lo que es de solo lectura, caduca y es revocable: recomendado solo para uso cómodo no sensible.
https://onbinder.com/api/v1/contents?query_key=<QUERY_KEY>&lang=ko
Solo las respuestas exitosas (2xx) cuentan para la cuota mensual; el restante se informa en las cabeceras X-Monthly-Quota-*. La cuota se reinicia el día 1 de cada mes (KST).
Las solicitudes de búsqueda semántica, embeddings, audio y conjuntos de datos usan créditos adicionales: búsqueda semántica (mode=semantic) 2x, vectores de embedding 5x, archivo mp3 de audio TTS 3x (metadatos 1x). Los conjuntos de datos escalan con el per_page solicitado (1 por cada 10 registros en corpus y QA, 1 por cada 5 en paralelo, 1 por cada 2 en embeddings). Los vectores, los archivos mp3 y el conjunto de embeddings son solo para el plan Pro, y cada función solo opera si el administrador ha activado la API correspondiente (embeddings/audio/conjuntos de datos).
El uso de la API está sujeto a: Términos · Reembolsos · Privacidad