> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/dribbble/profiles-handle-services>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/dribbble/profiles-handle-services.mdx>

---

# Dribbble Profile Services API

The service cards a Dribbble profile offers, as JSON.

`GET /v1/dribbble/profiles/{handle}/services` returns `data.services`, the service cards a profile offers. Each card has `id`, `slug`, `path`, `url`, `title`, `owner`, `priceText`, `fromPriceAmount`, `currency`, `duration`, `description`, `imageUrl` and `imageUrls`.

A profile without the Services tab returns `lookupStatus: found` with an empty list, not an error. Take a card's id to `GET /v1/dribbble/services/{serviceId}` for the full description, media, milestones and owner details. The list is not page numbered.

## Request

- **Endpoint:** `GET /v1/dribbble/profiles/{handle}/services`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by handle
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/dribbble/profiles/handle/services)
- **Platform page:** [/platforms/dribbble](https://www.socialfetch.dev/platforms/dribbble)

## FAQ

### How do I get the full service page?

Use the id from data.services[].id or the id slug from .path and call GET /v1/dribbble/services/{serviceId}. That route adds the full description, media, milestones and owner counters.

### Which price fields are on a card?

priceText is the price as displayed, for example From $1,000. fromPriceAmount is the parsed number and currency is the ISO code when the card shows one.

### Why is services empty?

The profile has no Services tab or offers no services. The response is found with an empty array. Check data.lookupStatus first to tell that apart from a missing profile.

### How many credits does a profile services lookup 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.
