Getting Started

    Ship your first URBLD API request in 5 minutes

    Register an OAuth client, exchange it for an access token, and make your first authenticated call to the URBLD API — the full setup in a few minutes.

    How do I make my first URBLD API request?

    Register an OAuth 2.0 client from Settings → Developers, exchange your client_id and client_secret for an access token using the client_credentials grant, then include the token as a Bearer header on every request to https://api.urbld.com/v1. Full example on this page.

    1. Register an OAuth client

    Inside URBLD, open Settings → Developers → OAuth Clients and create a new client. You'll receive a client_id and client_secret. Store the secret in your server-side secret manager — it is never exposed to browsers.

    Select the scopes your integration needs. See the full list on the Authentication page.

    2. Exchange for an access token

    curl
    curl -X POST https://api.urbld.com/v1/oauth/token \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -d "grant_type=client_credentials" \
      -d "client_id=$URBLD_CLIENT_ID" \
      -d "client_secret=$URBLD_CLIENT_SECRET" \
      -d "scope=leads.read leads.write scheduling.read"

    3. Make your first request

    List leads
    curl https://api.urbld.com/v1/leads?limit=10 \
      -H "Authorization: Bearer $ACCESS_TOKEN"

    TypeScript example

    listLeads.ts
    const token = await getAccessToken();
    
    const res = await fetch("https://api.urbld.com/v1/leads?limit=10", {
      headers: { Authorization: `Bearer ${token}` },
    });
    
    if (!res.ok) throw new Error(`URBLD error ${res.status}`);
    const { data } = await res.json();
    console.log(data);

    Python example

    list_leads.py
    import os, requests
    
    token = get_access_token()
    res = requests.get(
        "https://api.urbld.com/v1/leads",
        headers={"Authorization": f"Bearer {token}"},
        params={"limit": 10},
        timeout=10,
    )
    res.raise_for_status()
    print(res.json()["data"])

    Next steps

    FAQ

    Frequently Asked Questions

    Straight answers about how URBLD runs the business end-to-end.