I sell flight data through an API, and for a long time almost nobody could find it. So I ran an experiment: instead of one product page, I shipped a landing page for every specific thing people actually search for. Here's what that looked like and what I can honestly say it did.
The product returns live fares from a route and dates: airlines, departure and arrival times, stops, layovers, duration, even carbon emissions per flight, plus direct booking links. Useful, but "useful" doesn't rank. A flight search API competes for attention with Amadeus, Skyscanner, and a pile of GitHub libraries, and a lone product page was invisible in that crowd.
The keyword research is what changed my approach. Real search volume hides in specifics: people don't search for my product, they search "does google flights have an api" or "track NYC to London flight prices." Those are different pages.
Here's what I shipped for this single API. Around 24 task landing pages, each one a preconfigured run for a specific search: tracking NYC to London flight prices, using it inside Claude via MCP, and a 20-city programmatic series on the cheapest places to fly from each major US city. On top of that, four long-form articles on four platforms, each written for a different audience, and a rebuilt README with an FAQ pulled from questions people actually type into search engines.
None of this is glamorous. It's the content equivalent of sweeping the shop floor every night.
The honest version: 1,928 accounts have used the API so far, 322 of them in the past month, with a 99.6 percent success rate on runs. Those are real numbers pulled this week.
What I can't give you is a clean before-and-after, because I never set up attribution properly before starting. That's the embarrassing lesson inside the experiment: I can see usage, I can see which landing pages get traffic, but I can't draw a straight line from a specific page to a specific signup. If you try something like this, snapshot your baseline first.
Selling a data API taught me that distribution is a portfolio, not a page. Twenty small pages that each match one real search beat one beautiful page that matches nothing. And the keyword research has to come first, because my guesses about what people search for were mostly wrong; the phrase I would have bet on gets a fraction of the volume of questions I never thought to target.
The other lesson is humility about measurement. Content compounds slowly and attribution is murky, so decide up front what you'll count as success, or you'll end up like me, staring at a usage graph and telling yourself a story.
No official public one. Google shut down its QPX Express API in 2018 and never replaced it. Developers who need programmatic flight data use third-party APIs and scrapers that return the same information as structured JSON.
Google doesn't offer one at any price. Third-party options generally charge per search or per result; mine bills per page of results, and you can test it without paying.
You don't have to run a scraper yourself. A hosted tool takes a route and dates and returns the fares as JSON: airlines, times, stops, duration, and booking links. If you'd rather build it, there are open-source libraries, but you'll be maintaining proxies and parsers forever.
The API from this experiment is Google Flights API on Apify. The developer walkthrough with Python code is on Dev.to, and there's a piece on wiring it into AI agents over MCP on Medium.
The interesting opportunity isn't exposing Google Flights data through an API—it's becoming the fastest way developers solve specific flight-data problems without building and maintaining their own infrastructure. I'd keep validating whether customers adopt the API because of the data itself or because every entry point maps directly to a job they're already trying to get done. That's a much stronger position.