Profile API · paid plans

Your logged-in accounts, as endpoints.

You are already paying for the tools that matter. The problem is that half of them can only be reached by hand - a Google Flow seat, a seller console, a supplier portal. Profile API turns an account that lives inside a synced profile into an HTTP call, in the same session, fingerprint and proxy exit you use when you open it yourself.

Profile API is in internal testing. Leave an email below and we will tell you the day it opens.

Three ways a product ends up unreachable.

None of them are about you doing something you are not allowed to do. In all three you already hold the seat.

There is no API

The product shipped a web app and stopped. The vendor may add one eventually; your workflow is due this quarter. Everything reachable in the tab is unreachable from a script.

The API is a different product

The subscription you bought and the developer API are separate businesses with separate balances. Credits do not cross over, and the metered rate is frequently a multiple of what you already pay per unit as a subscriber.

The API exists but not for you

Access review, a partner agreement, a spend floor, a developer token, a quota that assumes you are an integrator rather than a customer. The console works today; the API is a quarter of paperwork away.

One profile. One action. One call.

Nothing new to log into and no credentials to hand over. The account is already signed in inside a profile you own - Profile API just gives that session a front door.

Sync the profile

Sign in to the site once, in the profile, the way you always would. Cookies, logins and passkeys live in the environment and sync with it.

Attach an action

An action is a named, versioned description of one task on that site, with typed inputs and a typed result. Ours to maintain, yours to call.

Call it from anywhere

HTTP, the SDK, or a tool your agent can pick up on its own. The browser runs where your profiles run; the result comes back as JSON.

shell action.ts
# the profile is already signed in. call it.
curl -X POST https://api.antibrow.com/v1/profiles/flow-main/actions/generate \
  -H "Authorization: Bearer $ANTIBROW_KEY" \
  -d '{ "prompt": "a lighthouse at dusk, 8s", "aspect": "16:9" }'

# -> { "status": "done", "assets": [ { "url": "..." } ] }
const ab = new AntiDetectBrowser({ key: "your-api-key" })

// the account inside the profile, called like a service
const out = await ab.action("flow-main", "generate", {
  prompt: "a lighthouse at dusk, 8s",
  aspect: "16:9",
})

// same profile, same fingerprint, same proxy exit as when you
// open it by hand in the desktop app.

The shape we are testing internally.

Two things to notice. The call names a profile, not a set of credentials - we never need the password, because the session is already there. And the result is typed JSON, not a screenshot or a page of HTML for you to parse.

Idempotent where the site allows it. An action that already ran returns its earlier result rather than spending your credits twice.
Long jobs are jobs. Anything that takes minutes returns a handle you poll, so a render queue does not become a held-open HTTP connection.
Failures say which layer broke. A login wall, a challenge page and a changed selector are three different errors, not one generic timeout.

What people ask us to point it at.

The pattern is always the same: a seat you pay for, a task you repeat, and no supported way to do it in code.

Generative media seats

Video, image and music tools whose subscription is the only way to get at the good model. Your seat, your credits, your queue - driven from a script instead of a tab.

Google FlowMidjourneySunoRunwayKlingLumaHiggsfieldLeonardoKreaFreepik

Assistant and research seats

The chat and research products you pay a monthly seat for, where the metered developer endpoint is a separate purchase - or does not exist for that surface at all.

NotebookLMGoogle AI StudioPerplexityGrokGeminiCopilot

Marketplace seller consoles

Listing edits, order exports, dispute queues, ad bids, buy-box monitoring. Where a seller API exists it usually covers a fraction of what the console does.

Amazon Seller CentralWalmart Seller CentereBayEtsyTikTok ShopShopeeLazadaMercado LibreAllegroAlibabaTemu

Advertising consoles

Pull spend, push budget and bid changes, export the report the API version does not expose. Access reviews, spend floors and developer tokens gate most of these.

Google AdsMeta Ads ManagerTikTok AdsAmazon AdsLinkedIn Campaign ManagerReddit AdsSnapchat Ads

Social and creator accounts

Posting, scheduling, inbox, and your own analytics. Platform APIs here are narrow, expensive, or reserved for approved partners.

LinkedInXInstagramTikTokYouTube StudioPinterestThreadsReddit

Recruiting and sourcing seats

Expensive per-seat products with a deliberately closed data model. Pulling your own saved searches out of your own seat should not require a vendor integration.

LinkedIn RecruiterIndeedZipRecruiterWorkdayGreenhouseLeverSmartRecruiters

Procurement and supplier portals

Invoices, purchase orders, statements, payment status, remittance advice. The long tail here is enormous and almost none of it will ever ship an API.

SAP AribaCoupaJaggaerTungstenTauliaSAP ConcurBasware

HR and payroll administration

Your own admin seat: headcount exports, pay runs, document retrieval, benefits enrolment. A whole brokerage industry exists precisely because these are portal-bound.

ADPPaychexGustoRipplingDeelWorkday

Insurance and claims

Eligibility checks, claim status, remittance downloads, broker and carrier portals - workflows that are still a person, a login and a form, in every market.

Carrier portalsClearinghouse portalsBroker back-officesClaims status queues

Government and compliance filings

Tax, customs, licensing, procurement, intellectual property. Deadline-driven, form-shaped, and usually reachable only through a portal built a decade ago.

Tax authority portalsCustoms filingCompany registriesTrademark and patent officesPublic tender portals

Logistics and carrier portals

Rates, bookings, tracking exceptions, proof of delivery, invoice reconciliation. Carrier APIs exist for the largest accounts and nobody else.

FedExUPSDHLMaerskLTL carrier portalsFreight forwarder extranets

Travel and hospitality extranets

Rates, availability, inventory and reviews, across the extranets a property or an agency has to keep in sync by hand.

Booking.com ExtranetExpedia Partner CentralAirbnbAgodaChannel manager back-offices

Analytics and research seats

Seat-licensed data products where the API is credit-metered separately from the subscription that already shows you the same numbers.

SemrushAhrefsSimilarwebSearch ConsoleApp Store ConnectGoogle Play Console

Internal legacy systems

The in-house app whose owning team left, or the vendor system whose API is a paid tier. A browser session is the integration surface that always exists.

In-house admin toolsVendor systems with a paid API tierIntranet workflowsOn-prem consoles

These are the names people bring us, not a scoreboard of who has an API. Several of them do publish one, and the reason it still comes up is usually cost, coverage or an access review rather than absence. A few have none at all today: Google Flow, Midjourney, Suno and the consumer NotebookLM are the ones asked about most often. Any of that can change on the vendor's schedule, not ours - the reason to point a profile at a site is that the console is the surface you actually have.

Why the profile is the unit.

Clicking a button is the easy part. Staying the same account, call after call, is the part that breaks - and it is exactly what a profile already solves.

The session is the asset

Cookies, tokens, saved logins and passkeys are stored in the environment and travel with it. Calls do not re-authenticate; they resume.

The identity does not drift

A profile's fingerprint is fixed at creation and applied in the engine. The device your account was last seen on is the device it is seen on when the API drives it.

The exit stays put

Timezone, locale and WebRTC follow the profile's proxy. An account that has always signed in from one city does not suddenly appear from a datacenter.

Accounts stay separate

Five seats mean five profiles, isolated from each other on disk and on the network. There is no shared cookie jar for one call to leak into another.

Hands and code share it

The same environment you open in the desktop app is the one the API drives. When something needs a human - a checkout, a one-time code - you open it and finish it.

You keep the credentials

Nothing here asks for your password or your recovery codes, and no third party stores them for you. You sign in; the session is what gets reused.

This is for accounts you hold, on terms you have read. Profile API drives your own seat on your own behalf. Some sites permit automated use, some restrict it, and a few will close an account over it - that judgement is yours to make per site before you point anything at it. We will not build actions that exist to get into somebody else's account.

Tell us what to build first.

Profile API is in internal testing. Which site or product it opens with depends on what this form says - leave an email and we will write to you when it is live.