Introduction
Reference for the Worldvectorlogo REST API: search brand logos, fetch SVG and PNG files, browse tags and sectors. Authentication, credits and code examples.
Get an API Key
- Create a free account or log in if you already have one. If you sign up with email, verify your address first. Google sign-in skips this step.
- Open Account → API Keys and click Create Key. The page needs you to be logged in.
- Copy the key right away, because it is only shown once. Send it as
Authorization: Bearer YOUR_API_KEY.
Every account starts on the Free plan with 1,000 credits a month. You can keep up to 5 keys, and rename or revoke them on the same page.
What you can do
- Search & browse logos by name, tag, or popularity
- Display logos in your app using the CDN
svg_urlon every logo object - Embed or transform logos using the raw
svg_contentreturned on the single-logo endpoint - Discover related logos via tags
Use cases
| Use case | How |
|---|---|
| Brand directory or comparison site | Search logos by name, display via svg_url |
| Developer tool / design tool | Fetch svg_content to embed, resize, or recolor SVGs |
| AI agent or chatbot | Let your agent look up company logos on the fly |
| Portfolio or showcase | Pull random or popular logos for demo screens |
| Internal dashboard | Show partner/vendor logos next to data |
Working with logos
Every logo object includes an svg_url — a direct CDN link you can use in <img> tags or anywhere you display logos.
When you fetch a single logo (GET /logos/{slug}), the response also includes svg_content with the full SVG markup. Use this to embed inline, modify colors or dimensions, or let your users download the file.
Collection endpoints (/logos, /logos/search, /logos/random, /tags/{slug}/logos) return a lightweight object without svg_content to keep payloads fast.
Need a raster image instead? GET /logos/{slug}/png returns the logo as PNG
bytes rather than JSON, rendered from the SVG at its intrinsic size and cached
after the first request. It costs one credit, the same as any other call.
Rate limits and credits
Anonymous requests — no API key — are capped at 10 per day per IP.
Authenticated requests spend credits instead: one credit per call, with no
daily cap. Checking your own balance at GET /account/usage is free.
Plans
| Plan | Credits per month | How to get |
|---|---|---|
| Anonymous | — (10 requests/day) | No key needed |
| Free | 1,000 | Create a free account + API key |
| Base | 100,000 | $29/month, from your API keys page |
Plan credits refresh once per billing cycle — on your signup anniversary on
Free, and on your Stripe renewal date on Base. Not on the 1st of the month:
if you signed up on the 21st, your credits come back on the 21st. Read
resets_at rather than assuming a date.
Base subscribers can also buy top-up packs: credits that never expire and are spent only after your plan credits are gone, so buying a pack early never wastes it. Top-ups are not available on Free — upgrade to Base first.
Headers
Every response carries your current position:
| Header | Description |
|---|---|
X-RateLimit-Limit |
Monthly plan allowance plus any top-up credits |
X-RateLimit-Remaining |
Credits left (plan + top-up) |
X-RateLimit-Reset |
ISO 8601 timestamp when plan credits next refresh |
When your key is rejected
A credential that does not resolve returns 401 Unauthorized with
error.code of invalid_api_key — it may have been revoked or mistyped. It is
not silently downgraded to the anonymous tier, so a broken key fails visibly
rather than quietly spending your anonymous allowance. Sending no credential at
all is still fine, and gives you the anonymous 10/day.
When you run out
Both a rate limit and an empty credit wallet return 429 Too Many Requests, so
check error.code to tell them apart — they need opposite responses.
insufficient_credits means you are out of credits. Do not retry — no amount
of backoff refills the wallet before resets_at. Wait for the reset, upgrade, or
buy a top-up pack:
{
"error": {
"code": "insufficient_credits",
"message": "No credits left. Upgrade to Base or buy a credit pack.",
"plan_credits": 0,
"addon_credits": 0,
"resets_at": "2026-10-21T00:00:00+00:00"
}
}
rate_limit_exceeded means you sent requests too quickly — a burst ceiling of
300 requests per minute, separate from your credit balance. This one is safe to
retry after a backoff, and the body carries retry_after in seconds:
{
"error": {
"code": "rate_limit_exceeded",
"message": "...",
"resets_at": "2026-03-02T00:00:00+00:00"
}
}
Authenticating requests
To authenticate requests, include an Authorization header with the value "Bearer YOUR_API_KEY".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
Every endpoint except GET /account/usage also works without a key, limited to 10 requests per day per IP.
To get a key, you need a Worldvectorlogo account:
- Sign up or log in. If you sign up with email, verify your address first.
- Go to Account → API Keys (log-in required) and create a key.
- Copy it immediately; it is only shown once. Lost it? Revoke it and create a new one.
Bearer header (recommended):
Authorization: Bearer YOUR_API_KEY
Query parameter (useful when headers aren't convenient, e.g. <img> tags):
/api/v1/logos?api_key=YOUR_API_KEY
Logo
Browse, search, and retrieve vector logos.
List all logos.
Browse all published logos with optional sorting. Results are paginated with a default of 20 per page.
Example request:
curl --request GET \
--get "https://worldvectorlogo.com/api/v1/logos" \
--data-urlencode "page=1" \
--data-urlencode "per_page=20" \
--data-urlencode "sort=downloads" \
--data-urlencode "order=desc" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://worldvectorlogo.com/api/v1/logos"
);
const params = {
"page": "1",
"per_page": "20",
"sort": "downloads",
"order": "desc",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://worldvectorlogo.com/api/v1/logos'
params = {
'page': '1',
'per_page': '20',
'sort': 'downloads',
'order': 'desc',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200, Success):
{
"data": [
{
"slug": "google-2015",
"name": "Google 2015",
"downloads": 48230,
"svg_url": "https://cdn.worldvectorlogo.com/logos/google-2015.svg",
"tags": [
"technology",
"search-engine"
],
"created_at": "2024-01-15T10:30:00+00:00",
"updated_at": "2024-06-20T14:15:00+00:00",
"links": {
"self": "https://worldvectorlogo.com/api/v1/logos/google-2015",
"web": "https://worldvectorlogo.com/logo/google-2015"
}
}
],
"links": {
"first": "https://worldvectorlogo.com/api/v1/logos?per_page=20&sort=downloads&order=desc&page=1",
"last": "https://worldvectorlogo.com/api/v1/logos?per_page=20&sort=downloads&order=desc&page=100",
"prev": null,
"next": "https://worldvectorlogo.com/api/v1/logos?per_page=20&sort=downloads&order=desc&page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 100,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://worldvectorlogo.com/api/v1/logos?per_page=20&sort=downloads&order=desc&page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": "https://worldvectorlogo.com/api/v1/logos?per_page=20&sort=downloads&order=desc&page=2",
"label": "2",
"page": 2,
"active": false
},
{
"url": "https://worldvectorlogo.com/api/v1/logos?per_page=20&sort=downloads&order=desc&page=2",
"label": "Next »",
"page": 2,
"active": false
}
],
"path": "https://worldvectorlogo.com/api/v1/logos",
"per_page": 20,
"to": 20,
"total": 2000
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
List of logo objects.
slug
string
Unique URL-safe identifier.
name
string
Display name of the logo.
downloads
integer
Total download count.
svg_url
string
Direct CDN link to the SVG file.
tags
string[]
Tag names associated with this logo.
created_at
string
ISO 8601 timestamp. Can be null for older logos.
updated_at
string
ISO 8601 timestamp. Null when the logo was never edited.
links
object
Links to this logo: self (API) and web (website page).
links
object
Page URLs: first, last, prev and next. They keep your query parameters, so you can follow next as is; prev/next are null at the ends.
meta
object
Pagination details.
current_page
integer
The page returned.
last_page
integer
Number of the last page.
per_page
integer
Results per page.
from
integer
Position of the first result on this page. Null when there are no results.
to
integer
Position of the last result on this page. Null when there are no results.
total
integer
Total number of results.
path
string
The endpoint URL without query parameters.
links
object[]
A link per page, for building page buttons: url, label, page and active.
Search logos by name.
Search across logo names and slugs using a query string. Results are ordered by download count (most popular first).
Example request:
curl --request GET \
--get "https://worldvectorlogo.com/api/v1/logos/search" \
--data-urlencode "q=google" \
--data-urlencode "page=1" \
--data-urlencode "per_page=20" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://worldvectorlogo.com/api/v1/logos/search"
);
const params = {
"q": "google",
"page": "1",
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://worldvectorlogo.com/api/v1/logos/search'
params = {
'q': 'google',
'page': '1',
'per_page': '20',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200, Success):
{
"data": [
{
"slug": "google-2015",
"name": "Google 2015",
"downloads": 48230,
"svg_url": "https://cdn.worldvectorlogo.com/logos/google-2015.svg",
"tags": [
"technology",
"search-engine"
],
"created_at": "2024-01-15T10:30:00+00:00",
"updated_at": "2024-06-20T14:15:00+00:00",
"links": {
"self": "https://worldvectorlogo.com/api/v1/logos/google-2015",
"web": "https://worldvectorlogo.com/logo/google-2015"
}
}
],
"links": {
"first": "https://worldvectorlogo.com/api/v1/logos/search?q=google&per_page=20&page=1",
"last": "https://worldvectorlogo.com/api/v1/logos/search?q=google&per_page=20&page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://worldvectorlogo.com/api/v1/logos/search?q=google&per_page=20&page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://worldvectorlogo.com/api/v1/logos/search",
"per_page": 20,
"to": 3,
"total": 3
}
}
Example response (422, Validation error):
{
"error": {
"code": "validation_error",
"message": "The given data was invalid.",
"details": {
"q": [
"The q field is required."
]
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
List of logo objects.
slug
string
Unique URL-safe identifier.
name
string
Display name of the logo.
downloads
integer
Total download count.
svg_url
string
Direct CDN link to the SVG file.
tags
string[]
Tag names associated with this logo.
created_at
string
ISO 8601 timestamp. Can be null for older logos.
updated_at
string
ISO 8601 timestamp. Null when the logo was never edited.
links
object
Links to this logo: self (API) and web (website page).
links
object
Page URLs: first, last, prev and next. They keep your query parameters, so you can follow next as is; prev/next are null at the ends.
meta
object
Pagination details.
current_page
integer
The page returned.
last_page
integer
Number of the last page.
per_page
integer
Results per page.
from
integer
Position of the first result on this page. Null when there are no results.
to
integer
Position of the last result on this page. Null when there are no results.
total
integer
Total number of results.
path
string
The endpoint URL without query parameters.
links
object[]
A link per page, for building page buttons: url, label, page and active.
Get random logos.
Returns a random selection of logos. Useful for showcases or demos.
Example request:
curl --request GET \
--get "https://worldvectorlogo.com/api/v1/logos/random" \
--data-urlencode "count=5" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://worldvectorlogo.com/api/v1/logos/random"
);
const params = {
"count": "5",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://worldvectorlogo.com/api/v1/logos/random'
params = {
'count': '5',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200, Success):
{
"data": [
{
"slug": "spotify-2015",
"name": "Spotify 2015",
"downloads": 12500,
"svg_url": "https://cdn.worldvectorlogo.com/logos/spotify-2015.svg",
"tags": [
"music",
"streaming"
],
"created_at": "2024-02-10T08:00:00+00:00",
"updated_at": "2024-05-15T12:00:00+00:00",
"links": {
"self": "https://worldvectorlogo.com/api/v1/logos/spotify-2015",
"web": "https://worldvectorlogo.com/logo/spotify-2015"
}
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
List of logo objects.
slug
string
Unique URL-safe identifier.
name
string
Display name of the logo.
downloads
integer
Total download count.
svg_url
string
Direct CDN link to the SVG file.
tags
string[]
Tag names associated with this logo.
created_at
string
ISO 8601 timestamp. Can be null for older logos.
updated_at
string
ISO 8601 timestamp. Null when the logo was never edited.
links
object
Links to this logo: self (API) and web (website page).
Get a single logo by slug.
Returns full details for a specific logo including tags and raw SVG content.
The svg_content field contains the full SVG markup that you can embed,
transform, or offer as a download in your application.
Example request:
curl --request GET \
--get "https://worldvectorlogo.com/api/v1/logos/google-2015" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://worldvectorlogo.com/api/v1/logos/google-2015"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://worldvectorlogo.com/api/v1/logos/google-2015'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200, Success):
{
"data": {
"slug": "google-2015",
"name": "Google 2015",
"downloads": 48230,
"svg_url": "https://cdn.worldvectorlogo.com/logos/google-2015.svg",
"svg_content": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 272 92\">...</svg>",
"tags": [
"technology",
"search-engine"
],
"created_at": "2024-01-15T10:30:00+00:00",
"updated_at": "2024-06-20T14:15:00+00:00",
"links": {
"self": "https://worldvectorlogo.com/api/v1/logos/google-2015",
"web": "https://worldvectorlogo.com/logo/google-2015"
}
}
}
Example response (404, Not found):
{
"error": {
"code": "not_found",
"message": "Logo not found."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object
slug
string
Unique URL-safe identifier.
name
string
Display name of the logo.
downloads
integer
Total download count.
svg_url
string
Direct CDN link to the SVG file.
svg_content
string
Full SVG markup. Only on this endpoint, not on lists.
tags
string[]
Tag names associated with this logo.
created_at
string
ISO 8601 timestamp. Can be null for older logos.
updated_at
string
ISO 8601 timestamp. Null when the logo was never edited.
links
object
Links to this logo: self (API) and web (website page).
Get a logo as PNG.
Returns the raw PNG bytes, not JSON — drop the URL straight into an
<img> tag or save it to a file. The image is rendered from the SVG at
its intrinsic size and cached, so the first request for a given logo is
slower than the rest.
Example request:
curl --request GET \
--get "https://worldvectorlogo.com/api/v1/logos/google/png" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://worldvectorlogo.com/api/v1/logos/google/png"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://worldvectorlogo.com/api/v1/logos/google/png'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200, Success):
"<binary PNG data>"
Example response (404, No such logo):
{
"error": {
"code": "not_found",
"message": "Logo not found."
}
}
Example response (422, Logo has no SVG to render):
{
"error": {
"code": "png_unavailable",
"message": "This logo has no SVG to render."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tag
Explore logos organised by tags.
List all tags.
Returns all tags with their logo counts. Sorted alphabetically by name.
Response
Response Fields
data
object
slug
string
Unique URL-safe identifier.
name
string
Display name of the tag.
logos_count
integer
Number of logos with this tag.
sector
object
The sector this tag belongs to (slug, name), or null. See GET /sectors.
links
object
Links to this tag: self and logos.
Get a single tag.
One tag with its logo count and the sector it belongs to.
Response
Response Fields
data
object
slug
string
Unique URL-safe identifier.
name
string
Display name of the tag.
logos_count
integer
Number of published logos with this tag.
sector
object
The sector this tag belongs to (slug, name), or null.
links
object
Links to this tag: self and logos.
Get logos for a specific tag.
Returns all published logos that have the given tag.
Response
Response Fields
data
object[]
List of logo objects.
slug
string
Unique URL-safe identifier.
name
string
Display name of the logo.
downloads
integer
Total download count.
svg_url
string
Direct CDN link to the SVG file.
tags
string[]
Tag names associated with this logo.
created_at
string
ISO 8601 timestamp. Can be null for older logos.
updated_at
string
ISO 8601 timestamp. Null when the logo was never edited.
links
object
Links to this logo: self (API) and web (website page).
links
object
Page URLs: first, last, prev and next. They keep your query parameters, so you can follow next as is; prev/next are null at the ends.
meta
object
Pagination details.
current_page
integer
The page returned.
last_page
integer
Number of the last page.
per_page
integer
Results per page.
from
integer
Position of the first result on this page. Null when there are no results.
to
integer
Position of the last result on this page. Null when there are no results.
total
integer
Total number of results.
path
string
The endpoint URL without query parameters.
links
object[]
A link per page, for building page buttons: url, label, page and active.
Account
Manage your API key and view usage statistics. Requires authentication.
Get API usage statistics.
requires authentication
Returns credit balances for the current billing cycle plus daily usage breakdown for the last 30 days.
Example request:
curl --request GET \
--get "https://worldvectorlogo.com/api/v1/account/usage" \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://worldvectorlogo.com/api/v1/account/usage"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://worldvectorlogo.com/api/v1/account/usage'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200, Success):
{
"data": {
"plan": "free",
"credits": {
"plan_remaining": 980,
"addon_remaining": 0,
"monthly_allowance": 1000,
"resets_at": "2026-10-21T00:00:00+00:00"
},
"tokens": 1,
"daily_breakdown": {
"2026-09-15": {
"requests": 20,
"errors": 0,
"avg_response_time_ms": 28
}
}
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object
plan
string
Your current plan tier (free or base).
credits
object
Credit wallet summary.
plan_remaining
integer
Plan credits left this billing cycle.
addon_remaining
integer
Permanent top-up credits left.
monthly_allowance
integer
Plan credits granted each billing cycle.
resets_at
string
ISO 8601 timestamp when plan credits reset — your signup anniversary on Free, your Stripe renewal on Base.
tokens
integer
Number of active API tokens.
daily_breakdown
object
Daily usage data keyed by date.
Sector
Browse logos by industry. A sector groups related tags: the Automotive sector holds tags like Cars and Motorcycles.
List all sectors.
Every sector that has logos, with its logo count and the tags grouped under it. Ordered by logo count, largest first. Not paginated: there are only a few dozen sectors.
Example request:
curl --request GET \
--get "https://worldvectorlogo.com/api/v1/sectors" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://worldvectorlogo.com/api/v1/sectors"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://worldvectorlogo.com/api/v1/sectors'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200, Success):
{
"data": [
{
"slug": "automotive",
"name": "Automotive",
"logos_count": 132,
"tags": [
{
"slug": "cars",
"name": "Cars"
},
{
"slug": "motorcycles",
"name": "Motorcycles"
}
],
"links": {
"self": "https://worldvectorlogo.com/api/v1/sectors/automotive",
"logos": "https://worldvectorlogo.com/api/v1/sectors/automotive/logos"
}
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
List of sectors.
slug
string
Unique URL-safe identifier.
name
string
Display name of the sector.
logos_count
integer
Published logos in this sector: tagged with the sector itself or any of its tags, each logo counted once.
tags
object[]
The tags grouped under this sector, each with slug and name. Use them with GET /tags/{slug}/logos.
links
object
Links to this sector: self and logos.
Get a single sector.
One sector with its logo count and tags.
Example request:
curl --request GET \
--get "https://worldvectorlogo.com/api/v1/sectors/automotive" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://worldvectorlogo.com/api/v1/sectors/automotive"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://worldvectorlogo.com/api/v1/sectors/automotive'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()Example response (200, Success):
{
"data": {
"slug": "automotive",
"name": "Automotive",
"logos_count": 132,
"tags": [
{
"slug": "cars",
"name": "Cars"
},
{
"slug": "motorcycles",
"name": "Motorcycles"
}
],
"links": {
"self": "https://worldvectorlogo.com/api/v1/sectors/automotive",
"logos": "https://worldvectorlogo.com/api/v1/sectors/automotive/logos"
}
}
}
Example response (404, Sector not found):
{
"error": {
"code": "not_found",
"message": "Sector not found."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object
slug
string
Unique URL-safe identifier.
name
string
Display name of the sector.
logos_count
integer
Published logos in this sector, each counted once.
tags
object[]
The tags grouped under this sector, each with slug and name.
links
object
Links to this sector: self and logos.
Get logos in a sector.
Published logos tagged with the sector or any of its tags, most downloaded first.
Example request:
curl --request GET \
--get "https://worldvectorlogo.com/api/v1/sectors/automotive/logos" \
--data-urlencode "page=1" \
--data-urlencode "per_page=20" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://worldvectorlogo.com/api/v1/sectors/automotive/logos"
);
const params = {
"page": "1",
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());import requests
import json
url = 'https://worldvectorlogo.com/api/v1/sectors/automotive/logos'
params = {
'page': '1',
'per_page': '20',
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()Example response (200, Success):
{
"data": [
{
"slug": "tesla-motors",
"name": "Tesla Motors",
"downloads": 31200,
"svg_url": "https://cdn.worldvectorlogo.com/logos/tesla-motors.svg",
"tags": [
"cars",
"electric-vehicles"
],
"created_at": "2024-01-15T10:30:00+00:00",
"updated_at": "2024-06-20T14:15:00+00:00",
"links": {
"self": "https://worldvectorlogo.com/api/v1/logos/tesla-motors",
"web": "https://worldvectorlogo.com/logo/tesla-motors"
}
}
],
"links": {
"first": "https://worldvectorlogo.com/api/v1/sectors/automotive/logos?per_page=20&page=1",
"last": "https://worldvectorlogo.com/api/v1/sectors/automotive/logos?per_page=20&page=7",
"prev": null,
"next": "https://worldvectorlogo.com/api/v1/sectors/automotive/logos?per_page=20&page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 7,
"links": [
{
"url": null,
"label": "« Previous",
"page": null,
"active": false
},
{
"url": "https://worldvectorlogo.com/api/v1/sectors/automotive/logos?per_page=20&page=1",
"label": "1",
"page": 1,
"active": true
},
{
"url": "https://worldvectorlogo.com/api/v1/sectors/automotive/logos?per_page=20&page=2",
"label": "2",
"page": 2,
"active": false
},
{
"url": "https://worldvectorlogo.com/api/v1/sectors/automotive/logos?per_page=20&page=2",
"label": "Next »",
"page": 2,
"active": false
}
],
"path": "https://worldvectorlogo.com/api/v1/sectors/automotive/logos",
"per_page": 20,
"to": 20,
"total": 132
}
}
Example response (404, Sector not found):
{
"error": {
"code": "not_found",
"message": "Sector not found."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
data
object[]
List of logo objects.
slug
string
Unique URL-safe identifier.
name
string
Display name of the logo.
downloads
integer
Total download count.
svg_url
string
Direct CDN link to the SVG file.
tags
string[]
Tag names associated with this logo.
created_at
string
ISO 8601 timestamp. Can be null for older logos.
updated_at
string
ISO 8601 timestamp. Null when the logo was never edited.
links
object
Links to this logo: self (API) and web (website page).
links
object
Page URLs: first, last, prev and next. They keep your query parameters, so you can follow next as is; prev/next are null at the ends.
meta
object
Pagination details.
current_page
integer
The page returned.
last_page
integer
Number of the last page.
per_page
integer
Results per page.
from
integer
Position of the first result on this page. Null when there are no results.
to
integer
Position of the last result on this page. Null when there are no results.
total
integer
Total number of results.
path
string
The endpoint URL without query parameters.
links
object[]
A link per page, for building page buttons: url, label, page and active.