# Upwork Services Info ## Overview | Property | Value | |----------|-------| | **Status** | active | | **Method** | `GET` | | **Endpoint** | `/v2/upwork/services/info` | | **Base URL** | `https://api.piloterr.com` | | **Credit Cost** | 2 credits per call | | **Documentation** | https://www.piloterr.com/library/upwork-services-info | ## Description Upwork Services Info API: fetch Project Catalog product details from a product URL. Returns packages, pricing, seller, media and breadcrumbs via browser rendering. ## Authentication - **Key Name:** `x-api-key` - **Location:** HTTP Header - **Get an API key:** https://app.piloterr.com/register ## Example Request ```bash curl --location --request GET 'https://api.piloterr.com/v2/upwork/services/info' \ --header 'Content-Type: application/json' \ --header 'x-api-key: YOUR_API_KEY' ``` ## Example Response ### Mobile Apps catalog product on upwork.com ```json { "url": "https://www.upwork.com/services/product/development-it-mobile-app-developer-android-ios-flutter-application-hybrid-apps-1403673770703212544", "name": "You will get Mobile App Development | Android Apps | iOS Apps | Flutter Application Dev", "media": [ "https://www.upwork.com/profile-portraits/c1vxfieoLCtKwfBvgMJOsjDJ0V5yef3ZDUIb_LI85bAA7wkPjr-AyXZ3QyfHCzOZqZ", "https://www.upwork.com/profile-portraits/c1vxfieoLCtKwfBvgMJOsjDJ0V5yef3ZDUIb_LI85bAA6jLFePDbCqtoc1d4MPZG-3" ], "rating": 4.95, "seller": { "url": "https://www.upwork.com/freelancers/mianmuhammadusmanp", "name": "Mian Muhammad Usman P." }, "pricing": { "currency": "USD", "price_max": 2999, "price_min": 399 }, "packages": [ { "name": "Starter", "price": 399, "currency": "USD", "delivery_days": 7 }, { "name": "Standard", "price": 1299, "currency": "USD", "delivery_days": 25 }, { "name": "Advanced", "price": 2999, "currency": "USD", "delivery_days": 50 } ], "product_id": "1403673770703212544", "breadcrumbs": [ "Project Catalog", "Development & IT", "Development", "Mobile Apps", "Custom Mobile Apps" ], "description": "Building a successful mobile app requires strong engineering, smooth interface design, and reliable performance. I create high-quality Android and iOS applications that feel modern, work fast, and scale efficiently. Whether you need a cross-platform Flutter build or a refined native app, every project is developed with clean architecture, secure data handling, and intuitive user flows.\n\nMy focus i...", "review_count": 1096 } ``` ## Documentation ## Overview The **Upwork Services Info API** returns full Project Catalog product data from [Upwork](https://www.upwork.com) product pages (`/services/product/{slug}-{id}`). Pass a **full product URL** and receive structured JSON with description, pricing tiers, packages, seller info, breadcrumbs, and media. Piloterr uses **browser rendering** to load the Nuxt product page and parse JSON-LD `Product` plus package/seller DOM blocks. Discover product URLs with **Upwork Services**, then fetch full details here. Use **Upwork Freelancer** on `seller.url` for profile enrichment. ## Quickstart ``` GET https://api.piloterr.com/v2/upwork/services/info?query=https://www.upwork.com/services/product/development-it-mobile-app-developer-android-ios-flutter-application-hybrid-apps-1403673770703212544 ``` Via POST: ``` POST https://api.piloterr.com/v2/upwork/services/info Content-Type: application/json {"query": "https://www.upwork.com/services/product/...", "return_page_source": false} ``` ## Parameters | Parameter | Type | Required | Description | |---|---|---|---| | `query` | string | yes | Full `/services/product/...-{id}` URL | | `return_page_source` | boolean | no | Raw HTML as `{"result": "..."}` (default: `false`) | ## Response fields | Field | Type | Description | |---|---|---| | `product_id` | string | Catalog product ID | | `name` | string | Product title | | `description` | string | Full description | | `url` | string | Canonical product URL | | `pricing.price_min` | number | Minimum package price | | `pricing.price_max` | number | Maximum package price | | `pricing.currency` | string | ISO 4217 code | | `rating` | number \| null | Average rating | | `review_count` | integer \| null | Review count | | `packages[]` | array | `{ name, price, currency, delivery_days }` | | `seller.name` | string | Seller display name | | `seller.url` | string | Seller profile URL | | `breadcrumbs` | string[] | Catalog breadcrumb trail | | `media` | string[] | Image URLs | ## Upwork API workflow 1. **Upwork Services**: discover catalog listings by category 2. **Upwork Services Info**: fetch full product JSON (this endpoint) 3. **Upwork Freelancer**: enrich the seller from `seller.url` ## Error codes | Code | Meaning | |---|---| | `400` | Missing or invalid `query` | | `404` | Product page not parseable | | `500` | Rendering or parsing error | ## Notes - URL must include `/services/product/` and a numeric product ID suffix. - Costs **2 credits** per call (browser rendering). ## Main use cases - **Package analysis**: compare Starter/Standard/Advanced tiers - **Seller research**: link catalog offers to freelancer profiles - **Competitive pricing**: monitor catalog price ranges by niche