/feed subscribe https://docs.orbitsearch.com/changelog/rss.xml in any
channel to receive new entries as they publish.
October 2026
Faces that look alike are listed as sources
Face Search
- Results are the picked face: each result is a person that pages of the picked face show.
- Lookalike faces: pages that show a face that looks alike stay in
discovered_sourceswithface_match.keptfalse, ready to list as other faces.
Every source a search finds, and the pages of the picked face
Sources as the search finds them
- A complete source list:
discovered_sourceslists every page a Candidate Discovery search has found, in the order the search first found each one, up to 200 pages. A page stays listed through later polls and after the search ends. - Sooner: pages from handle, email, and web lookups join the list while the search runs.
- Assigned pages stay listed: a page in a result’s
candidate_sourcesis also indiscovered_sources.
- Pages of the picked face:
face_match.keptsays whether the search counts a page as a page of the picked face. Pages withkeptfalse show another face that looks alike.
Find the people a photo could show
Face Search
- Faces in a photo:
POST /v3/faces/detectstores a photo privately and returns every face in it, each with itsbbox. - Known profiles first:
POST /v3/faces/index-searchreturns the Orbit profiles that already show the picked face, for free. - Search by face: send the picked face as
signals.face_sourceonPOST /v3/search. Orbit searches the web for the face and returns a list of possible people, best match first, up tocandidate_discovery_limit(default 10). - Confidence per person: each result’s
confidence,confidence_level, andconfidence_statusinclude how strongly the face matches that person. Source pages that show the face carryface_match. - Names help: a typed name or other signal ranks matching people higher. The face decides who is in the list.
- Pricing: 100 credits per face search, charged once Orbit searches the web for the face, plus the normal profile rate for each person returned. Detecting faces and searching the face index are free.
September 2026
Search results delivered by webhook
Search Webhooks
- Results arrive as they are built: start a search with
"webhooks": trueand each result reaches your endpoint as asearch.profile.updateddelivery every time it advances a generation step, carrying that person’s whole profile in the shape a profile read returns.search.completedcloses the search out once. - The same rows a poll returns: the
resultin a delivery is the rowGET /v3/search/{search_id}returns at that moment, so a handler written against the poll response reads a delivery unchanged. Deliveries are free and leave the search’s price alone. - Per search, on request: a search reaches the feed when your organization has an endpoint subscribed to the search event types and that search asked for them.
Face match scores on profile images
Face Match Scores
- See why an image is on a profile: every image in the
imagessection of a profile now carriesfaceMatchandfaceMatchScorewhen the face model compared it against the profile’s anchor face. The score is a cosine similarity from 0 to 1. - Set your own bar: Orbit sets
faceMatchtotrueabove0.3. With the score in hand you can hold photos to a stricter bar before you show them. - Both fields are reserved for images the face model compared, so an image Orbit kept on other evidence, such as a photo from an account the person owns, arrives with its
sourcesalone.
Section changes in watcher runs and webhooks
Section Change Notifications
- Changed sections are reported: when a watcher run changes a profile section — a new job, a new accomplishment, an updated net-worth range — the run’s
changesand theprofile.updateddelivery carry asection_updatedentry naming thesectionand itsitems_addedanditems_removed.updatedSectionson the delivery lists those sections besideevents_timeline. - Updates are reported where they appear: a job update that adds a job and a timeline event produces one
section_updatedchange and one event. New information — a recent or upcoming event, a changed section, a new source, or new social activity — is what triggers a delivery and the update premium.
Test webhook deliveries
Test Webhook Deliveries
- Trigger a delivery on demand:
POST /v3/webhooks/{webhook_id}/testsigns and posts one event to your endpoint right away, so you can build and verify your handler without waiting for a watcher run. - The body is your most recent event of that type when you have one and an example payload otherwise; the envelope carries
"test": trueand anevt_test_event ID. - Test deliveries are free, are attempted once with no retries, are kept out of your delivery history, and never count toward the failures that disable an endpoint. The route is rate limited more tightly than the rest of the API.
September 2026
Population searches
Population Searches
- Search a whole company or school:
POST /v3/search/populationsreturns everyone at a company or everyone who attended a school, at theprofile_depthyou choose. People are added to the results as the search finds them, and the snapshot’spopulationblock reports its status. - Priced before it starts:
POST /v3/search/populations/quotereturns one total in credits, and the search reserves that amount. - Query intent on the snapshot:
query_intentreports the organizations and schools a plain-English query names, and whether it names a person.
August 2026
Watchers and webhooks API
Watchers and Webhooks API
- Watch a profile from the API:
POST /v3/watchersrefreshes a profile on your schedule and appends what it finds; list, read, pause, retime and delete watchers, and read every run’s outcome and changes withGET /v3/watchers/{watcher_id}/runs. - Webhooks:
POST /v3/webhooksregisters an HTTPS endpoint that receives signedprofile.updateddeliveries when a run finds new information. - New scopes:
watchers:writeandwebhooks:write.
Directory watchers and verifiable timeline events
Directory Watchers and Verifiable Timeline Events
- Watch a whole directory: in the dashboard, a directory’s Watchers tab watches any or all of its people on one schedule, with a default schedule and default checks per directory.
- Updates feed: the same tab lists every dated event for every directory member, newest first, with the sources behind each one.
- Activity for members: people who can open a directory see an Activity view of those events beside search, with unread markers.
- Dates carry their precision: every
eventsTimelineitem now hasdatePrecision(day,month,year) anddateBasis(stated,published,inferred), anddateis served at that precision — a month is2026-08. - Sources on every event: each event’s
sourcesare the pages it comes from — up to three, with the supporting excerpt when the page has one. - Cleaner timelines: the timeline holds happenings and published content;
updateCountandlastUpdatedAtchange when an event gains new information or a new date.
Image evidence
Image Source Evidence
- Photos as evidence: section items can now cite the photo that supports them. The source carries the supporting image in
images, with the origin post aslink.
Per-item source evidence
Per-Section Source Evidence
- Item-level sources: every profile section item can now carry its own
sourcesarray: the exact sources that support that specific item, each with excerptchunksfrom the source text. - Personal life and worldview: these sections include per-item evidence for the first time.
Independent result limits
Independent Result Limits
- Per-lane limits: search result limits now apply independently per result lane, so one lane filling up no longer caps the others.
Precise search statuses
Precise Search Statuses
- Every status defined: each result status now has a precise definition, with per-phase completion fields and the exact moment it appears.
- Final means final:
candidate_discovery_completednow guarantees the result list is complete.
July 2026
Result stability guarantees
Result Stability Guarantees
- Append-only results: a result never disappears or moves backward while you poll.
- Alias IDs: candidate profiles expose alias IDs, so every ID you collect stays resolvable.
Interactive API playground
Interactive API Playground
- Try it in the docs: the reference pages gained an interactive playground and a downloadable OpenAPI spec.
- Full read contract: the profile read response now follows a complete, stable contract.
Live discovered sources
Live Discovered Sources
- Sources as they arrive: candidate discovery status responses show the sources Orbit is reading as it finds them, including sources that are still pending.
Plain-English queries
Plain-English Queries
- Just describe the person: Search accepts a plain-English
queryfield, and Orbit splits it into structured intent for you.
Search and Enrich APIs
Search and Enrich
- One surface, two jobs: the API is live: one Search API for finding people and one Enrich API for deepening known profiles.
- v2 retirement: earlier v2 endpoints are deprecated. We encourage you to migrate to the current endpoint contract by following our migration guide.
Progressive results
Progressive Results
- Render as it builds: deep searches return partial results while generation continues.
Search workflow endpoints
Search Workflows
- One managed flow: a workflow start endpoint plus a status endpoint run a full search end to end. These later merged into the Search API.
Regeneration contract
Regeneration Contract
- Explicit semantics: full regenerations rebuild from a clean slate, and partial runs continue from existing content.
Regeneration run shapes
Regeneration Run Shapes
- Full rebuilds: the
full_regenerationrun shape rebuilds a known profile end to end. - Candidate depth:
candidateChildRunShapecontrols how deeply candidate profiles generate during discovery.
Higher rate limits
Higher Rate Limits
- More headroom: rate limits increased across Search and profile reads.
June 2026
Faster partial profiles
Faster Partial Profiles
- Slim first, then backfill: the
partial_onlyrun shape delivers a slim profile fast and backfills the rest automatically.
Candidate discovery
Candidate Discovery
- Find groups of people: the
candidate_discoveryrun shape finds matching people from one description. - Per-second buckets: rate limits moved to per-second buckets with burst capacity.
Clear failure reporting
Structured Failures
- Structured failures: failed runs return a
failureobject with codes such asidentity_not_corroboratedand explicit retry guidance. - Richer results: search results include more metadata, including a short
bio.
Consolidated profile images
Consolidated Profile Images
- One images section: profile images merged into a single person-qualified
imagessection with roles and per-image sources.
One canonical profile ID
Canonical Profile IDs
- Single ID: responses consolidated on a canonical
payload.id, and aliases from older reads keep resolving to the same profile. - Regenerate by ID: a
profileIdinput regenerates a known profile.
Poll-only status contract
Poll-Only Status Contract
- Polling contract: profile generation moved to a
runShapeinput, arequestIdfor every run, and one status endpoint to poll. - Profile search: a dedicated endpoint queries within a single profile.
Durable profile aliases
Durable Profile Aliases
- IDs that last: when profiles merge, old IDs become aliases that keep resolving to the canonical profile.
More seed inputs
More Seed Inputs
- Seed with what you have: generation accepts
phoneNumber,urls, andusernamesseeds, plus a candidate discovery mode for finding groups of people.
Partial profiles
Partial Profiles
- Show something early: the
partialProfileflag and thepartial_profile_readystage surface a useful profile before the full run completes.
May 2026
Structured profile sections
Structured Profile Sections
- Structured items: profile sections moved to a structured
itemsformat. - Contribution sections: research papers, GitHub repositories, media, music, and books joined the profile.
Structured intent
Structured Intent
- Semantic clauses: deep searches accept structured intent with semantic clauses.
- One search endpoint: Smart Search consolidated onto a single endpoint.
Seeded searches
Seeded Searches
- Email and LinkedIn seeds: searches accept identity seeds for higher precision.
- Why it matched:
includeMatchReasonexplains every result.
Structured search DSL
Search DSL
- Field-level targeting: a structured intent DSL targets names, employers, schools, and locations instead of one free-text string.
Deep person search
Deep Person Search
- Seed a person, get a profile: the first deep-search endpoints launched: Orbit builds a full public profile from a seed.
Docs launch
Docs Launch
- Day one: the developer documentation went live with authentication, quickstart, and the first API references.
