> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/polymarket/search>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/polymarket/search.mdx>

---

# Polymarket Search API

One query across events, tags and profiles, returned in separate arrays.

`GET /v1/polymarket/search` takes a required `query` and returns `data.events`, `data.tags`, `data.profiles`, `data.totalResults` and `data.page`. `types` chooses what to search: `events`, `tags` and `profiles`, comma separated. The default is `events,tags`; pass all three when you want profiles too.

`page` is 1 to 100 and `limitPerType` is 1 to 50, defaulting to 10 per type. Results use a numbered page rather than a cursor. Polymarket can stop a deep page early and report `hasMore: false`, so treat that flag as the end. The index is English: other scripts return nothing. No hits is a found answer with empty arrays.

## Request

- **Endpoint:** `GET /v1/polymarket/search`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by keyword
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/polymarket/search/get)
- **Platform page:** [/platforms/polymarket](https://www.socialfetch.dev/platforms/polymarket)

## FAQ

### Can I search for people?

Pass types=profiles or types=events,tags,profiles. Profile hits carry wallet, name, usernamePublic, pseudonym and image. A profile whose chosen name is hidden can still appear with usernamePublic false.

### Why did my non-English query return nothing?

The search index is English. Titles, tags and names are matched in English, so a query in another script returns an empty result. Use locale on the event routes to read translated titles once you have found an event.

### How do search pages work?

This route uses a page number, not an opaque cursor. Set page from 1 up to 100. A deep page can return fewer rows with hasMore false before you reach page 100; stop when hasMore is false. totalResults counts matching events across all pages; each type array holds one page of hits.

### What does lookupStatus mean on this route?

found means the object or list was returned. not_found means no matching object exists. HTTP 200 only means the request finished, so branch on data.lookupStatus before storing a row.

### How much does this route cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
