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.
| Param | Meaning |
|---|---|
| q | Keyword in title, profession or description |
| profession | Profession id (listed in every response under professions) |
| state | State code or name, e.g. FL |
| near | City or ZIP to search around |
| radius | 10, 25, 50 or 100 miles around near (default 25) |
| budget | Budget range label, as on /jobs |
| posted | 1, 7 or 30 (days) |
| sort | newest, budget or nearest (nearest needs near) |
| page | Page 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
| Access | Per minute | Per day |
|---|---|---|
| Anonymous (per IP) | 30 | 2,000 |
| Free API key | 60 | 5,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.
