Quickstart
View as MarkdownCreate a key, run your first search, and read what comes back. A working request in under two minutes, in curl, TypeScript, and Python.
Create a key, send one request, read the shortlist. Everything below runs against your real account and your real credits, so the first search you make from your terminal is the same search the app makes.
- 1
Open the API page
/hire/api has the key panel, the reference, and a link to the playground.
- 2
Name it
Call it after the thing that will use it, so a list of keys reads like a list of jobs.
- 3
Press create
Copy the key there and then. It is shown once and never again.
Keys start with rfk_live_. Only the hash is stored, so there is no way to
show one again, including to me: a lost key is revoked and replaced. An account
can hold 10 at once.
Your first call
The cheapest way to check a key is wired up correctly. It costs nothing and tells you which key you are holding.
export REFOLK_API_KEY="rfk_live_..."
curl https://www.refolk.ai/api/v1/me \
-H "Authorization: Bearer $REFOLK_API_KEY"A key that is missing, mistyped, or revoked comes back as a 401 with a
sentence saying which. Anything else and you are ready to search.
Search in plain English
One sentence in, a ranked shortlist out. This is the same run the app makes when you type into the search box, and it takes about as long: thirty to ninety seconds, because it is reading sources live rather than querying a table.
/api/v1/search~10 reserved, reconciled downDescribe who you are looking for and get back a ranked shortlist with the evidence behind each pick.
curl https://www.refolk.ai/api/v1/search \
-H "Authorization: Bearer $REFOLK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "Staff backend engineers in NYC who shipped Rust in production"}'What comes back:
{
"answer": "I found 24 staff-level backend engineers in NYC with Rust shipped in production.",
"people": [
{
"key": "gh-someone",
"name": "A Person",
"currentTitle": "Staff Software Engineer",
"currentCompany": "Some Company",
"location": "New York, NY",
"reason": "Ships Rust in production; maintains a widely used async crate.",
"signals": ["4 years of Rust commits", "Staff title since 2023"],
"githubUrl": "https://github.com/someone",
"linkedinUrl": "https://www.linkedin.com/in/someone"
}
],
"companies": [],
"repos": [],
"credits": { "charged": 6, "balance": 494 }
}Which of the two searches you want
- Search in plain English when the ask needs judgement. It plans the search, reads sources live, cross-references them, and attaches the evidence for every pick. Slower, costs more, and it will find people a filter cannot describe.
- Search with filters when you already know the criteria. Nothing is ranked and no model runs, so the same filters return the same page tomorrow. 1 credit, a second or two, and it paginates.
A common pattern uses both: write the brief once in English, keep the filter set it produces, and run the structured search on a schedule from then on. That is what the translate endpoint is for.
Where to go next
Try it on the search you came here for
Stop building boolean strings. Just describe the person.
Type one sentence. I plan the search, read GitHub, public LinkedIn and Crunchbase records, and the open web as it is right now, and hand back a ranked list with the reason next to every name.
01Describe them
One plain sentence. Role, city, stack, stage, whatever matters to you.
02I read the web live
GitHub, public LinkedIn and Crunchbase records, the open web. Not a database that went stale last quarter.
03You read the shortlist
Ranked, with the reasoning under every name. Open a profile, ask a follow-up, narrow it down.
- Staff backend engineers in NYC who shipped Rust in production
- Series A fintechs in SF under 50 people, growing headcount this year
- Maintainers of fast-growing Rust web frameworks on GitHub
- No boolean, no filters, no seat to buy. One box.
- Read at search time, so a profile updated yesterday counts today.
- Every step visible as it runs, every name with its reason.
500 free credits on sign-up. No card, no demo call. See real searches.