Skip to content

List Opportunities

GET /external/v1/opportunities

Returns a paginated list of all opportunities/leads in your pipelines. Each opportunity carries its linked contact, pipeline, stage and lifecycle timestamps.

Authentication

Requires opportunities:read permission.

Query Parameters

ParameterTypeDefaultDescription
pageinteger1Page number for pagination
limitinteger50Items per page (1-100)
searchstring-Search by opportunity title, contact name or company
stage_idstring-Filter by stage
pipeline_idstring-Filter by pipeline
campaign_idstring-Filter by campaign
owner_user_idstring-Filter by assigned user (seller)
companystring-Filter by contact company
created_afterstring (ISO 8601)-Only opportunities created on/after this timestamp
created_beforestring (ISO 8601)-Only opportunities created on/before this timestamp
updated_afterstring (ISO 8601)-Only opportunities updated on/after this timestamp
updated_beforestring (ISO 8601)-Only opportunities updated on/before this timestamp
sort_bystringcreated_atSort field (created_at, updated_at, title, value)
sort_orderstringdescSort order (asc, desc)

Incremental sync

Pull only what changed since your last sync: GET /opportunities?updated_after=2026-06-08T00:00:00Z&sort_by=updated_at&sort_order=asc. An invalid date returns 400 VALIDATION_ERROR.

TIP

An opportunity's status is represented by its stage within a pipeline, not by a fixed enum. Use List Pipelines to resolve stage_id / pipeline_id into names.

Request

bash
curl --request GET \
  --url "https://app.getraze.com/external/v1/opportunities?pipeline_id=pipe_01&limit=50" \
  --header "X-API-Key: YOUR_API_KEY"
javascript
const axios = require('axios');

const response = await axios.get('https://app.getraze.com/external/v1/opportunities', {
  headers: { 'X-API-Key': 'YOUR_API_KEY' },
  params: { pipeline_id: 'pipe_01', limit: 50 }
});

console.log(response.data);
python
import requests

response = requests.get(
    'https://app.getraze.com/external/v1/opportunities',
    headers={'X-API-Key': 'YOUR_API_KEY'},
    params={'pipeline_id': 'pipe_01', 'limit': 50}
)

print(response.json())

Response

json
{
  "success": true,
  "data": [
    {
      "id": "opp_abc123def456",
      "title": "Acme Inc - Plan Pro",
      "value": 50000.00,
      "currency": "BRL",
      "probability": 60,
      "expected_close_date": "2026-03-31",
      "pipeline_id": "pipe_01",
      "pipeline_name": "Sales",
      "stage_id": "stg_proposal",
      "stage_name": "Proposal",
      "campaign_id": "camp_xyz789",
      "campaign_name": "Q1 Outreach",
      "owner_user_id": "usr_123",
      "owner_user_name": "Maria Silva",
      "owner_user_email": "maria@acme.com",
      "sector_id": "sec_01",
      "discard_reason_id": null,
      "score": 85,
      "source": "linkedin",
      "notes": "Interested in enterprise plan",
      "sent_at": "2026-01-15T10:30:00Z",
      "accepted_at": "2026-01-16T09:00:00Z",
      "qualifying_started_at": "2026-01-16T09:05:00Z",
      "qualified_at": "2026-01-17T11:00:00Z",
      "scheduled_at": null,
      "won_at": null,
      "lost_at": null,
      "created_at": "2026-01-15T10:30:00Z",
      "updated_at": "2026-01-20T14:00:00Z",
      "contact_id": "cnt_abc123",
      "contact_name": "John Doe",
      "contact_email": "john@example.com",
      "contact_phone": "+5511999999999",
      "contact_company": "Acme Inc",
      "contact_title": "CEO",
      "contact_location": "São Paulo, BR",
      "contact_profile_url": "https://linkedin.com/in/johndoe",
      "contact_profile_picture": "https://cdn.getraze.com/c/abc.jpg"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 85,
    "total_pages": 2,
    "has_next": true,
    "has_prev": false
  }
}

Response Fields

FieldTypeDescription
idstringUnique opportunity identifier
titlestringOpportunity title
valuenumberOpportunity value
currencystringCurrency code (BRL, USD, EUR)
probabilityintegerWin probability (%)
expected_close_datestringForecast close date
pipeline_id / pipeline_namestringPipeline of the opportunity
stage_id / stage_namestringCurrent stage
campaign_id / campaign_namestringAssociated campaign (nullable)
owner_user_id / owner_user_name / owner_user_emailstringAssigned seller (nullable)
sector_idstringSector/team (nullable)
discard_reason_idstringLoss reason when discarded (nullable)
scoreintegerLead score
sourcestringLead source
sent_atlost_atstringLifecycle timestamps per stage (nullable)
contact_*stringLinked contact summary
paginationobjectPagination metadata

GetRaze - AI-Powered Lead Generation