aboutsummaryrefslogtreecommitdiff
path: root/content/docs/mal2go/v4/manga/search-for-a-manga.md
blob: 5d519aaa1d78e8679d7d84ad8f113851886094ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
---
title: "Search for a manga"
description: "Use a search string to get a list of mangas"
weight: 2
---

Use the `SearchManga` method to search for a manga. This method takes these arguments:

- `searchString string` Is pretty obvious. This term is used to search for a manga on MyAnimeList.
- `limit int` Is the max amount of search results to get. Max is 100.
- `offset int` Is the "offset" for the search results. If offset is greater than 0 the first n number of search reults will be ignored.
- `nsfw bool` Wether to include NSFW rated search results
- `fields []string` The fields to include in the search results. [Here]() is a list of the valid fields. Just using an empty slice (`[]string{}`) will include all the fields.  
The MyAnimeList API is picky about what fields to actually include with search results. To be sure that you are getting all the data it is recommended to use the [`GetMangaById`](#get-data-about-a-manga) method which ensures that all the required fields are included.


Example:

``` go
package main

import (
  "github.com/MikunoNaka/MAL2Go/v4/manga"
  "log"
  "fmt"
)

func main() {
  authToken := "YOUR_TOKEN_HERE"
  myClient := manga.Client {
    AuthToken: "Bearer " + authToken,
  }
    
  searchString := "mushishi" // search for mushishi
  limit := 10 // get 10 search results
  offset := 0 // no offset
  searchNsfw := false // don't include NSFW results
  fields := []string{"title"} // only pull the title
    
  searchResults, err := myClient.SearchManga(searchString, limit, offset, searchNsfw, fields)
  if err != nil {
    log.Fatal(err) // remember kids, always handle errors
  }
   
  // loop over the search results and print the title
  for _, manga := range searchResults {
    fmt.Println(manga.Title)
  }
}
```