{"id":20198142,"url":"https://github.com/mtslzr/pokeapi-go","last_synced_at":"2025-04-11T03:33:26.333Z","repository":{"id":49324279,"uuid":"193187119","full_name":"mtslzr/pokeapi-go","owner":"mtslzr","description":"Wrapper for PokeAPI; written in Go.","archived":false,"fork":false,"pushed_at":"2024-06-23T16:34:49.000Z","size":95,"stargazers_count":88,"open_issues_count":6,"forks_count":26,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T01:33:06.505Z","etag":null,"topics":["api-client","circleci","go","golang","pokeapi"],"latest_commit_sha":null,"homepage":"https://pokeapi.co","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/mtslzr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2019-06-22T03:37:36.000Z","updated_at":"2025-03-24T04:09:12.000Z","dependencies_parsed_at":"2024-06-18T15:30:04.689Z","dependency_job_id":"de348378-b7d4-4a18-b2f0-678f3a87581a","html_url":"https://github.com/mtslzr/pokeapi-go","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtslzr%2Fpokeapi-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtslzr%2Fpokeapi-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtslzr%2Fpokeapi-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtslzr%2Fpokeapi-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mtslzr","download_url":"https://codeload.github.com/mtslzr/pokeapi-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248335993,"owners_count":21086693,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","circleci","go","golang","pokeapi"],"created_at":"2024-11-14T04:29:31.291Z","updated_at":"2025-04-11T03:33:26.229Z","avatar_url":"https://github.com/mtslzr.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pokeapi-go\n![Actions](https://github.com/mtslzr/pokeapi-go/workflows/Actions/badge.svg)\n![Release](https://img.shields.io/github/v/release/mtslzr/pokeapi-go)\n[![Codecov](https://img.shields.io/codecov/c/github/mtslzr/pokeapi-go.svg?style=flat)](https://codecov.io/gh/mtslzr/pokeapi-go)\n[![Go Report Card](https://goreportcard.com/badge/github.com/mtslzr/pokeapi-go?style=flat)](https://goreportcard.com/report/github.com/mtslzr/pokeapi-go)\n[![GoDoc](https://img.shields.io/badge/go-documentation-blue.svg?style=flat)](http://godoc.org/github.com/mtslzr/pokeapi-go)\n[![License](https://img.shields.io/badge/license-mit-blue.svg?style=flat)](https://raw.githubusercontent.com/mtslzr/pokeapi-go/master/LICENSE)\n\nWrapper for [Poke API](https://pokeapi.co), written in Go. *Supports PokeAPI v2.*\n\n- [pokeapi-go](#pokeapi-go)\n  - [Documentation](#Documentation)\n  - [Getting Started](#Getting-Started)\n  - [Endpoints](#Endpoints)\n    - [Berries](#Berries)\n    - [Contests](#Contests)\n    - [Encounters](#Encounters)\n    - [Evolution](#Evolution)\n    - [Games](#Games)\n    - [Items](#Items)\n    - [Locations](#Locations)\n    - [Machines](#Machines)\n    - [Moves](#Moves)\n    - [Pokemon](#Pokemon)\n    - [Utility](#Utility)\n  - [Additional Options](#Additional-Options)\n    - [Resource List Parameters](#Resource-List-Parameters)\n    - [Resource List Filters](#Resource-List-Filters)\n    - [Caching](#Caching)\n\n## Documentation\n\nFull API documentation can be found at [Poke API](https://pokeapi.co/docs/v2.html).\n\n## Getting Started\n\n```bash\ngo get github.com/mtslzr/pokeapi-go\n```\n\n```go\nimport \"github.com/mtslzr/pokeapi-go\"\n```\n\n## Endpoints\n\n### Berries\n\n\u003cdetails\u003e\n  \u003csummary\u003eBerries\u003c/summary\u003e\n  \n  #### Get Berries\n\n  ```go\n  b := pokeapi.Resource(\"berry\")\n  ```\n\n  #### Get Berry\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"cheri\").*\n\n  ```go\n  b := pokeapi.Berry(\"cheri\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eBerry Firmness\u003c/summary\u003e\n  \n  #### Get Berry Firmnesses\n\n  ```go\n  b := pokeapi.Resource(\"berry-firmness\")\n  ```\n\n  #### Get Berry Firmness\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"very-soft\").*\n\n  ```go\n  b := pokeapi.BerryFirmness(\"very-soft\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eBerry Flavors\u003c/summary\u003e\n  \n  #### Get Berry Flavors\n\n  ```go\n  b := pokeapi.Resource(\"berry-flavor\")\n  ```\n\n  #### Get Berry Flavor\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"spicy\").*\n\n  ```go\n  b := pokeapi.BerryFlavor(\"spicy\")\n  ```\n\u003c/details\u003e\n\n### Contests\n\n\u003cdetails\u003e\n  \u003csummary\u003eContest Types\u003c/summary\u003e\n  \n  #### Get Contest Types\n\n  ```go\n  c := pokeapi.Resource(\"berry\")\n  ```\n\n  #### Get Contest Type\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"cool\").*\n\n  ```go\n  c := pokeapi.ContestType(\"cool\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eContest Effects\u003c/summary\u003e\n  \n  #### Get Contest Effects\n\n  ```go\n  c := pokeapi.Resource(\"contest-effect\")\n  ```\n\n  #### Get Contest Effect\n\n  *Must pass an ID (e.g. \"1\").*\n\n  ```go\n  c := pokeapi.ContestEffect(\"1\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eSuper Contest Effects\u003c/summary\u003e\n  \n  #### Get Super Contest Effects\n\n  ```go\n  c := pokeapi.Resource(\"super-contest-effect\")\n  ```\n\n  #### Get Super Contest Effect\n\n  *Must pass an ID (e.g. \"1\").*\n\n  ```go\n  c := pokeapi.SuperContestEffect(\"1\")\n  ```\n\u003c/details\u003e\n\n### Encounters\n\n\u003cdetails\u003e\n  \u003csummary\u003eEncounter Methods\u003c/summary\u003e\n  \n  #### Get Encounter Methods\n\n  ```go\n  e := pokeapi.Resource(\"encounter-method\")\n  ```\n\n  #### Get Encounter Method\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"walk\").*\n\n  ```go\n  e := pokeapi.EncounterMethod(\"walk\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eEncounter Conditions\u003c/summary\u003e\n  \n  #### Get Encounter Conditions\n\n  ```go\n  e := pokeapi.Resource(\"encounter-condition\")\n  ```\n\n  #### Get Encounter Condition\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"swarm\").*\n\n  ```go\n  e := pokeapi.EncounterCondition(\"swarm\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eEncounter Condition Values\u003c/summary\u003e\n  \n  #### Get Encounter Condition Values\n\n  ```go\n  e := pokeapi.Resource(\"encounter-condition-value\")\n  ```\n\n  #### Get Encounter Condition Value\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"swarm-yes\").*\n\n  ```go\n  e := pokeapi.EncounterConditionValue(\"swarm-yes\")\n  ```\n\u003c/details\u003e\n\n### Evolution\n\n\u003cdetails\u003e\n  \u003csummary\u003eEvolution Chains\u003c/summary\u003e\n  \n  #### Get Evolution Chains\n\n  ```go\n  e := pokeapi.Resource(\"evolution-chain\")\n  ```\n\n  #### Get Evolution Chain\n\n  *Must pass an ID (e.g. \"1\").*\n\n  ```go\n  e := pokeapi.EvolutionChain(\"1\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eEvolution Triggers\u003c/summary\u003e\n  \n  #### Get Evolution Triggers\n\n  ```go\n  e := pokeapi.Resource(\"evolution-trigger\")\n  ```\n\n  #### Get Evolution Trigger\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"level-up\").*\n\n  ```go\n  e := pokeapi.EvolutionTrigger(\"level-up\")\n  ```\n\u003c/details\u003e\n\n### Games\n\n\u003cdetails\u003e\n  \u003csummary\u003eGenerations\u003c/summary\u003e\n  \n  #### Get Generations\n\n  ```go\n  g := pokeapi.Resource(\"generation\")\n  ```\n\n  #### Get Generation\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"generation-i\").*\n\n  ```go\n  g := pokeapi.Generation(\"generation-i\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ePokedex\u003c/summary\u003e\n  \n  #### Get All Pokedex\n\n  ```go\n  g := pokeapi.Resource(\"pokedex\")\n  ```\n\n  #### Get Single Pokedex\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"national\").*\n\n  ```go\n  g := pokeapi.Pokedex(\"national\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eVersions\u003c/summary\u003e\n  \n  #### Get Versions\n\n  ```go\n  g := pokeapi.Resource(\"version\")\n  ```\n\n  #### Get Version\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"red\").*\n\n  ```go\n  g := pokeapi.Version(\"red\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eVersion Groups\u003c/summary\u003e\n  \n  #### Get Version Groups\n\n  ```go\n  g := pokeapi.Resource(\"version-group\")\n  ```\n\n  #### Get Version Group\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"red-blue\").*\n\n  ```go\n  g := pokeapi.VersionGroup(\"red-blue\")\n  ```\n\u003c/details\u003e\n\n### Items\n\n\u003cdetails\u003e\n  \u003csummary\u003eItems\u003c/summary\u003e\n  \n  #### Get Items\n\n  ```go\n  i := pokeapi.Resource(\"item\")\n  ```\n\n  #### Get Item\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"master-ball\").*\n\n  ```go\n  i := pokeapi.Item(\"master-ball\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eItem Attributes\u003c/summary\u003e\n  \n  #### Get Item Attributes\n\n  ```go\n  i := pokeapi.Resource(\"item-attribute\")\n  ```\n\n  #### Get Item Attribute\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"countable\").*\n\n  ```go\n  i := pokeapi.ItemAttribute(\"countable\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eItem Categories\u003c/summary\u003e\n  \n  #### Get Item Ctegories\n\n  ```go\n  i := pokeapi.Resource(\"item-category\")\n  ```\n\n  #### Get Item Category\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"stat-boosts\").*\n\n  ```go\n  i := pokeapi.ItemCategory(\"stat-boosts\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eItem Fling Effects\u003c/summary\u003e\n  \n  #### Get Item Fling Effects\n\n  ```go\n  i := pokeapi.Resource(\"item-fling-effect\")\n  ```\n\n  #### Get Item Fling Effect\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"badly-poison\").*\n\n  ```go\n  i := pokeapi.ItemFlingEffect(\"badly-poison\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eItem Pockets\u003c/summary\u003e\n  \n  #### Get Item Pockets\n\n  ```go\n  i := pokeapi.Resource(\"item-pocket\")\n  ```\n\n  #### Get Item Pocket\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"misc\").*\n\n  ```go\n  i := pokeapi.ItemPocket(\"misc\")\n  ```\n\u003c/details\u003e\n\n### Locations\n\n\u003cdetails\u003e\n  \u003csummary\u003eLocations\u003c/summary\u003e\n  \n  #### Get Locations\n\n  ```go\n  l := pokeapi.Resource(\"location\")\n  ```\n\n  #### Get Location\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"canalave-city\").*\n\n  ```go\n  l := pokeapi.Location(\"canalave-city\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eLocation Areas\u003c/summary\u003e\n  \n  #### Get Location Areas\n\n  ```go\n  l := pokeapi.Resource(\"location-area\")\n  ```\n\n  #### Get Location Area\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"canalave-city-area\").*\n\n  ```go\n  l := pokeapi.LocationArea(\"canalave-city-area\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ePal Park Areas\u003c/summary\u003e\n  \n  #### Get Pal Park Areas\n\n  ```go\n  l := pokeapi.Resource(\"pal-park-area\")\n  ```\n\n  #### Get Pal Park Area\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"forest\").*\n\n  ```go\n  l := pokeapi.PalParkArea(\"forest\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eRegions\u003c/summary\u003e\n  \n  #### Get Regions\n\n  ```go\n  l := pokeapi.Resource(\"region\")\n  ```\n\n  #### Get Region\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"kanto\").*\n\n  ```go\n  l := pokeapi.Region(\"kanto\")\n  ```\n\u003c/details\u003e\n\n### Machines\n\n\u003cdetails\u003e\n  \u003csummary\u003eMachines\u003c/summary\u003e\n  \n  #### Get Machines\n\n  ```go\n  m := pokeapi.Resource(\"machine\")\n  ```\n\n  #### Get Machine\n\n  *Must pass an ID (e.g. \"1\").*\n\n  ```go\n  m := pokeapi.Machine(\"1\")\n  ```\n\u003c/details\u003e\n\n### Moves\n\n\u003cdetails\u003e\n  \u003csummary\u003eMoves\u003c/summary\u003e\n  \n  #### Get Moves\n\n  ```go\n  m := pokeapi.Resource(\"move\")\n  ```\n\n  #### Get Move\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"pound\").*\n\n  ```go\n  m := pokeapi.Move(\"pound\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eMove Ailments\u003c/summary\u003e\n  \n  #### Get Move Ailments\n\n  ```go\n  m := pokeapi.Resource(\"move-ailment\")\n  ```\n\n  #### Get Move Ailment\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"paralysis\").*\n\n  ```go\n  m := pokeapi.MoveAilment(\"paralysis\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eMove Battle Styles\u003c/summary\u003e\n  \n  #### Get Move Battle Styles\n\n  ```go\n  m := pokeapi.Resource(\"move-battle-style\")\n  ```\n\n  #### Get Move Battle Style\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"attack\").*\n\n  ```go\n  m := pokeapi.MoveBattleStyle(\"attack\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eMove Categories\u003c/summary\u003e\n  \n  #### Get Move Categories\n\n  ```go\n  m := pokeapi.Resource(\"move-catgory\")\n  ```\n\n  #### Get Move Category\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"ailment\").*\n\n  ```go\n  m := pokeapi.MoveCategory(\"ailment\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eMove Damage Classes\u003c/summary\u003e\n  \n  #### Get Move Damage Classes\n\n  ```go\n  m := pokeapi.Resource(\"move-damage-class\")\n  ```\n\n  #### Get Move Damage Class\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"status\").*\n\n  ```go\n  m := pokeapi.MoveDamageClass(\"status\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eMove Learn Methods\u003c/summary\u003e\n  \n  #### Get Move Learn Methods\n\n  ```go\n  m := pokeapi.Resource(\"move-learn-method\")\n  ```\n\n  #### Get Move Learn Method\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"level-up\").*\n\n  ```go\n  m := pokeapi.MoveLearnMethod(\"level-up\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eMove Targets\u003c/summary\u003e\n  \n  #### Get Move Targets\n\n  ```go\n  m := pokeapi.Resource(\"move-target\")\n  ```\n\n  #### Get Move Target\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"specific-move\").*\n\n  ```go\n  m := pokeapi.MoveTarget(\"specific-move\")\n  ```\n\u003c/details\u003e\n\n### Pokemon\n\n\u003cdetails\u003e\n  \u003csummary\u003eAbilities\u003c/summary\u003e\n  \n  #### Get Abilities\n\n  ```go\n  p := pokeapi.Resource(\"ability\")\n  ```\n\n  #### Get Ability\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"stench\").*\n\n  ```go\n  p := pokeapi.Ability(\"stench\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eCharacteristics\u003c/summary\u003e\n  \n  #### Get Characteristics\n\n  ```go\n  p := pokeapi.Resource(\"characteristic\")\n  ```\n\n  #### Get Characteristic\n\n  *Must pass an ID (e.g. \"1\").*\n\n  ```go\n  p := pokeapi.Characteristic(\"1\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eEgg Groups\u003c/summary\u003e\n  \n  #### Get Egg Groups\n\n  ```go\n  p := pokeapi.Resource(\"egg-group\")\n  ```\n\n  #### Get Egg Group\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"monster\").*\n\n  ```go\n  p := pokeapi.EggGroup(\"monster\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eGenders\u003c/summary\u003e\n  \n  #### Get Genders\n\n  ```go\n  p := pokeapi.Resource(\"gender\")\n  ```\n\n  #### Get Gender\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"female\").*\n\n  ```go\n  p := pokeapi.Gender(\"female\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eGrowth Rates\u003c/summary\u003e\n  \n  #### Get Growth Rates\n\n  ```go\n  p := pokeapi.Resource(\"growth-rate\")\n  ```\n\n  #### Get Growth Rate\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"slow\").*\n\n  ```go\n  p := pokeapi.GrowthRate(\"slow\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eNatures\u003c/summary\u003e\n  \n  #### Get Natures\n\n  ```go\n  p := pokeapi.Resource(\"nature\")\n  ```\n\n  #### Get Nature\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"hardy\").*\n\n  ```go\n  p := pokeapi.Nature(\"hardy\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ePokeathlon Stats\u003c/summary\u003e\n  \n  #### Get Pokeathlon Stats\n\n  ```go\n  p := pokeapi.Resource(\"pokeathlon-stat\")\n  ```\n\n  #### Get Pokeathlon Stat\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"speed\").*\n\n  ```go\n  p := pokeapi.PokeathlonStat(\"speed\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ePokemon\u003c/summary\u003e\n  \n  #### Get All Pokemon\n\n  ```go\n  l := pokeapi.Resource(\"pokemon\")\n  ```\n\n  #### Get Single Pokemon\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"bulbasaur\").*\n\n  ```go\n  l := pokeapi.Pokemon(\"bulabsaur\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ePokemon Colors\u003c/summary\u003e\n  \n  #### Get Pokemon Colors\n\n  ```go\n  p := pokeapi.Resource(\"pokemon-color\")\n  ```\n\n  #### Get Pokemon Color\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"black\").*\n\n  ```go\n  p := pokeapi.PokemonColor(\"black\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ePokemon Forms\u003c/summary\u003e\n  \n  #### Get Pokemon Forms\n\n  ```go\n  p := pokeapi.Resource(\"pokemon-form\")\n  ```\n\n  #### Get Pokemon Form\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"bulbasaur\").*\n\n  ```go\n  p := pokeapi.PokemonForm(\"bulabsaur\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ePokemon Habitats\u003c/summary\u003e\n  \n  #### Get Pokemon Habitats\n\n  ```go\n  p := pokeapi.Resource(\"pokemon-habitat\")\n  ```\n\n  #### Get Pokemon Habitat\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"cave\").*\n\n  ```go\n  p := pokeapi.PokemonHabitat(\"cave\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ePokemon Shapes\u003c/summary\u003e\n  \n  #### Get Pokemon Shapes\n\n  ```go\n  p := pokeapi.Resource(\"pokemon-shape\")\n  ```\n\n  #### Get Pokemon Shape\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"ball\").*\n\n  ```go\n  p := pokeapi.PokemonShape(\"ball\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ePokemon Species\u003c/summary\u003e\n  \n  #### Get All Pokemon Species\n\n  ```go\n  p := pokeapi.Resource(\"pokemon-species\")\n  ```\n\n  #### Get Single Pokemon Species\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"bulbasaur\").*\n\n  ```go\n  p := pokeapi.PokemonSpecies(\"bulabsaur\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eStats\u003c/summary\u003e\n  \n  #### Get Stats\n\n  ```go\n  p := pokeapi.Resource(\"stat\")\n  ```\n\n  #### Get Stat\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"hp\").*\n\n  ```go\n  p := pokeapi.Stat(\"hp\")\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eTypes\u003c/summary\u003e\n  \n  #### Get Types\n\n  ```go\n  p := pokeapi.Resource(\"type\")\n  ```\n\n  #### Get Type\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"normal\").*\n\n  ```go\n  p := pokeapi.Type(\"normal\")\n  ```\n\u003c/details\u003e\n\n### Utility\n\n\u003cdetails\u003e\n  \u003csummary\u003eLanguages\u003c/summary\u003e\n  \n  #### Get Languages\n\n  ```go\n  u := pokeapi.Resource(\"language\")\n  ```\n\n  #### Get Language\n\n  *Must pass an ID (e.g. \"1\") or name (e.g. \"en\").*\n\n  ```go\n  u := pokeapi.Language(\"en\")\n  ```\n\u003c/details\u003e\n\n## Additional Options\n\n### Resource List Parameters\n\nWhen calling `pokeapi.Resource()` for any resource list, you can optionally pass up to two integers. The first will be an offset (defaults to zero), and the second will be the limit (defaults two twenty).\n\n\u003cdetails\u003e\n  \u003csummary\u003eDefault\u003c/summary\u003e\n  \n  ```go\n  r := pokeapi.Resource(\"pokemon\")\n  fmt.Println(len(r.Results)) // 20\n  fmt.Println(r.Results[0].Name) // \"bulbasaur\"\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eOffset\u003c/summary\u003e\n\n  ```go\n  r := pokeapi.Resource(\"pokemon\", 3)\n  fmt.Println(len(r.Results)) // 20\n  fmt.Println(r.Results[0].Name) // \"charmander\"\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eOffset and Limit\u003c/summary\u003e\n\n  ```go\n  r := pokeapi.Resource(\"pokemon\", 6, 10)\n  fmt.Println(len(r.Results)) // 10\n  fmt.Println(r.Results[0].Name) // \"squirtle\"\n  ```\n\u003c/details\u003e\n\n### Resource List Filters\n\nAs an alternative to `pokeapi.Resource()`, you can use Search to filter resource lists. Pass the endpoint, followed by the search term. Or pass a string starting with `^` to search for items starting with the search team.\n\n*result.Count is updated after the search with the new total (to get the full count, use `pokeapi.Resource()`.*\n\n\u003cdetails\u003e\n  \u003csummary\u003eSearch\u003c/summary\u003e\n\n  ```go\n  s := pokeapi.Search(\"pokemon\", \"saur\")\n  fmt.Println(len(s.Results)) // 4\n  fmt.Println(s.Results[3].Name) // venusaur-mega\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eStarts With\u003c/summary\u003e\n\n  ```go\n  s := pokeapi.Search(\"pokemon\", \"^a\")\n  fmt.Println(len(s.Results)) // 44\n  fmt.Println(s.Results[0].Name) // arbok\n  ```\n\n  ```go\n  s := pokeapi.Search(\"pokemon\", \"^bulb\")\n  fmt.Println(len(s.Results)) // 1\n  fmt.Println(s.Results[0].Name) // bulbasaur\n  ```\n\u003c/details\u003e\n\n### Caching\n\nCalls are automatically cached to cut down on API traffic to PokeAPI, with subsequent calls returning local data.\n\n#### Clearing Cache\n\n```go\n// Clear all existing cache entries.\npokeapi.ClearCache()\n```\n\n#### Custom Expiration\n\nCustom cache expiration remains for all calls until changed or unset.\n\n```go\n// Set cache expiration to twenty minutes.\npokeapi.CacheSettings.CustomExpire = 20\n// Turn custom expiration back off.\npokeapi.CacheSettings.CustomExpire = 0\n```\n\n#### Disable Cache\n\n_Please be considerate of PokeAPI and be sure to always operate within this requested limits._\n\nAs with custom expiration, this setting remains for all calls until changed or unset.\n\n```go\n// Disable checking for cached data\npokeapi.CacheSettings.UseCache = false\n// Re-enable checking for cached data\npokeapi.CacheSettings.UseCache = true\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtslzr%2Fpokeapi-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmtslzr%2Fpokeapi-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtslzr%2Fpokeapi-go/lists"}