You cannot reach a developer
on the open web anymore.
Every place you used to buy their attention is emptying out. They ask a model now and never open the tab.
This is the placement
That question has a Stack Overflow page with millions of views. Today it is answered without anyone opening a tab.
Live numbers
From the database, cached sixty seconds. Not a media kit.
Why the old channels stopped working
The reference web is emptying
Two decades of developer attention, answered now before anyone opens a tab. Those visits are not coming back.
Served is not seen
Below the fold, collapsed sidebar, behind the blocker this audience installs first. All of it counts as delivered.
A lot of it is not human
Printing an impression costs a network nothing. Everyone in the chain is paid by the number they report.
The attention did not disappear. It moved somewhere nobody is selling.
Why this one counts
It is text in a response
No script, no iframe, no third-party domain. Nothing for a blocker to match on.
Impressions cost us money
A block appears only after we bought real inference. Faking one means paying for it.
Read, not scrolled past
It ends an answer they asked for, in a window with nothing else competing.
Become a launch partner
Five brands fund the first month of inference. Your block runs all thirty days, rotating evenly with the other four.
- Partner 1 30 days, even rotation $1,250
- Partner 2 30 days, even rotation $1,250
- Partner 3 30 days, even rotation $1,250
- Partner 4 30 days, even rotation $1,250
- Partner 5 30 days, even rotation $1,250
Two lines of copy and a link, reviewed by hand. Delivery and reach reported weekly.
What the money buys. Every token we give away is inference we paid for. Five partners cover that bill — which is the only reason the API is free.
Or come for the free API
Three models, no credit card — paid for by the block above.
Settings → Models. Turn off every other provider, add a
custom model named deepseek-v4-flash, then open
OpenAI API Key and set:
Base URL https://api.infr.ad/v1
API Key sk-infr-...
Hit Verify, and pick the model in the chat pane. Cursor's agent sends tools, so ads only appear in ordinary chat.
Install Continue, then edit
~/.continue/config.yaml:
models:
- name: infr.ad
provider: openai
model: deepseek-v4-flash
apiBase: https://api.infr.ad/v1
apiKey: sk-infr-...
roles:
- chat
Keep it to the chat role — autocomplete fires on every
keystroke pause and these are not fill-in-the-middle models.
Install Continue from the plugin marketplace. Same config file, same shape:
models:
- name: infr.ad
provider: openai
model: deepseek-v4-flash
apiBase: https://api.infr.ad/v1
apiKey: sk-infr-...
roles:
- chat
Works in IntelliJ, PyCharm, GoLand and the rest of the family.
Open settings.json with
cmd-shift-p → zed: open settings:
{
"language_models": {
"openai": {
"api_url": "https://api.infr.ad/v1",
"available_models": [
{ "name": "deepseek-v4-flash", "max_tokens": 64000 }
]
}
}
}
Then paste the key when Zed asks for an OpenAI key.
Two variables and anything OpenAI-shaped works — the SDKs, aider,
llm, Open WebUI.
export OPENAI_BASE_URL=https://api.infr.ad/v1
export OPENAI_API_KEY=sk-infr-...
curl $OPENAI_BASE_URL/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4-flash",
"messages":[{"role":"user","content":"hello"}]}'
Agents never see a block. Tools, structured output, or a long system prompt make a request exempt — so aider and Cursor's agent behave exactly as they would anywhere else.