> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rocketpunch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Events API: Browse and Search Tech Networking Events

> GET /api/v1/events — Retrieve tech networking events, conferences, and meetups from Rocketpunch to embed in your apps and services.

The Events endpoint lets you retrieve tech networking events, conferences, lectures, and exclusive meetups listed on Rocketpunch. You can search by keyword and filter by language to surface events relevant to your users, then embed that data in calendars, notification services, community platforms, or event aggregators. Results are paginated and follow the same consistent structure as other Rocketpunch API endpoints.

## Endpoint

```
GET https://openapi.rocketpunch.com/api/v1/events
```

## Request Headers

| Header         | Required | Description                                                                                                                         |
| -------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `X-RP-API-Key` | Yes      | Your App Key, in the format `rp_app_xxxxxxxxxxxxxxxx`. Obtain this from the [developer portal](https://developers.rocketpunch.com). |

## Query Parameters

<ParamField query="keyword" type="string">
  A search term for filtering events. Matched against event titles, descriptions, and organizer names. For example, `AI`, `startup`, or `design`.
</ParamField>

<ParamField query="lang" type="string" default="ko">
  Language code for the response content. Common values are `ko` (Korean) and `en` (English). Rocketpunch supports 11 languages and returns a consistent schema across all of them.
</ParamField>

<ParamField query="page" type="integer" default="1">
  The page number to retrieve. Page numbering starts at `1`. Use together with `per_page` to paginate through large result sets.
</ParamField>

<ParamField query="per_page" type="integer">
  The number of events to return per page. Adjust this to control payload size and the number of requests required for a full data traversal.
</ParamField>

## Example Request

<CodeGroup>
  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://openapi.rocketpunch.com/api/v1/events?keyword=AI&lang=en",
    {
      method: "GET",
      headers: {
        "X-RP-API-Key": "rp_app_xxxxxxxxxxxxxxxx",
      },
    }
  );

  const data = await response.json();
  console.log(data.items);
  ```

  ```python Python theme={null}
  import requests

  url = "https://openapi.rocketpunch.com/api/v1/events"
  params = {
      "keyword": "AI",
      "lang": "en",
  }
  headers = {
      "X-RP-API-Key": "rp_app_xxxxxxxxxxxxxxxx",
  }

  response = requests.get(url, params=params, headers=headers)
  data = response.json()
  print(data["items"])
  ```

  ```bash cURL theme={null}
  curl -G "https://openapi.rocketpunch.com/api/v1/events" \
    --data-urlencode "keyword=AI" \
    --data-urlencode "lang=en" \
    -H "X-RP-API-Key: rp_app_xxxxxxxxxxxxxxxx"
  ```
</CodeGroup>

## Response

A successful request returns HTTP `200` with a JSON body containing a paginated list of event objects under the `items` key.

```json theme={null}
{
  "items": [
    {
      "id": "evt_07rq4n",
      "title": "Korea AI Summit 2025",
      "event_type": "conference",
      "start_date": "2025-03-15T09:00:00Z",
      "end_date": "2025-03-16T18:00:00Z",
      "location": "COEX, Seoul, South Korea",
      "organizer": {
        "name": "Korea AI Association",
        "handle": "korea-ai-association"
      }
    }
  ],
  "total": 148,
  "page": 1,
  "per_page": 20
}
```

<Note>
  The field values shown above are illustrative examples. Actual values depend on live event data at query time. Fields such as `end_date` or `location` may be `null` for events where that information has not been provided by the organizer.
</Note>

### Response Fields

<ResponseField name="items" type="array" required>
  An array of event objects matching your query. Returns an empty array if no events match the given keyword.

  <Expandable title="Event object fields">
    <ResponseField name="items[].id" type="string">
      The unique identifier for the event on Rocketpunch.
    </ResponseField>

    <ResponseField name="items[].title" type="string">
      The full display title of the event as listed by the organizer.
    </ResponseField>

    <ResponseField name="items[].event_type" type="string">
      A category describing the nature of the event. Typical values include:

      * `conference` — Large-scale multi-session events
      * `networking` — Casual or structured networking meetups
      * `lecture` — Educational talks or seminars
      * `exclusive` — Invite-only or limited-access events
    </ResponseField>

    <ResponseField name="items[].start_date" type="string">
      An ISO 8601 timestamp for when the event begins.
    </ResponseField>

    <ResponseField name="items[].end_date" type="string">
      An ISO 8601 timestamp for when the event ends. May be `null` for single-session or open-ended events.
    </ResponseField>

    <ResponseField name="items[].location" type="string">
      A human-readable description of the event venue or location. May indicate an online format where applicable.
    </ResponseField>

    <ResponseField name="items[].organizer" type="object">
      A summary of the entity organizing the event.

      <Expandable title="Organizer fields">
        <ResponseField name="items[].organizer.name" type="string">
          The display name of the organizing company or individual.
        </ResponseField>

        <ResponseField name="items[].organizer.handle" type="string">
          The Rocketpunch handle of the organizer. Use this with the [Companies API](/api/reference/companies) to retrieve full organizer profile details.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="total" type="integer" required>
  The total number of events matching your query across all pages.
</ResponseField>

<ResponseField name="page" type="integer" required>
  The current page number reflected in this response.
</ResponseField>

<ResponseField name="per_page" type="integer" required>
  The number of results per page reflected in this response.
</ResponseField>

## Error Responses

| HTTP Status                 | Meaning                                                                   |
| --------------------------- | ------------------------------------------------------------------------- |
| `401 Unauthorized`          | Your `X-RP-API-Key` is missing or invalid.                                |
| `429 Too Many Requests`     | You have exceeded your plan's rate limit.                                 |
| `500 Internal Server Error` | An unexpected server-side error occurred. Retry with exponential backoff. |

<Tip>
  Use the Events endpoint to build event aggregators or send your users timely notifications about upcoming tech events in Korea. Poll the endpoint periodically with a relevant `keyword` and compare `start_date` values against the current date to surface only upcoming events in your UI.
</Tip>
