apyhub
Back

Image, Icon & Vector Search API

What it does

Media Search Tools helps you find and work with visual assets through simple HTTP endpoints. You can search for icons, royalty-free images, and vectors by query, then receive structured results with IDs, dimensions, URLs, thumbnails, and license details where available.

Use search-icons, search-images, and search-vectors when your app needs asset discovery from a keyword like cars, dogs, or airplans. The search endpoints accept query and optional number; vector search also supports offset. The icon search endpoint can also filter to public-domain results with only-public-domain.

For image workflows, detect-color takes an image url and returns an array with hex_code, main_color, and specific_color values. take-screenshot captures a web page from a url at the width and height you provide and returns a binary image. rescale-image takes an image url plus width, height, and crop, then returns the resized image as binary output.

Media Search Tools fits catalog browsing, content generation, asset previews, and lightweight image processing in systems that need visual references or transformed image files without building those features from scratch.

▣ ENDPOINT 01 / 03
GET
Search Icons API
https://api.eu.apyhub.com/skycraft/image-icon-vector-search-api/search-icons

QUICKSTART

GUIDE

Quickstart

Search for icons with a required query string.

curl -X GET "https://api.eu.apyhub.com/skycraft/image-icon-vector-search-api/search-icons?query=bicycle" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with an icons array. Each item in icons is an object that can include id, url, license (link, name), and thumbnail.

{
  "icons": [
    {
      "id": 1294,
      "url": "https://img.apileague.com/icons/10372458.svg",
      "thumbnail": "https://img.apileague.com/icons/10372458.svg",
      "license": {
        "name": "ATTRIBUTION",
        "link": null
      }  
     ]
    }
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Searches for icons matching a text query and returns a JSON object containing an icons array. You can optionally limit how many results are returned and filter to public-domain icons only.

Query Parameter(s)

AttributeTypeDescription
queryStringSearch term to look up icons. Max length: 300 characters.
numberIntegerNumber of results to return. Minimum: 1, maximum: 100.
only-public-domainBooleanWhen true, returns only public-domain icons.

Response

Returns a JSON object with an icons array field. Each item in icons is an object with id, url, license, and thumbnail fields.

ParameterTypeDescription
iconsObject ArrayList of matching icons. Each item includes id, url, width, height, license, and thumbnail.
icons[].idStringIcon identifier. Nullable.
icons[].urlStringIcon URL. Nullable.
icons[].widthIntegerIcon width.
icons[].heightIntegerIcon height.
icons[].licenseObjectLicense information for the icon.
icons[].license.linkStringLink associated with the license. Nullable.
icons[].license.nameStringLicense name. Nullable.
icons[].thumbnailStringThumbnail URL for the icon. Nullable.
▣ ENDPOINT 02 / 03
GET
Search Royalty Free Images API
https://api.eu.apyhub.com/skycraft/image-icon-vector-search-api/search-images

QUICKSTART

GUIDE

Quickstart

Search for images by query. The query parameter is required, and number lets you limit how many results come back.

curl -X GET "https://api.eu.apyhub.com/skycraft/image-icon-vector-search-api/search-images?query=dogs&number=3" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with an images array. Each item in images is an object that can include id, url, width, height, license, and thumbnail.

{
  "images": [
    {
      "url": "https://images.unsplash.com/photo-1552053831-71594a27632d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w5NTgyNnwwfDF8c2VhcmNofDF8fGRvZ3N8ZW58MHx8fHwxNzkwNjgxMDI2fDA&ixlib=rb-4.1.0&q=80&w=1080",
      "thumbnail": "https://images.unsplash.com/photo-1552053831-71594a27632d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w5NTgyNnwwfDF8c2VhcmNofDF8fGRvZ3N8ZW58MHx8fHwxNzkwNjgxMDI2fDA&ixlib=rb-4.1.0&q=80&w=200",
      "width": 3742,
      "height": 6000,
      "license": {
        "name": "FREE",
        "link": "https://unsplash.com/license"
      },
      "id": "Sg3XwuEpybU"
    }
  ]
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Searches for royalty-free images matching a query string and returns a JSON object containing an images array of image objects.

Query Parameter(s)

AttributeTypeDescription
queryStringSearch term to look up images. Maximum length: 300 characters.
numberIntegerNumber of images to return. Minimum: 1, maximum: 100.

Response

Returns a JSON object with an images array field. Each item in the array is an object with image metadata fields including id, url, width, height, license, and thumbnail.

AttributeTypeDescription
imagesObject ArrayArray of image objects.
images[].idStringImage identifier. Nullable.
images[].urlStringImage URL. Nullable.
images[].widthIntegerImage width.
images[].heightIntegerImage height.
images[].licenseObjectLicense information object.
images[].license.linkStringLicense link. Nullable.
images[].license.nameStringLicense name. Nullable.
images[].thumbnailStringThumbnail URL. Nullable.
▣ ENDPOINT 03 / 03
GET
Vector Search API
https://api.eu.apyhub.com/skycraft/image-icon-vector-search-api/search-vectors

QUICKSTART

GUIDE

Quickstart

Search vector results for a query term; this minimal example sends the required query as a URL parameter.

curl -X GET "https://api.eu.apyhub.com/skycraft/image-icon-vector-search-api/search-vectors?query=airplane" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with a vectors array. Each item in vectors is an object that may include title, author, license, and image_url fields.

{
  "vectors": [
    {
      "title": "Flying Airplane",
      "license": "ATTRIBUTION",
      "author": "Danil Polshin",
      "image_url": "https://img.apileague.com/icons/7444511.svg"
    }
  ]
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Searches for vectors matching a text query and returns a JSON object containing a vectors array of matching items.

Query Parameter(s)

AttributeTypeDescription
queryStringSearch text to match. Maximum length: 300 characters.
numberIntegerNumber of results to return. Integer int32, minimum 1, maximum 100.
offsetIntegerNumber of results to skip before returning matches. Integer int32, minimum 0, maximum 1000.

Response

Returns a JSON object with a vectors array field. Each item in vectors is an object with nullable title, author, license, and image_url string fields.

ParameterTypeDescription
vectorsObject ArrayArray of matching vector objects. Each object may include nullable title, author, license, and image_url string fields.
vectors[].titleStringTitle of the vector item. Nullable.
vectors[].authorStringAuthor of the vector item. Nullable.
vectors[].licenseStringLicense of the vector item. Nullable.
vectors[].image_urlStringImage URL for the vector item. Nullable.
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.