# EmojiHub

> Get the right emoji, as an emoji. EmojiHub is a free public catalogue of every standard emoji, and every action here hands back the character itself - 🎉, ready to drop straight into a Slack message, an email subject or a page title - along with its name and its HTML code. Search for one by word, draw one at random so a daily post never looks the same twice, pull a set of different ones for a poll or a row of reactions, browse a category such as Food and drink or a narrower group such as Cat face, or find the rest of the family for an emoji you already have. No account or API key required.

App · Images & Design · 6 actions. Web page: https://docs.lodol.com/docs/integrations/emojihub

## Actions

### Find emojis

Find the emoji for a word: 'pizza' gives 🍕, 'rocket' gives 🚀. The single best match comes back on its own as well as in the list, so a step that just needs one emoji can take it straight. EmojiHub's own search only finds names containing your words exactly, so this widens the search when that comes up short - which is what makes 'smile' find the smiling faces too - and orders the results so the plainest match is first. Narrow it to a category or group to search one part of the catalogue.

**Inputs**

- Search for (`query`, text, required): The word or words to look for in emoji names. One plain word works best.
- Category (`category`, text): Only use emojis from this part of the catalogue. Pick a broad category such as 'Food and drink', or one of the narrower groups inside it such as 'Smileys and people › Cat face' - the same field takes either, so you never have to work out which of the two you picked. Leave it empty to use every emoji.
- Number of results (`limit`, number): How many emojis to return, from 1 to 100. Defaults to 10. The total number of matches is always reported, however many are returned. From 1 to 100.

**Outputs**

- `best_match` (object)
- `category` (text)
- `characters` (text): Every match as one string, ready to paste: 🍕🍔🌭.
- `group` (text)
- `match_count` (number)
- `matches` (list)
- `query` (text)
- `total_matches` (number)

**Example output**

```json
{
  "best_match": {
    "also_known_as": [
      "pizza"
    ],
    "category": "food and drink",
    "character": "\ud83c\udf55",
    "group": "food prepared",
    "html": "&#127829;",
    "name": "slice of pizza",
    "unicode": "U+1F355"
  },
  "category": null,
  "characters": "\ud83c\udf55",
  "group": null,
  "match_count": 1,
  "matches": [
    {
      "also_known_as": [
        "pizza"
      ],
      "category": "food and drink",
      "character": "\ud83c\udf55",
      "group": "food prepared",
      "html": "&#127829;",
      "name": "slice of pizza",
      "unicode": "U+1F355"
    }
  ],
  "query": "pizza",
  "total_matches": 1
}
```

### Find related emojis

Find the rest of the family for an emoji you already have. Give it a name - usually one an earlier step returned - and get back the others that share a word with it, without the one you started from: 'cat face' becomes a row of cats, 'grinning face' the rest of the smileys. Use it to build a set of reactions from a single emoji, or to offer alternatives to the one a search found.

**Inputs**

- Emoji name (`name`, text, required): The emoji's name, spelled the way EmojiHub spells it. Usually this comes from an earlier step: every action here returns the name of each emoji it hands back. Some emojis have no relatives - nothing else in the catalogue shares a word with 'rocket' - and those come back with an empty list rather than an error.
- Category (`category`, text): Only use emojis from this part of the catalogue. Pick a broad category such as 'Food and drink', or one of the narrower groups inside it such as 'Smileys and people › Cat face' - the same field takes either, so you never have to work out which of the two you picked. Leave it empty to use every emoji.
- Number of results (`limit`, number): How many emojis to return, from 1 to 100. Defaults to 10. The total number of matches is always reported, however many are returned. From 1 to 100.

**Outputs**

- `category` (text)
- `characters` (text): Every related emoji as one string, ready to paste: 😸😹😻.
- `group` (text)
- `match_count` (number)
- `matches` (list)
- `name` (text)
- `total_matches` (number)

**Example output**

```json
{
  "category": null,
  "characters": "\ud83d\ude38\ud83d\ude39",
  "group": null,
  "match_count": 2,
  "matches": [
    {
      "also_known_as": [],
      "category": "smileys and people",
      "character": "\ud83d\ude38",
      "group": "cat face",
      "html": "&#128568;",
      "name": "grinning cat face with smiling eyes",
      "unicode": "U+1F638"
    },
    {
      "also_known_as": [],
      "category": "smileys and people",
      "character": "\ud83d\ude39",
      "group": "cat face",
      "html": "&#128569;",
      "name": "cat face with tears of joy",
      "unicode": "U+1F639"
    }
  ],
  "name": "cat face",
  "total_matches": 2
}
```

### Get a random emoji

Draw one random emoji, ready to use. Narrow it to a category such as 'Food and drink', or to a narrower group such as 'Cat face', or leave the category empty to draw from the whole catalogue. A daily post that leads with this never looks the same two days running.

**Inputs**

- Category (`category`, text): Only use emojis from this part of the catalogue. Pick a broad category such as 'Food and drink', or one of the narrower groups inside it such as 'Smileys and people › Cat face' - the same field takes either, so you never have to work out which of the two you picked. Leave it empty to use every emoji.

**Outputs**

- `category` (text)
- `emoji` (object)
- `group` (text)

**Example output**

```json
{
  "category": null,
  "emoji": {
    "also_known_as": [],
    "category": "activities",
    "character": "\ud83c\udf89",
    "group": "activities",
    "html": "&#127881;",
    "name": "party popper",
    "unicode": "U+1F389"
  },
  "group": null
}
```

### Get random emojis

Draw several different emojis at once - the options for a poll, a row of reactions, the pictures for a quiz. No emoji is drawn twice, and they come back both as a list and as one ready-to-paste string. Narrow them to a category or group; asking a small group for more emojis than it holds returns what there is rather than failing.

**Inputs**

- Number of emojis (`count`, number): How many different emojis to draw, from 1 to 50. Defaults to 5. From 1 to 50.
- Category (`category`, text): Only use emojis from this part of the catalogue. Pick a broad category such as 'Food and drink', or one of the narrower groups inside it such as 'Smileys and people › Cat face' - the same field takes either, so you never have to work out which of the two you picked. Leave it empty to use every emoji.

**Outputs**

- `category` (text)
- `characters` (text): Every emoji drawn as one string, ready to paste: 🎉🚀🍕.
- `emoji_count` (number)
- `emojis` (list)
- `group` (text)
- `requested_count` (number)

**Example output**

```json
{
  "category": null,
  "characters": "\ud83c\udf89\ud83d\ude80\ud83c\udf55",
  "emoji_count": 3,
  "emojis": [
    {
      "also_known_as": [],
      "category": "activities",
      "character": "\ud83c\udf89",
      "group": "activities",
      "html": "&#127881;",
      "name": "party popper",
      "unicode": "U+1F389"
    },
    {
      "also_known_as": [],
      "category": "travel and places",
      "character": "\ud83d\ude80",
      "group": "travel and places",
      "html": "&#128640;",
      "name": "rocket",
      "unicode": "U+1F680"
    },
    {
      "also_known_as": [
        "pizza"
      ],
      "category": "food and drink",
      "character": "\ud83c\udf55",
      "group": "food prepared",
      "html": "&#127829;",
      "name": "slice of pizza",
      "unicode": "U+1F355"
    }
  ],
  "group": null,
  "requested_count": 3
}
```

### List emoji categories

List every category, the narrower groups inside each one, and how many emojis each holds. This is the list the Category field on every other action is filled from, so use it when a workflow needs to choose or loop over them itself rather than having someone pick one.

**Inputs**: None.

**Outputs**

- `categories` (list)
- `category_count` (number)
- `emoji_count` (number)
- `group_count` (number)

**Example output**

```json
{
  "categories": [
    {
      "emoji_count": 107,
      "group_count": 2,
      "groups": [
        {
          "emoji_count": 45,
          "name": "animal mammal"
        },
        {
          "emoji_count": 12,
          "name": "animal bird"
        }
      ],
      "name": "animals and nature"
    },
    {
      "emoji_count": 262,
      "group_count": 1,
      "groups": [
        {
          "emoji_count": 262,
          "name": "flags"
        }
      ],
      "name": "flags"
    }
  ],
  "category_count": 2,
  "emoji_count": 369,
  "group_count": 3
}
```

### List emojis

List the emojis in a category or group, in EmojiHub's own order - every flag, every fruit, every cat face. The size of the whole list is always reported, however few were returned, so a step can tell 'that is all of them' from 'there are more', and the Skip field walks a long list a page at a time.

**Inputs**

- Category (`category`, text): Only use emojis from this part of the catalogue. Pick a broad category such as 'Food and drink', or one of the narrower groups inside it such as 'Smileys and people › Cat face' - the same field takes either, so you never have to work out which of the two you picked. Leave it empty to use every emoji.
- Number of emojis (`limit`, number): How many emojis to return, from 1 to 200. Defaults to 50. From 1 to 200.
- Skip (`offset`, number): How many emojis to skip before starting, for walking a long list a page at a time. Leave it empty to start from the beginning. At least 0.

**Outputs**

- `category` (text)
- `characters` (text): Every emoji on this page as one string, ready to paste: 😺😸😹.
- `emoji_count` (number)
- `emojis` (list)
- `group` (text)
- `offset` (number)
- `total_count` (number)

**Example output**

```json
{
  "category": null,
  "characters": "\ud83d\ude38\ud83d\ude39",
  "emoji_count": 2,
  "emojis": [
    {
      "also_known_as": [],
      "category": "smileys and people",
      "character": "\ud83d\ude38",
      "group": "cat face",
      "html": "&#128568;",
      "name": "grinning cat face with smiling eyes",
      "unicode": "U+1F638"
    },
    {
      "also_known_as": [],
      "category": "smileys and people",
      "character": "\ud83d\ude39",
      "group": "cat face",
      "html": "&#128569;",
      "name": "cat face with tears of joy",
      "unicode": "U+1F639"
    }
  ],
  "group": "cat face",
  "offset": 0,
  "total_count": 9
}
```
