{"id":26863871,"url":"https://github.com/rae-api-com/go-rae","last_synced_at":"2026-05-03T02:43:14.918Z","repository":{"id":285092486,"uuid":"957039101","full_name":"rae-api-com/go-rae","owner":"rae-api-com","description":"Official golang SDK for the unofficial RAE JSON API at rae-api.com","archived":false,"fork":false,"pushed_at":"2025-10-29T11:40:21.000Z","size":52,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-29T13:26:22.815Z","etag":null,"topics":["api","client","golang","http","json","rae","sdk"],"latest_commit_sha":null,"homepage":"https://rae-api.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rae-api-com.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-29T12:06:34.000Z","updated_at":"2025-10-29T11:40:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"2949ee11-33ac-40d4-a3e5-164b73b3f553","html_url":"https://github.com/rae-api-com/go-rae","commit_stats":null,"previous_names":["rae-api-com/go-rae"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/rae-api-com/go-rae","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rae-api-com%2Fgo-rae","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rae-api-com%2Fgo-rae/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rae-api-com%2Fgo-rae/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rae-api-com%2Fgo-rae/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rae-api-com","download_url":"https://codeload.github.com/rae-api-com/go-rae/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rae-api-com%2Fgo-rae/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32556771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T00:31:16.350Z","status":"online","status_checked_at":"2026-05-03T02:00:09.297Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","client","golang","http","json","rae","sdk"],"created_at":"2025-03-31T03:33:02.094Z","updated_at":"2026-05-03T02:43:14.912Z","avatar_url":"https://github.com/rae-api-com.png","language":"Go","funding_links":[],"categories":["Lengua Española y Diccionarios"],"sub_categories":["Wallapop"],"readme":"# 📚 RAE API Go Client\n\n[![Go Version](https://img.shields.io/github/go-mod/go-version/rae-api-com/go-rae)](https://golang.org/)\n[![Go Report Card](https://goreportcard.com/badge/github.com/rae-api-com/go-rae)](https://goreportcard.com/report/github.com/rae-api-com/go-rae)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Build Status](https://github.com/rae-api-com/go-rae/workflows/CI/badge.svg)](https://github.com/rae-api-com/go-rae/actions)\n\nUn cliente Go elegante y eficiente para la [rae-api.com](http://rae-api.com), que proporciona acceso programático a definiciones de palabras, significados y conjugaciones verbales del diccionario de la Real Academia Española (RAE).\n\n## ✨ Características\n\n- 🚀 **API Simple** - Interfaz limpia y fácil de usar\n- 📖 **Múltiples Significados** - Maneja palabras con múltiples acepciones\n- 🔄 **Conjugaciones Completas** - Todos los tiempos verbales (Indicativo, Subjuntivo, Imperativo)\n- 📝 **Definiciones Ricas** - Acceso a sinónimos, antónimos, etiquetas de uso\n- ⚡ **Lightweight** - Sin dependencias pesadas\n- 🎯 **Tipado Fuerte** - Estructuras de datos bien definidas\n\n\u003e **Nota**: Este **no** es un cliente oficial de la RAE. El uso de rae-api.com está sujeto a los términos y condiciones de la API.\n\n## 📦 Instalación\n\n```bash\ngo get github.com/rae-api-com/go-rae\n```\n\n## 🚀 Uso Rápido\n\n### Ejemplo Básico\n\n```go\npackage main\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"log\"\n\t\"time\"\n\n\trae \"github.com/rae-api-com/go-rae\"\n)\n\nfunc main() {\n\t// Crear un nuevo cliente\n\tclient := rae.New()\n\t\n\t// Configurar timeout\n\tctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)\n\tdefer cancel()\n\t\n\t// Buscar una palabra\n\tentry, err := client.Word(ctx, \"hablar\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\t\n\t// Mostrar resultado\n\tdata, _ := json.MarshalIndent(entry, \"\", \"  \")\n\tfmt.Println(string(data))\n}\n```\n\n### Con Opciones Personalizadas\n\n```go\nclient := rae.New(\n\trae.WithTimeout(10*time.Second),\n\trae.WithVersion(\"v1\"),\n)\n```\n\n### Obtener Palabra Aleatoria\n\n```go\n// Palabra aleatoria\nrandomWord, err := rae.GetRandom(ctx, \"production\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"Palabra del día: %s\\n\", randomWord)\n```\n\n### Obtener Palabra Diaria\n\n```go\n// Palabra diaria\ndailyWord, err := rae.GetDaily(ctx, \"production\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"Palabra diaria: %s\\n\", dailyWord)\n```\n\n## 📋 Estructura de Respuesta\n\nLa API devuelve datos estructurados en el siguiente formato:\n\n```json\n{\n  \"word\": \"hablar\",\n  \"meanings\": [\n    {\n      \"origin\": {\n        \"raw\": \"Del lat. comedĕre.\",\n        \"type\": \"lat\", \n        \"text\": \"comedĕre\"\n      },\n      \"senses\": [\n        {\n          \"meaning_number\": 1,\n          \"raw\": \"1. tr. Masticar...\",\n          \"category\": \"verb\",\n          \"usage\": \"common\",\n          \"description\": \"Masticar y deglutir un alimento sólido.\",\n          \"synonyms\": [\"masticar\", \"deglutir\"],\n          \"antonyms\": []\n        }\n      ],\n      \"conjugations\": {\n        \"non_personal\": {\n          \"infinitive\": \"hablar\",\n          \"gerund\": \"hablando\", \n          \"participle\": \"hablado\"\n        },\n        \"indicative\": {\n          \"present\": {\n            \"singular_first_person\": \"hablo\",\n            \"singular_second_person\": \"hablas\",\n            \"singular_third_person\": \"habla\"\n            // ... más conjugaciones\n          }\n        }\n        // ... más tiempos verbales\n      }\n    }\n  ]\n}\n```\n\n## 🛠️ API Reference\n\n### Tipos Principales\n\n```go\ntype Client struct {\n    // campos internos\n}\n\ntype Entry struct {\n    Word     string    `json:\"word\"`\n    Meanings []Meaning `json:\"meanings\"`\n}\n\ntype Meaning struct {\n    Origin       Origin       `json:\"origin\"`\n    Senses       []Sense      `json:\"senses\"`\n    Conjugations Conjugations `json:\"conjugations,omitempty\"`\n}\n```\n\n### Métodos del Cliente\n\n| Método                | Descripción                   | Ejemplo                      |\n| --------------------- | ----------------------------- | ---------------------------- |\n| `Word(ctx, word)`     | Busca una palabra específica  | `client.Word(ctx, \"casa\")`   |\n| `GetRandom(ctx, env)` | Obtiene una palabra aleatoria | `rae.GetRandom(ctx, \"prod\")` |\n| `GetDaily(ctx, env)`  | Obtiene la palabra del día    | `rae.GetDaily(ctx, \"prod\")`  |\n\n### Opciones de Configuración\n\n```go\n// Configurar timeout personalizado\nrae.WithTimeout(10 * time.Second)\n\n// Configurar versión de la API\nrae.WithVersion(\"v1\")\n```\n\n## 🤝 Contribuir\n\n¡Las contribuciones son bienvenidas! Por favor:\n\n1. Haz fork del proyecto\n2. Crea una rama para tu feature (`git checkout -b feature/AmazingFeature`)\n3. Haz commit de tus cambios (`git commit -m 'Add some AmazingFeature'`)\n4. Push a la rama (`git push origin feature/AmazingFeature`)\n5. Abre un Pull Request\n\n## 📝 Licencia\n\nEste proyecto está bajo la [Licencia MIT](LICENSE).\n\n## 🙏 Reconocimientos\n\n- Este cliente utiliza el servicio [rae-api.com](http://rae-api.com), que no está afiliado con la Real Academia Española\n- Todo el contenido del diccionario pertenece a la RAE y está sujeto a sus términos y condiciones\n- Gracias a todos los [contribuidores](https://github.com/rae-api-com/go-rae/graphs/contributors)\n\n## 📧 Soporte\n\nSi encuentras algún problema o tienes sugerencias:\n\n- Abre un [issue](https://github.com/rae-api-com/go-rae/issues)\n- Consulta la [documentación](https://pkg.go.dev/github.com/rae-api-com/go-rae)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  Hecho con ❤️ para la comunidad Go\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frae-api-com%2Fgo-rae","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frae-api-com%2Fgo-rae","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frae-api-com%2Fgo-rae/lists"}