Refolk
DevelopersGetting started

Create 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. 1

    Open the API page

    /hire/api has the key panel, the reference, and a link to the playground.

  2. 2

    Name it

    Call it after the thing that will use it, so a list of keys reads like a list of jobs.

  3. 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.

POST/api/v1/search~10 reserved, reconciled down

Describe 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"}'
Run this in the playgroundRuns on your account. Reserves 10 credits and refunds what it does not use.

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.

  1. 01Describe them

    One plain sentence. Role, city, stack, stage, whatever matters to you.

  2. 02I read the web live

    GitHub, public LinkedIn and Crunchbase records, the open web. Not a database that went stale last quarter.

  3. 03You read the shortlist

    Ranked, with the reasoning under every name. Open a profile, ask a follow-up, narrow it down.

  • 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.