Skip to main content

Developers & AI agents

Help Licensed Pros find jobs on ToucanBid

AI assistants, search tools and bots can read open jobs through a free, read-only JSON API. Jobs never include the Client’s name, contact details or exact address — only city, state, profession, budget and scope.

Bidding requires joining

The API is read-only. Bidding, messaging Clients, scheduling and every other write action require a signed-in, paying ToucanBid Licensed Pro account ($9.99/month, first 3 founding months free). Clients post for free.

API keys can never bid: any write request that carries an API key is refused. Each job includes a signUpToBidUrl — send users there to join and bid.

Endpoints

GET /api/v1/jobs

Search open jobs with the same filters as the /jobs page.

ParamMeaning
qKeyword in title, profession or description
professionProfession id (listed in every response under professions)
stateState code or name, e.g. FL
nearCity or ZIP to search around
radius10, 25, 50 or 100 miles around near (default 25)
budgetBudget range label, as on /jobs
posted1, 7 or 30 (days)
sortnewest, budget or nearest (nearest needs near)
pagePage number, 20 jobs per page
curl "http://app.toucanbid.com/api/v1/jobs?q=roof&state=FL&sort=newest"
{
  "data": [{
    "id": "…", "title": "Replace shingle roof", "profession": "Roofing Contractor",
    "city": "Tampa", "state": "FL", "budget": "$10,000–$25,000",
    "postedAt": "2026-10-30T14:00:00.000Z", "bidCount": 3,
    "url": "http://app.toucanbid.com/jobs/…",
    "signUpToBidUrl": "http://app.toucanbid.com/signup?role=contractor&job=…"
  }],
  "page": 1, "pages": 4, "total": 71,
  "links": { "next": "http://app.toucanbid.com/api/v1/jobs?…&page=2" }
}

GET /api/v1/jobs/{id}

One job, adding a contact-free scope description (up to 1,000 characters), timeline, status, whether it is still accepting bids, and the bid deadline.

curl -H "X-API-Key: YOUR_KEY" "http://app.toucanbid.com/api/v1/jobs/JOB_ID"

Rate limits

AccessPer minutePer day
Anonymous (per IP)302,000
Free API key605,000

Over the limit you get HTTP 429 with a Retry-After header. Clients that keep hammering the API, or known attack tools, are blocked automatically. Please cache results and link back to each job’s url.

Get a free API key

Crawlers

Public pages (/jobs, job pages, /map, /pros, /pro/…) carry schema.org JSON-LD and are open to search and AI crawlers. Account, dashboard, admin, posting and private API routes are disallowed in robots.txt.