Search illustrations
search_illustrationsSearch Icons8 illustrations - the ONLY source for genuine Icons8 illustrations.
Illustrations are full scenes with people, objects and backgrounds. Reach for one when a page needs a hero image, an empty state, an onboarding step or a spot illustration. For a small symbol in a button, a menu or a table, use search_icons instead.
Every result carries preview.url: a permanent CDN link (webp) you can
embed directly. It never expires and needs no second call. Use
get_illustration_svg or get_illustration_png_url only when you need the
original asset rather than a preview.
Some illustrations are animated. A result says so in media_types, and
almost all of those carry an animation block: webm and mov play
the animation, poster is the still frame. They are previews - see
below for what that costs - and get_illustration_animation is what
returns a file to publish, along with the markup to publish it
with.
animation.lottie says whether a Lottie JSON exists for this
illustration, so you need not spend a call to find out. It is worth
checking: Lottie is missing from most work added since 2024, and two
illustrations in the same style often disagree about it. When it is
false, do not ask get_illustration_animation for "lottie".
MIND THE SIZE, AND READ IT FROM THE BLOCK. The animation links are
previews, 368x368 - fine for a spot, a card or a list row, too small for
a hero banner or a full-width section. Do not infer the size from
preview: the still preview is not square for about a third of
illustrations, while the animation always is. When the slot is large,
use poster (1200x1200, a still) or call get_illustration_animation for
the full-size video.
THE ANIMATION LINKS ARE FOR CHOOSING, NOT FOR SHIPPING. Two limits, and both are invisible until the page is built:
No transparency.
webmandmovhere are flat against an opaque #F7F7F7, and the previewmovcarries no alpha layer at all. On a coloured or dark section they render as a light-grey rectangle; on a hero they are 368px. Onlyposteris transparent.A watermark, unless the account is entitled to the illustration.
animation.watermarkedsays which you got, for these links, in this response: false means "Icons8 Ouch" is not tiled across the frame. It is false for a subscriber, and for anything withfree_distribution: truewhoever asks. It says nothing about the size or the transparency above, which apply either way.
Use them to pick an illustration, and poster where a still will do.
For anything that ships, call get_illustration_animation and host the
file: it is full size, transparent, and never watermarked.
A few animated illustrations carry no animation block at all, so read
the block, do not assume it.
SEARCH TIPS:
Describe the scene, not the symbol: "team meeting", "online payment"
One or two words work better than a sentence
Pass
styleto keep a whole project on one visual family - get the available values from list_illustrations_stylesPass
categoryto narrow a broad word - "cat" alone returns over a thousand hits; in category "animal" it returns far fewer, and in "business" fewer still. Values come from list_illustrations_categoriesPass free_only=True for illustrations a free Icons8 account can use
ABOUT free_distribution IN THE RESULTS - do not warn the user about
licensing based on it:
true means the illustration is available on a free Icons8 account and free to redistribute: the user may use and share it without a licence. Ouch skips the entitlement check for these and does not count them against a subscriber's allowance
false means it needs a paid account. For a subscriber that is the ordinary case - available, and counted against their allowance. It does NOT mean this user cannot have it, and it does NOT mean some second licence beyond their subscription is required Whether this user may download something is decided by the download call, not by this flag. Ask for the asset; if it is refused, the error says exactly what is missing. Never turn
free_distribution: falseinto a licence warning of your own.
Args:
query: What the illustration should show (max 150 characters)
ctx: MCP context for API access
style: Optional style pretty_id from list_illustrations_styles
category: Optional category pretty_id from list_illustrations_categories
free_only: Only illustrations a free Icons8 account can use and
redistribute without a licence
animated: True for animated only, False for static only. Nearly every
animated result carries an animation block - permanent WebM and
HEVC links you can embed directly, plus a poster frame - but a
few carry none, and some carry the poster without the video, so
check the block rather than assuming its keys. For the full-size
original, use get_illustration_animation.
amount: Results per page (default: 10, max: 100)
page: Page number, 1-based (this API paginates by page, not offset)
Returns:
{"total", "illustrations"}, each entry carrying id, heading, styles,
tags, media_types and a permanent preview link - plus an animation
block when media_types includes "animated" - or {"error"}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| query | Yes | ||
| style | No | ||
| amount | No | ||
| animated | No | ||
| category | No | ||
| free_only | No |