Changelog

What's new at Apify?

New

API

Actor

Apify Store API search backend changes

On November 15, GET /v2/store in the Apify API moves to a new search backend. This includes calls through apify-client and the Apify MCP server.

Search ranks Actors by how well they match the query and returns one page of the closest matches. Responses also drop fields that added noise to agent context. Both changes can break existing integrations.

The path, the search parameter, and the { data: { items, total, count, offset, limit, desc } } response envelope stay the same.

When you pass a search query

Listing without search keeps paging and accurate totals. With search:

One page only, with a maximum of 100 items. limit is capped at 100 (it was 1,000), offset is ignored without an error, and there's no second page. Filter your results with category, username, or pricingModel instead of paging.

total and count change meaning. Both now equal the number of items returned, not the number of matches. A loop that fetches until offset >= total stops after one request.

New ranking. The order and the set of results differ from before. For authenticated calls, ranking is personalized to your account. Results are cached for 5 minutes.

All calls

sortBy is ignored. The API still accepts it without an error, but it has no effect. Search results come back by relevance, and listings without search come back in Apify Store order. Sort on your side if you need a specific order.

category values changed. category now takes comma-separated category IDs, case-insensitive, and an Actor must match all of them. Old keys such as SOCIAL_MEDIA still work, and an unknown value returns a 400 error. Categories are assigned automatically from a larger list, so the same category can return different Actors than before.

Item fields changed

{
- "actorReviewRating": 4.7,
- "actorReviewCount": 370,
- "bookmarkCount": 2298,
+ "isVerified": true,
+ "readmeSummary": "Extract data from TikTok videos…",
"stats": {
"totalUsers": 369123,
"actorReviewRating": 4.7,
"actorReviewCount": 370,
- "bookmarkCount": 2298,
- "totalBuilds": 3831,
- "publicActorRunStats30Days": { … }
}
}
  • Removed from the top level: bookmarkCount, actorReviewCount, and actorReviewRating
  • Removed from stats: bookmarkCount, publicActorRunStats30Days, totalBuilds, totalMetamorphs, and lastRunStartedAt
  • Ratings stay in stats.actorReviewRating and stats.actorReviewCount
  • Added: isVerified and readmeSummary
  • categories returns the new category IDs
  • currentPricingInfo contains only pricingModel, plus event prices for pay-per-event Actors
  • Missing title, description, and readmeSummary values are now empty strings ('')
  • pictureUrl, userPictureUrl, userFullName, notice, badge, isWhiteListedForAgenticPayments, stats.totalRuns, stats.totalUsers7Days, stats.totalUsers30Days, and stats.totalUsers90Days may be absent

Agent format. With responseFormat=agent, stats.bookmarkCount is removed. stats now contains totalUsers, actorReviewRating, and actorReviewCount.

Filter fixes. allowsAgenticUsers now filters results (it was ignored before). pricingModel and allowsAgenticUsers can lag behind recent pricing changes until the owner next edits the Actor. includeInputSchema=true still caps limit at 10.

Migration checklist

  1. Replace paging through search results with filters: category, username, or pricingModel. You get up to 100 items on one page.
  2. Expect total to equal the items returned when you use search, not all matches.
  3. Sort results on your side instead of with sortBy.
  4. Check your category values against the new category IDs.
  5. Read ratings from stats, and remove any use of bookmarkCount and the other removed fields.

See the GET /v2/store API reference for every parameter and field, or contact support with questions.

Marek Mouček

Product Manager


New

Build and debug Actors with new Apify MCP tools

Your AI agent can now build your Actors, read their build logs, and check their runs through the Apify MCP server. It can also list your Actors and read their source files.

Why it matters

You can build and debug Actors where you code, without switching to Apify Console.

How it works

  1. Select the tools: The new tools aren't in the default tool set. List them in your server URL along with the defaults, add the URL to your MCP client, and approve access when Apify asks you to sign in.
  2. Find the Actor: The agent lists your Actors and reads the source files of the one you're working on.
  3. Build and run: The agent builds the Actor, checks the build, and runs it.
  4. Debug: When a build or run fails, the agent reads the build or run log to find the cause.

For anything without its own tool, the agent can look up and read data through the Apify API with tools in the api category: apify-api-search, apify-api-details, and apify-api-read.

Get started

Set up your client in the MCP configurator .

Patrik Braborec

Product Manager


New

Console

Actor

Apify Store category tiles, including Generate leads, Track products & prices, and Brand monitoring, with Actor counts.

Actors are now grouped by use case, including Generate leads, Track products & prices, and Brand monitoring. Filter by industry, output type, target site, or Actor type, such as MCP server or open source. Apify assigns the categories. Publishers have nothing to update. Read how the categories work .

Less scrolling through thousands of Actors. Browse Store categories .

Marek Mouček

Product Manager


New

Console

Actor

actor-with-git-repo

When you create a new Actor in Apify Console or with the Apify CLI, you can now pick GitHub, GitLab, or Bitbucket, and Apify sets up the whole Git workflow for you.

Why it matters

  • Builds on your first push. The build pipeline is configured for you. You push a commit, and Apify builds the Actor.
  • Your own repository from day one. From the start, you get pull requests, reviews, CI, and everything else you already do with Git.
  • No manual wiring. The old flow meant creating the repository yourself, adding the template code, and pasting the Git URL into the Actor's Source tab. Private repositories also needed the SSH URL and a deployment key. All of that now happens automatically.
  • One flow in Apify Console and the Apify CLI. Whether you start in the browser or the terminal, you end up in the same place: code in your repo, builds running on push.

How it works

  • In Apify Console, click Develop new. The flow walks you through creating an Actor:

    • What do you want to build? A web scraper, an AI agent, an API and data pipeline, or browser automation.
    • Which language do you prefer? TypeScript, JavaScript, or Python.
    • Here's your best match. Templates matched to your answers, so you start from working code instead of browsing a template gallery.
    • Where do you want to host your code? This is the new part.
  • Pick Git and choose GitHub, GitLab, or Bitbucket. You authorize the provider through OAuth, select the account or organization the repository should live under, and Apify does the rest: creates the repository, pushes the Actor template code, and configures the build. The new repository is private. You can make it public later in your provider's settings.

  • The apify create command in the Apify CLI walks you through the same choices and gives the same result: a repository under your account with the template code pushed and builds configured.

  • If you don't want Git, Create without Git is still there: Clone locally or Host on Apify.

Learn more

The new feature is live for everyone, on every plan. Open actor.new , and see for yourself. Or get the latest version of the Apify CLI and run apify create in your terminal. Read more  about the new flow in the blog post.

Patrik Braborec

Product Manager


New

Console

Actor

Apify AI is live

Until now, finding the right Actor on Apify Store meant browsing, comparing, and filling out long input forms before you knew if it was the one you needed.

Apify AI fixes that. Ask in plain English from the search bar on Apify Store or in the Dashboard widget. It picks the right Actor, fills in the inputs, runs it, and returns the dataset for you.

Read more 

Marek Mouček

Product Manager


We're making the web more programmable.