Dribbble Jobs API
Search the Dribbble job board with keywords, location and employment type, and page through the cards.
GET /v1/dribbble/jobs/search1 credit Failed requests are free
About this endpoint
GET /v1/dribbble/jobs/search takes the job board filters: query, specialtyIds, location, anywhere, fulltime and freelanceOrContract. The specialty ids are 1 Animation, 2 Brand / Graphic Design, 3 Illustration, 4 Leadership, 5 Mobile Design, 6 UI / Visual Design, 7 Product Design, 8 UX Design / Research, 9 Web Design. The response carries data.jobs and data.page.
Each job card has id, slug, path, url, title, companyName, companyLogoUrl, location, remote, featured and postedAgo. Take a card's id to GET /v1/dribbble/jobs/{jobId} for the full description, company and dates. Page with page or cursor from data.page.nextCursor and stop when data.page.hasMore is false. A page past the last is an empty list with data.page.hasMore false.
Dribbble Jobs API FAQ
Which specialty ids can I use?
specialtyIds takes the job board's numeric ids, a comma list or repeated values: 1 Animation, 2 Brand / Graphic Design, 3 Illustration, 4 Leadership, 5 Mobile Design, 6 UI / Visual Design, 7 Product Design, 8 UX Design / Research, 9 Web Design.
Which employment type filters exist?
anywhere=1 for remote-friendly jobs, fulltime=1 for full-time jobs, and freelanceOrContract=1 for freelance or contract jobs.
How do I get the full job description?
Call GET /v1/dribbble/jobs/{jobId} with the card's id slug, for example 183719-Graphic-Designer. That route returns descriptionHtml, descriptionText, company, datePosted, validThrough and employmentType.
What happens on a page past the last job?
Social Fetch returns an empty jobs array with data.page.hasMore false. Stop when data.page.hasMore is false instead of guessing the last page.
How many credits does a jobs search page cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth. Each paginated page is a separate billed request.
Other Dribbble endpoints
- ProfileGET /v1/dribbble/profiles/{handle}
- Profile shotsGET /v1/dribbble/profiles/{handle}/shots
- Team membersGET /v1/dribbble/profiles/{handle}/members
- ReviewsGET /v1/dribbble/profiles/{handle}/reviews
- Profile collectionsGET /v1/dribbble/profiles/{handle}/collections
- CollectionGET /v1/dribbble/profiles/{handle}/collections/{collectionId}
- Profile servicesGET /v1/dribbble/profiles/{handle}/services
- ServiceGET /v1/dribbble/services/{serviceId}